Necesito algún ejemplo de sqlite_next,

Hola
Tengo una pequeña base de datos en sqlite con una consulta que me busca un registro determinado (por ejemplo el id=2) y me lo muestra en un formulario para poder modificarlo.
Me gustaría tener un botón que me mostrara el siguiente registro (sería el id=3.
He mirado en nuestro amigo google y no encuentro nada y en los manuales de php no me aclaro.
Necesitaría algún ejemplo de cómo se utiliza sqlite_next, para poder hacerlo.
El código que busca y muestra los datos es el siguiente:
<?php
$db = sqlite_open('grupos.bd');
$res="{$_REQUEST['id']}";
$consulta = sqlite_query($db, "UPDATE clasica SET id='{$_REQUEST['id']}',artista='{$_REQUEST['artista']}' WHERE id='$res'");
if (!$consulta) {
exit('Error en la consulta.');
} else {
echo 'Numero de filas modificadas: ', sqlite_changes($db);
}
?>
¿Cómo puedo añadir la opción de siguiente?
Muchas gracias.

1 Respuesta

Respuesta
1
En primer lugar te aconsejaría el uso de sqlite3 con PDO, y por supuesto, tratar los errores al conectar, con un simple try catch te valdría.
En cuanto a lo de añadir la opción de siguiente, que al fin y al cabo es tu pregunta, tienes que tener en cuenta que php es server-side, es decir, al cliente le llega una web ya realizada, no como con java que puede interactuar un poquito más. EN siguiente yo te propondría, como método más sencillo aunque no más eficaz, que llamaras a la misma página con la variable id (tu la coges por request, yo prefiero usar POST o GET, pero bueno, eso es cuestión de gustos...) cuyo valor fuera el que ya tienes más uno.
Algo así como
$nuevaid = $id+1;
//Ahora llama a la pagina con esa nueva id, por ejemplo
echo '<a href="paginatuya.php?id='.$nuevaid.' ">Siguiente</a>';
O un botón, o como prefieras.
La opción bonita sería utilizar AJAX para hacer una llamada asíncrona que te devolviera los datos que tu solicitas, atacando a un archivo php que realiza la consulta. Pero esto ya es otro cantar.
Espero que te sirva de ayuda. Si no vuelve a preguntar.
Hola
Gracias por tu interés.
He probado lo que me has dicho, y no sé si es que lo pongo mal o qué, pero no me funciona, no encuentra el siguiente, aunque sí sale en la barra de dirección, es decir, sale esto: http:www.myhost.com/basilisa/modificar5.php?id=7.
El código que he puesto es:
<?php
if (! $nuevaid){
$nuevaid =$_REQUEST['id'] + 1;
}
$db = sqlite_open("grupos.bd");
$result= sqlite_query("SELECT * FROM 'clasica' WHERE 'clasica'.'id' = '{$_REQUEST['id']}' ", $db) or
die("Problemas en el seleccionar:".sqlite_error());
{
if( $row = sqlite_fetch_array ( $result ))
 {
echo "
<table cellpadding=10 border=1>
" ;
echo "
<tr>
" ;
echo "
<td>" .$row["id"]. "</td>
" ;
echo "
<td>". $row["artista"]."</td>
" ;
echo "
</tr>
" ;
echo "
</table>
" ;
echo '<a href="modificar5.php?id='.$nuevaid.' ">Siguiente</a>';
}
else
{
echo "No existe un nombre con ese id.";
}
}
sqlite_close($db);
?>
Supongo que debe repetir el query+ 1, pero no lo hace.
¿Tienes alguna observación?
Gracias.
Dime cual es el problema, pero así antes de saber qué es lo que no te sale, yo te diría que el if del principio lo veo raro.
Es la 1 de la mañana, así que mañana te lo miraré haciendo el ejemplo que me pones, pero mientras prueba a ver que vale el $_REQUEST['id'] y el $nuevaid, a ver si te da los valores que debería, así como otro echo de la consulta, y así verás si la hace correctamente, es decir, con el valor que te interesa, ¿ok?
Por probar (ya te digo que mañana lo miro, que es hora de dormir ), cambia el $_REQUEST por $_GET['id']. Ya te digo que no suelo usar request.
Bueno dime que te sale y el error inicial, ¿ok? Y en la respuesta te digo que me sale a mi cuando lo haga
Problema resuelto!
Gracias por tus consejos y aclaraciones.
He cambiado a $_GET y me ha funcionado correctamente. No creía que puedera ser tan importante, pero por lo visto lo es.
Muchas Gracias!

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas