No se ha encontrado ningún registro

Iniciado por pacorico69, 21 Abril 2010, 06:03 AM

0 Miembros y 1 Visitante están viendo este tema.

pacorico69

Hola a todos.
He podido avanzar en mis pruebas, pude eliminar los errores aparentes, pero se atoró en la ejecución, pondré primero el HTML, después el código PHP y al final la pantalla de ejecución.

Código HTML:
<html>
<body>
<form method = "POST" action = "http://127.0.01/10_BUSCADOR_TABLA_AGENDA_AGENTE.php">
<strong>Palabra clave:</strong>
<input type="text" name="buscar" size="20"><br><br>
<input type="submit" value="Buscar">
</form>
</body>
</html>

Código PHP:<body>
<?php
if (isset($_POST[buscar]) && $_POST[buscar]!="") {
    echo "Hola $_POST[buscar]";}
  else {
if (isset($_POST[buscar])) {
echo "Regresar para Rellena los campos";
}
}
$db = mysql_connect('localhost', 'root', '') or die("No se puede establecer la conexión con la base de datos");
mysql_select_db("agenda", $db);
$sql = "SELECT * FROM gente WHERE nombre LIKE '$buscar' ORDER BY nombre";
$result = mysql_query($sql, $db);

if ($row = mysql_fetch_array($result)){
    echo "<table border = '1'>";
    //Mostramos los nombres de las tablas
    echo "<table style='border: 4px red dotted; border=1'>";
    mysql_field_seek($result,0);
    while ($field = mysql_fetch_field($result)){
        echo "<td><b>$field->name</b></td>";
    }
   echo "</tr>";
    do {
        echo "<tr>";
        echo "<td>".$row['id']."</td>";
        echo "<td>".$row['nombre']."</td>";
        echo "<td>".$row['direccion']."</td>";
        echo "<td>".$row['telefono']."</td>";
        echo "<td><a href='mailto:".$row['email']."'>".$row['email']."</a></td>";
        echo "</tr>";
   } while( $row = mysql_fetch_array($result) );
    echo "<p><a href='buscador_bd.htm'>Volver</p>";
    echo "</table>";
} else {
    echo "<p>¡No se ha encontrado ningún registro!</p>";
    echo "<p><a href=buscador_bd.htm>Volver</p>";
}
?>
</body>
</html>

Vista de la BD:
      nombre  direccion        telefono     email 
      paquito  chihuahua 20 26084486 fraguilera@hotmail.com
      letty      chihuahua 20 26084486 lettylcoss@hotmail.com

Pantalla de ejecución:

Hola paquito
¡No se ha encontrado ningún registro!

Volver

raul338

usa mysql_num_rows para saber si devuelve algo o no la consulta :xD

Código (php) [Seleccionar]

if (mysql_num_rows($res) > 0) {
   // historia conocida
} else {
    echo "<p>¡No se ha encontrado ningún registro!</p>";
    echo "<p><a href=buscador_bd.htm>Volver</p>";
}


Acostumbra a usar las etiquetas code!!!

pacorico69

Gracias, voy ha probarlo y me comunico con contigo.

pacorico69

Hola.
Intente hacer lo indicado pero envia mensaje de error: 
Parse error: syntax error, unexpected $end in .....

Gracias por la ayuda.

raul338

eso es porque tienes un error de sintaxis, te falta una ";" o un cierre de llave "}".... y si no especificas nada.... no podemos ayudarte (es como decir "tengo un error en mi proyecto, me dices la solucion?" y ni se que error es :¬¬)

pacorico69

¡¡ Upss, perdon, lo omití !!!

Envío código PHP:
<html>
<body>
<?php
if (isset($_POST[buscar]) && $_POST[buscar]!="") {
    echo "Hola $_POST[buscar]";}
  else {
if (isset($_POST[buscar])) {
echo "Regresar para Rellena los campos";
}
}
$db = mysql_connect('localhost', 'root', '') or die("No se puede establecer la conexión con la base de datos");
mysql_select_db("agenda", $db);
$sql = "SELECT * FROM gente WHERE nombre LIKE '$buscar' ORDER BY nombre";
$result = mysql_query($sql, $db);

if ($row = mysql_fetch_array($result)){
    echo "<table border = '1'>";
    //Mostramos los nombres de las tablas
    echo "<table style='border: 4px red dotted; border=1'>";
    mysql_field_seek($result,0);
    while ($field = mysql_fetch_field($result)){
        echo "<td><b>$field->name</b></td>";
    }
   echo "</tr>";
    do {
        echo "<tr>";
        echo "<td>".$row['id']."</td>";
        echo "<td>".$row['nombre']."</td>";
        echo "<td>".$row['direccion']."</td>";
        echo "<td>".$row['telefono']."</td>";
        echo "<td><a href='mailto:".$row['email']."'>".$row['email']."</a></td>";
        echo "</tr>";
   } while( $row = mysql_fetch_array($result) );
    echo "<p><a href='buscador_bd.htm'>Volver</p>";
    echo "</table>";
    if (mysql_num_rows($result) > 0) { // Lo sugerido.
} else {
    echo "<p>¡No se ha encontrado ningún registro!</p>";
    echo "<p><a href=buscador_bd.htm>Volver</p>";
}
?>
</body>
</html>

pacorico69

Hola, ya envíe el código que por omití, gracias.

raul338

xDDDD pero ahi no va jaja, me causo gracia tu codigo (sin ofender, ovbio) usa el mysql_num_rows en lugar del primer mysql_fetch_array

Código (php) [Seleccionar]

if (isset($_POST[buscar]) && $_POST[buscar]!="") {
    echo "Hola $_POST[buscar]";}
  else {
if (isset($_POST[buscar])) {
echo "Regresar para Rellena los campos";
}
}
$db = mysql_connect('localhost', 'root', '') or die("No se puede establecer la conexión con la base de datos");
mysql_select_db("agenda", $db);
$sql = "SELECT * FROM gente WHERE nombre LIKE '$buscar' ORDER BY nombre";
$result = mysql_query($sql, $db);

if (mysql_num_rows($result) > 0) { // Lo sugerido.
    echo "<table border = '1'>";
    //Mostramos los nombres de las tablas
    echo "<table style='border: 4px red dotted; border=1'>";
    mysql_field_seek($result,0);
    while ($field = mysql_fetch_field($result)){
        echo "<td><b>$field->name</b></td>";
    }
   echo "</tr>";
    do {
        echo "<tr>";
        echo "<td>".$row['id']."</td>";
        echo "<td>".$row['nombre']."</td>";
        echo "<td>".$row['direccion']."</td>";
        echo "<td>".$row['telefono']."</td>";
        echo "<td><a href='mailto:".$row['email']."'>".$row['email']."</a></td>";
        echo "</tr>";
   } while( $row = mysql_fetch_array($result) );
    echo "<p><a href='buscador_bd.htm'>Volver</p>";
    echo "</table>";
} else {
    echo "<p>¡No se ha encontrado ningún registro!</p>";
    echo "<p><a href=buscador_bd.htm>Volver</p>";
}


Ahi deberia funcionar, y tiene mas "logica" ya que en tu anterior codigo abrias el if y nunca lo cerraste

pacorico69

Hola.
Pues Ja,Ja,Ja; resulta que no funcionó y mira que valide cada posición de la recomendación.

html>
<body>
<?php
if (isset($_POST[buscar]) && $_POST[buscar]!="") {
    echo "Hola $_POST[buscar]";}
  else {
if (isset($_POST[buscar])) {
echo "Regresar para Rellenar los campos";
}
}
// function mysql_now() {    $fecha = fecha("Y-m-d H:i:s");    return $fecha;}
$db = mysql_connect('localhost', 'root', '') or die("No se puede establecer la conexión con la base de datos");
mysql_select_db("agenda", $db);
$sql = "SELECT * FROM gente WHERE nombre LIKE '$buscar' ORDER BY nombre";
$result = mysql_query($sql, $db);

if (mysql_num_rows($result)> 0){  // LO SUGERIDO POR RAUL338
    echo "<table border = '1'>";
    //Mostramos los nombres de las tablas
    echo "<table style='border: 4px red dotted; border=1'>";
    mysql_field_seek($result,0);
    while ($field = mysql_fetch_field($result)){
        echo "<td><b>$field->name</b></td>";
    }
   echo "</tr>";
    do {
        echo "<tr>";
        echo "<td>".$row['id']."</td>";
        echo "<td>".$row['nombre']."</td>";
        echo "<td>".$row['direccion']."</td>";
        echo "<td>".$row['telefono']."</td>";
        echo "<td><a href='mailto:".$row['email']."'>".$row['email']."</a></td>";
        echo "</tr>";
   } while( $row = mysql_fetch_array($result) );
    echo "<p><a href='buscador_bd.htm'>Volver</p>";
    echo "</table>";
  } else {
    echo "<p>¡No se ha encontrado ningún registro!</p>";
    echo "<p><a href='buscador_bd.htm'>Volver</p>";
}
?>
</body>
</html>