Hola, colegas, a ver si me pueden dar una mano.
Soy un muy novato estudiante de php con mysql y apenas me encuentro haciendo mis primeros scripts, basándome en lo que leo en algunos tutoriales.
Estoy probando un buscador que busca elnombre (o fragmento de él) del típico ejemplo de libro de la base de datos "agenda".
Paso el valor de la variable de búsqueda (ingresada desde una caja de texto, y enviada por método post a un script de php, en el que, lo primero que hago es verificar que el valor exista, a través de isset:
el formulario html:
<form action="http://localhost/buscador.php" method="POST">
<input type="text" class="form" name="buscar"/>
<input type="submit" value="buscar" class="form"/>
y el script php:
<?php
if (!isset($buscar)) {
echo "Debe especificar una palabra clave";
echo "</body> \n </html>";
exit;
}
include_once ("configprueba.php");
$link = mysql_connect($host,$user,$pwd) or die ("No se puede conectar la base de datos.");
mysql_select_db("prueba",$link) or die ("No se puede selecciobar la base de datos.");
$result = mysql_query("SELECT * FROM agenda WHERE nombre LIKE '%$buscar%' ORDER BY idagenda", $link) or die ("Consulta fallada.");
if ($row = mysql_fetch_array($result)){
echo "<table class = 'contenedor'> \n";
echo "<tr> \n";
$i = 0;
while ($i < mysql_num_fields($result)) {
$meta = mysql_fetch_field($result,$i);
echo "<td>$meta->name</td> \n";
$i++;
}
echo "</tr> \n";
do {
echo "<tr> \n";
echo "<td>".$row["idagenda"]."</td> \n";
echo "<td>".$row["nombre"]."</td> \n";
echo "<td>".$row["direccion"]."</td> \n";
echo "<td>".$row["telefono"]."</td> \n";
echo "<td><a href='mailto:".$row["email"]."'>".$row["email"]."</a></td> \n";
echo "</tr> \n";
} while ($row = mysql_fetch_array($result));
echo "</table> \n";
} else {
echo "¡ No se ha encontrado ningún registro !";
}
El punto es que cuando dejo en blanco el campo de texto y presiono el boton submit me muestra todos los registros dela base de datos, en lugar de imprimir la cadena correspondiente y finalizar el script.
Alguna idea de qué puede estar mal por favor?
Gracias!