Buscar un sólo registro y mostrarlo en una tabla html

Apenas estoy empezando a caminar en php y SQLITE y toda la información la encuentro en mysql, "y no hablan de caminar, sino de correr". Por esta razón estoy perdido.
La pregunta es la siguiente:
Tengo una base de datos (en pruebas) en SQLITE con dos campos: ID y nombre. He creado un formulario html y un archivo php que ingresa los datos en la db. También tengo un script para mostrar Todos los datos en forma: Id--> 1 Nombre--> Carlos.
Yo lo que necesito es crear un formulario que busque y muestre los datos en una tabla, tipo html. Es decir, quiero, por ejemplo buscar el id--> 45 y que en una tabla aparezca el id y el nombre que pertenece a ese id.
He probado con SELECT * FROM Y LIMIT, pero no sé como hacerlo. El código para buscar es el siguiente:
buscar.php
<?php
$db = sqlite_open("nombre.bd");
$result = sqlite_query($db, "select id='$_request[A_1]' from tabla_prueba LIMIT 1");
while ($row = sqlite_fetch_array($result)) {
echo "ID --> ".$row["id"]." Nombre --> ". $row["nombre"]."<br>";
}
?>
El código no me da error, pero no me aparecen datos en la consulta.
También me gustaría saber, cómo hacer que me aparecieran los datos en una tabla tipo html, es decir:
<table>
<td></td>
</table>

2 Respuestas

Respuesta
1
En SQLite no puedes usar la misma "flexible" sintaxis que MySQL, es más a lo PostgreSQL (más rígida, más dura) entonces lo sentencia que tal vez necesites es :
SELECT * FROM 'tabla_prueba' WHERE 'tabla_prueba'.'id' = '$_request[A_1]'
Ahora veras que si te aparecerán datos, ya que estas usando SQLite, yo y la empresa donde trabajo, cabe mencionar que recientemente hemos abierto una sección que se llama DGS que es un área donde se trabaja software libre y Freeware. Tenemos una reciente herramienta llamada ExEngine que es un framework para PHP, si deseas te puedo dar más info.
Hola
Antes de nada, gracias por contestar.
Pero sigue sin funcionar. No sé si es por que lo estoy escribiendo mal, pero ahora no me aparece nada en pantalla ni siquiera el nombre del campo: "Id-->", te paso el código completo del archivo buscar.php y el del formulario, para ver qué hay mal:
Buscar.html (es el formulario de consulta)
Formulario de consulta:
buscar.html :
.. <form method="post" action="buscar.php">
Buscar: <input name="A_1" type="text">
<td align="center"><input value="Enviar" type="submit"></td>
<td align="center"><input value="Borrar" type="reset"></td>
</form>...
rchivo:  buscar.php:
<?
$db = sqlite_open("nombre.bd") or die ("Imposible abrir la base de datos");
$result = sqlite_query($db, "SELECT * FROM 'tabla_prueba' WHERE 'tabla_prueba'.'id' = '$_request[A_1]' ");
while ($row = sqlite_fetch_array($result)) {
print "ID --> ".$row["id"]." Nombre --> ". $row["nombre"]."
";
}
sqlite_close($db);
?>
Comento que hay datos en la db y cuando hago una consulta de todos los registros, me aparecen los datos en pantalla correctamente.
Gracias
Aver si este query si funciona :
"SELECT * FROM 'tabla_prueba' WHERE 'tabla_prueba'.'id' = '".$_POST['A_1']'"
Recuerda que el ID que mandas con el formulario anterior debe ser exacto ya que el "=" lo requiere.
Si el problema persiste te recomiendo mandarme esos archivos por email para que te ayude.
Hola
Este último que me has puesto, me da error de sintaxis y si lo arreglo no me funciona.
No tengo tu mail para enviarte los archivos, pero el form y el código php son los que he puesto en la ocasión anterior, es decir, no hay más. Estos archivos los quiero utilizar con include en alguna página que necesite... no sé si me explico.
  Creo que no funciona por alguna tontería, que no soy capaz de ver... y que por más que intento... nada. De nada.
También aquello que me comentaste del ExEngine estaría bien tener algo de información.
Espero que no te esté molestanto demasiado y gracias de nuevo.
He ido probando y al final he podido encontrar la solución entre lo que me habías dicho y en otros foros que también pregunté.
Gracias.
Respuesta

Esto nunca funcionararia:

"SELECT * FROM 'tabla_prueba' WHERE 'tabla_prueba'.'id' = '".$_POST['A_1']'"

Ya que estas buscando el valor recibido desde el formulario en el campo nombre, en el campo id de la base de datos.

Deberia ser asi:

"SELECT * FROM 'tabla_prueba' WHERE 'tabla_prueba'.'nombre' = '".$_POST['A_1']'"

Lo que recibis del formulario, en este caso un nombre, lo buscas en la bdd en la tabla de nombres.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas