lo que quiero hacer es insertar un dato en una tabla que yo eh hecho llamado jos_documentos
en caso de que ya se haya registrado un registro solo quiero actualizar ese registro de acuerdo al id y en caso contrario que se inserte el nuevo registro con el id que extraigo de la variable de sesion.-
que hago mal en el siguiente codigo.- lo eh puesto en Enviar piezaz de mi formulario breezingforms
$this->execPieceByName('ff_InitLib');
$user = JFactory::getUser();
$id=$user->get('id');
$si=X;
$checa=ff_query("SELECT * FROM jos_documentos WHERE id =$id ");
if(mysql_num_rows($checa)>0) //Cual es el equivalente de esta instruccion en Joomla, tal ves ese es el error
{
//intento Actualizar el campo solicitud y rellenarlo con un 'X'
ff_query("UPDATE serviciosocial.rojilo_documentos SET solicitud =$si WHERE rojilo_documentos.id =$id LIMIT 1");
}
if(mysql_num_rows($checa)==0) //en caso de que no exista ese registro insertarlo
{
ff_query("INSERT INTO serviciosocial.rojilo_documentos(id, solicitud) VALUES ($id, $si)");
}
me arroja el siguiente error
DB function failed with error number 1054
Unknown column 'X' in 'field list' SQL=INSERT INTO serviciosocial.rojilo_documentos(id, solicitud) VALUES (65, X)
gracias por su ayuda
Hola,
Solicitud parece que es un campo alfanumérico y deberías añadir comilla simple en el values.
Si Lucas gracias pero no cosigo evaluar si existe ya un registro, lo que quiero es que en caso de que ya existiera un registro solo lo quiero actualizar
$checa=ff_query("SELECT * FROM jos_documentos WHERE id =$id");//Hago una consulta con el ID de usuarios
if(mysql_num_rows($checa)>0)//esta es una instruccion para php pero no consigo el equivalente a joomla
{
ff_query("UPDATE serviciosocial.jos_documentos SET solicitud =$si WHERE jos_documentos.id =$id LIMIT 1");
}
if(mysql_num_rows($checa)==0)
{
ff_query("INSERT INTO serviciosocial.jos_documentos(id, solicitud) VALUES ($id, '$si')");
}
Hola,
Lo correcto es que usaras el core de Joomla para generar las consultas sobre la base de datos. Te recomiendo que consultes documentación de Joomla sobre las consultas a las bases de datos.
Para el código que pones tendrías que tener algo como lo siguiente:
$db =& JFactory::getDBO(); $db->setQuery("SELECT * FROM jos_documentos WHERE id =$id"); $total = $db->loadResult(); if ($total>0){ $db->setQuery("UPDATE serviciosocial.jos_documentos SET solicitud =$si WHERE jos_documentos.id =$id LIMIT 1"); } if ($total==0){ $db->setQuery("INSERT INTO serviciosocial.jos_documentos(id, solicitud) VALUES ($id, '$si')"); }
Hola Pablo
gracias lo revisaré, te agradezco mucho la respuesta