El problema
Hola, estoy creando una función de búsqueda que permitirá a los usuarios buscar un número E específico y ver si se deriva de animales o no, básicamente para ver si es vegano. Me conecté con éxito a la base de datos usando PHP en mi sitio web.
El código
En la parte superior de la página:
<?php // Connecting, selecting database $dbconn = pg_connect("host=***** port=***** dbname=**** user=**** password=*****") or die('Could not connect: ' . pg_last_error()); //collect if(isset($_POST['search'])) { $searchq = $_POST['search']; // Performing SQL query $query = 'SELECT vegan FROM enumbers WHERE code = searchq'; } ?>La barra de búsqueda:
<div id="tablebox"> <!-- Search bar --> <p>Is It Vegan?</p> <form name="form1" method="post" action="searchEnumbers.php"> <input name="search" type="text" size="30" maxlength="5" /> <input name="submit" type="submit" value="Search" /> </form> </div>¿Cómo mostraré ahora el resultado 'vegano' que se ha buscado? No estoy seguro de cómo imprimir los resultados.
Actualizar
Los nombres de las columnas en la tabla enumbers son: 'código', 'nombre', 'tipo' y 'vegano'.
<?php // Connecting, selecting database $dbconn = pg_connect("host=db.dcs.aber.ac.uk port=5432 dbname=cs399030_16_17 user=sec17 password=Liverpool2112") or die('Could not connect: ' . pg_last_error()); //collect if(isset($_POST['search'])) { $searchq = $_POST['search']; // Performing SQL query $pg_query = 'SELECT vegan FROM enumbers WHERE code = '.$searchq; $result = pg_query($query); foreach($result as $r){ //If you have multiple records or $result echo "<p> Your ".$r->params." or ".$r['params']." here </p>"; //for instance } } ?>Deberías tener algo como:
<?php // Connecting, selecting database $dbconn = pg_connect("host=**** port=**** dbname=**** user=**** password=****") or die('Could not connect: ' . pg_last_error()); //collect if(isset($_POST['search'])) { $searchq = $_POST['search']; // Performing SQL query $query = 'SELECT vegan FROM enumbers WHERE code = '.$searchq; // make the query with: pg_query // $result = pg_query($query); foreach($result as $r){ //If you have multiple records or $result echo "<p> Your ".$r->params." or ".$r['params']." here </p>"; //for instance } //you could use: var_dump(pg_fetch_all($result)); } ?> <!-- If you want to show always the form. If not, put inside the else --> <div id="tablebox"> <!-- Search bar --> <p>Is It Vegan?</p> <form name="form1" method="post" action="searchEnumbers.php"> <input name="search" type="text" size="30" maxlength="5" /> <input name="submit" type="submit" value="Search" /> </form> </div> Tenga en cuenta que esta not the best manera de hacerlo (puede usar AJAX y diferentes páginas para actualizar la página ahora), u otras formas. Pero esto podría funcionar de la manera que quieras.
Consulte la documentación oficial de PHP: http://php.net/manual/kr/function.pg-connect.php
¡Espero eso ayude!