Foros del Web » Programando para Internet » PHP »

Respuesta Error BD

Estas en el tema de Respuesta Error BD en el foro de PHP en Foros del Web. Hola gente este es el codigo general y funciona perfectamente la pregunta es, en caso que la busqueda no se encuentre en la base de ...
  #1 (permalink)  
Antiguo 04/05/2011, 21:09
 
Fecha de Ingreso: abril-2011
Mensajes: 53
Antigüedad: 13 años
Puntos: 1
Pregunta Respuesta Error BD

Hola gente este es el codigo general y funciona perfectamente la pregunta es, en caso que la busqueda no se encuentre en la base de datos donde puedo colocar la linea de cdigo que me indique que la placa no estaba registrada???

Código PHP:
<?php
include('conexion.php');
$placas $_POST['placa']; 
$cslt mysql_query("SELECT nombre_infractor, infraccion FROM datos WHERE placa = '$placas'");
  
?>

<!DOCTYPE html PUBLIC "-//WAPFORUM//DTD XHTML Mobile 1.0//EN" "http://www.wapforum.org/DTD/xhtml-mobile10.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>RESULTADOS</title>
</head>

<body>
<table border="1">
<tr align="center" bgcolor="#CC00CC" bordercolor="#000000">
<td>Nombre</td>
<td>Infraccion</td>
<?php 
while ($row mysql_fetch_assoc($cslt))  
{  
    echo 
"<tr><td>".$row ['nombre_infractor'] . "</td><td>".$row ['infraccion'] . "</td></tr>";     
}  
?> 
</table>
</body>
</html>
Gracias Pelaos!!!
  #2 (permalink)  
Antiguo 04/05/2011, 21:36
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Respuesta Error BD

Cita:
Iniciado por troza Ver Mensaje
[...] donde puedo colocar la linea de cdigo que me indique que la placa no estaba registrada??? [...]
Debes colocar la información donde consideres lógico, correcto y necesario.

¿O esperabas ponerlo donde no era de esperar?

__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 04/05/2011, 21:36
Avatar de fekaa11  
Fecha de Ingreso: abril-2011
Ubicación: Córdoba / Argentina
Mensajes: 115
Antigüedad: 13 años
Puntos: 34
Respuesta: Respuesta Error BD

Este código te servirá.

Código PHP:
Ver original
  1. $encontrados = mysql_num_rows($cslt);
  2. if($encontrados == 0){ /* Si los resultados son nulos entonces imprimir el texto */
  3. echo "No se han encontrado resultados";
  4. }

Saludos !

PD: Acabo de interpretar correctamente tu pregunta. Antes del while por ejemplo puedes comprobar que existen registros primero, algo así:
Código PHP:
Ver original
  1. <?php
  2. if($encontrados != 0){
  3. while ($row = mysql_fetch_assoc($cslt))  
  4. {  
  5.     echo "<tr><td>".$row ['nombre_infractor'] . "</td><td>".$row ['infraccion'] . "</td></tr>";      
  6. }else{
  7.     echo "No se han encontrado registros relacionados con la b&uacute;squeda";
  8. }  
  9. }
  10. ?>
__________________
Pedir perdón es de hombres inteligentes. Perdonar es de sabios.
  #4 (permalink)  
Antiguo 04/05/2011, 23:08
Avatar de chalchis  
Fecha de Ingreso: julio-2003
Mensajes: 1.773
Antigüedad: 20 años, 9 meses
Puntos: 21
Respuesta: Respuesta Error BD

mm otra forma seria que hagas todo el proceso del query si es que la pagina
cargara al hacer click a un previo evento

Código:
<?php
include('conexion.php');
$placas = $_POST['placa']; 
$cslt = mysql_query("SELECT nombre_infractor, infraccion FROM datos WHERE placa = '$placas'");

if(mysql_num_rows($cslt)!=0)
{
   $resultado  = "";
    while ($row = mysql_fetch_assoc($cslt))  
   {  
       $resultado .= "<tr><td>".$row ['nombre_infractor'] . "</td><td>".$row ['infraccion'] . "</td></tr>";     
   }
} 
else
{
     $resultado  = "No hubo coincidencias encontradas";
}   
?>

<!DOCTYPE html PUBLIC "-//WAPFORUM//DTD XHTML Mobile 1.0//EN" "http://www.wapforum.org/DTD/xhtml-mobile10.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>RESULTADOS</title>
</head>

<body>
<table border="1">
<tr align="center" bgcolor="#CC00CC" bordercolor="#000000">
<td>Nombre</td>
<td>Infraccion</td>
<?php 
echo $resultado
?> 
</table>
</body>
</html>
__________________
gerardo
  #5 (permalink)  
Antiguo 04/05/2011, 23:09
Avatar de chalchis  
Fecha de Ingreso: julio-2003
Mensajes: 1.773
Antigüedad: 20 años, 9 meses
Puntos: 21
Respuesta: Respuesta Error BD

recuerda siempre limpiar todo lo que te envia desde un formulario
1.- regla desconfia lo que ingresa en los campos


saludos
__________________
gerardo
  #6 (permalink)  
Antiguo 05/05/2011, 13:50
 
Fecha de Ingreso: abril-2011
Mensajes: 53
Antigüedad: 13 años
Puntos: 1
Respuesta: Respuesta Error BD

mmm no se fekaa11 memarca un error en la linea del else
  #7 (permalink)  
Antiguo 05/05/2011, 14:01
Avatar de fekaa11  
Fecha de Ingreso: abril-2011
Ubicación: Córdoba / Argentina
Mensajes: 115
Antigüedad: 13 años
Puntos: 34
Respuesta: Respuesta Error BD

Coloqué mal una llave:
Código PHP:
Ver original
  1. <?php
  2. if($encontrados != 0){
  3. while ($row = mysql_fetch_assoc($cslt)){
  4. echo "<tr><td>".$row ['nombre_infractor'] . "</td><td>".$row ['infraccion'] . "</td></tr>";
  5. }
  6. }else{
  7. &#160;   echo "No se han encontrado registros relacionados con la b&uacute;squeda";
  8. }
  9. ?>
__________________
Pedir perdón es de hombres inteligentes. Perdonar es de sabios.
  #8 (permalink)  
Antiguo 05/05/2011, 14:20
 
Fecha de Ingreso: abril-2011
Mensajes: 53
Antigüedad: 13 años
Puntos: 1
Respuesta: Respuesta Error BD

No pero mira no entiendo asi lo tengo>

Código PHP:
<?php
include('conexion.php');
$placas $_POST['placa']; 
$cslt mysql_query("SELECT nombre_infractor, infraccion FROM datos WHERE placa = '$placas'");
?>

<!DOCTYPE html PUBLIC "-//WAPFORUM//DTD XHTML Mobile 1.0//EN" "http://www.wapforum.org/DTD/xhtml-mobile10.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>RESULTADOS</title>
</head>

<body>
<table border="1">
<tr align="center" bgcolor="#CC00CC" bordercolor="#000000">
<td>Nombre</td>
<td>Infraccion</td>
<?php 
if($cslt != 0) {
while (
$row mysql_fetch_assoc($cslt))  
{  
    echo 
"<tr><td>".$row ['nombre_infractor'] . "</td><td>".$row ['infraccion'] . "</td></tr>";     
}else {
    echo 
"La placa no esta registrada";
    }
}
?> 
</table>
</body>
</html>
  #9 (permalink)  
Antiguo 05/05/2011, 14:24
Avatar de fekaa11  
Fecha de Ingreso: abril-2011
Ubicación: Córdoba / Argentina
Mensajes: 115
Antigüedad: 13 años
Puntos: 34
Respuesta: Respuesta Error BD

Fijate esto, tu haz puesto :

Cita:
if($cslt != 0)
. Lo que hace eso es comprobar que la Query se haya realizado correctamente.

Pero lo que tienes que comprobar primero es que exista un campo ! Entonces haz lo que te digo. Cambia lo siguiente :
Código PHP:
Ver original
  1. <?php  
  2. if($cslt != 0) {
  3. while ($row = mysql_fetch_assoc($cslt))  
  4. {  
  5.     echo "<tr><td>".$row ['nombre_infractor'] . "</td><td>".$row ['infraccion'] . "</td></tr>";      
  6. }else {
  7.     echo "La placa no esta registrada";
  8.     }
  9. }
  10. ?>

Por :
Código PHP:
Ver original
  1. <?php
  2. $encontrados = mysql_num_rows($cslt);
  3. if($encontrados != 0){
  4. while ($row = mysql_fetch_assoc($cslt)){
  5. echo "<tr><td>".$row ['nombre_infractor'] . "</td><td>".$row ['infraccion'] . "</td></tr>";
  6. }
  7. }else{
  8. echo "No se ha encontrado la placa !";
  9. }
  10. ?>

Saludos
__________________
Pedir perdón es de hombres inteligentes. Perdonar es de sabios.
  #10 (permalink)  
Antiguo 05/05/2011, 14:26
 
Fecha de Ingreso: abril-2011
Mensajes: 53
Antigüedad: 13 años
Puntos: 1
Respuesta: Respuesta Error BD

chalchis Prove tu respuesta y sirvio :) la duda que me queda es :

El resultado es positvo, pero sale la tabla la idea era que solo saliera el msj mas no la tabla.....
  #11 (permalink)  
Antiguo 05/05/2011, 14:28
 
Fecha de Ingreso: abril-2011
Mensajes: 53
Antigüedad: 13 años
Puntos: 1
Respuesta: Respuesta Error BD

fekaa11 OK!!!! Si ahora si ..... sale pero me surgte la misma duda el resultado sale con la tabla obvio sin resultados pero quiero desaparecer la tabla
  #12 (permalink)  
Antiguo 05/05/2011, 14:32
Avatar de fekaa11  
Fecha de Ingreso: abril-2011
Ubicación: Córdoba / Argentina
Mensajes: 115
Antigüedad: 13 años
Puntos: 34
Respuesta: Respuesta Error BD

Código PHP:
Ver original
  1. <?php
  2. $encontrados = mysql_num_rows($cslt);
  3. if($encontrados != 0){
  4. while ($row = mysql_fetch_assoc($cslt)){
  5. echo "Nombre infractor: " . $row ['nombre_infractor'] . "<br>Infracción: " . $row ['infraccion'];
  6. }
  7. }else{
  8. echo "No se ha encontrado la placa !";
  9. }
  10. ?>

Modificalo a tu gusto ahora, si no quieres la tabla entonces quitala del HTML.
__________________
Pedir perdón es de hombres inteligentes. Perdonar es de sabios.
  #13 (permalink)  
Antiguo 05/05/2011, 14:51
 
Fecha de Ingreso: abril-2011
Mensajes: 53
Antigüedad: 13 años
Puntos: 1
Respuesta: Respuesta Error BD

Hola fekaa11 todo perfecto
GRacias....

Etiquetas: bd, respuesta
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 00:26.