Foro de elhacker.net

Programación => PHP => Mensaje iniciado por: pacorico69 en 21 Abril 2010, 06:03 am



Título: No se ha encontrado ningún registro
Publicado por: pacorico69 en 21 Abril 2010, 06:03 am
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


Título: Re: No se ha encontrado ningún registro
Publicado por: raul338 en 21 Abril 2010, 06:24 am
usa mysql_num_rows para saber si devuelve algo o no la consulta :xD

Código
  1. if (mysql_num_rows($res) > 0) {
  2.   // historia conocida
  3. } else {
  4.    echo "<p>¡No se ha encontrado ningún registro!</p>";
  5.    echo "<p><a href=buscador_bd.htm>Volver</p>";
  6. }
  7.  

Acostumbra a usar las etiquetas code!!!


Título: Re: No se ha encontrado ningún registro
Publicado por: pacorico69 en 21 Abril 2010, 06:28 am
Gracias, voy ha probarlo y me comunico con contigo.


Título: Re: No se ha encontrado ningún registro
Publicado por: pacorico69 en 21 Abril 2010, 18:01 pm
Hola.
Intente hacer lo indicado pero envia mensaje de error: 
Parse error: syntax error, unexpected $end in .....

Gracias por la ayuda.


Título: Re: No se ha encontrado ningún registro
Publicado por: raul338 en 21 Abril 2010, 18:17 pm
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 :¬¬)


Título: Re: No se ha encontrado ningún registro
Publicado por: pacorico69 en 21 Abril 2010, 18:44 pm
¡¡ 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>


Título: ¡¡ ERROR !! : No se ha encontrado ningún registro
Publicado por: pacorico69 en 22 Abril 2010, 00:14 am
Hola, ya envíe el código que por omití, gracias.


Título: Re: No se ha encontrado ningún registro
Publicado por: raul338 en 22 Abril 2010, 04:05 am
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
  1. if (isset($_POST[buscar]) && $_POST[buscar]!="") {
  2.    echo "Hola $_POST[buscar]";}
  3.  else {
  4. if (isset($_POST[buscar])) {
  5. echo "Regresar para Rellena los campos";
  6. }
  7. }
  8. $db = mysql_connect('localhost', 'root', '') or die("No se puede establecer la conexión con la base de datos");
  9. mysql_select_db("agenda", $db);
  10. $sql = "SELECT * FROM gente WHERE nombre LIKE '$buscar' ORDER BY nombre";
  11. $result = mysql_query($sql, $db);
  12.  
  13. if (mysql_num_rows($result) > 0) { // Lo sugerido.
  14.    echo "<table border = '1'>";
  15.    //Mostramos los nombres de las tablas
  16.    echo "<table style='border: 4px red dotted; border=1'>";
  17.    mysql_field_seek($result,0);
  18.    while ($field = mysql_fetch_field($result)){
  19.        echo "<td><b>$field->name</b></td>";
  20.    }
  21.   echo "</tr>";
  22.    do {
  23.        echo "<tr>";
  24.        echo "<td>".$row['id']."</td>";
  25.        echo "<td>".$row['nombre']."</td>";
  26.        echo "<td>".$row['direccion']."</td>";
  27.        echo "<td>".$row['telefono']."</td>";
  28.        echo "<td><a href='mailto:".$row['email']."'>".$row['email']."</a></td>";
  29.        echo "</tr>";
  30.   } while( $row = mysql_fetch_array($result) );
  31.    echo "<p><a href='buscador_bd.htm'>Volver</p>";
  32.    echo "</table>";
  33. } else {
  34.    echo "<p>¡No se ha encontrado ningún registro!</p>";
  35.    echo "<p><a href=buscador_bd.htm>Volver</p>";
  36. }
  37.  

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


Título: Re: No se ha encontrado ningún registro
Publicado por: pacorico69 en 28 Abril 2010, 22:53 pm
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>