Foros del Web » Programando para Internet » PHP »

Ayuda Urgente campo vacio en la base de datos

Estas en el tema de Ayuda Urgente campo vacio en la base de datos en el foro de PHP en Foros del Web. Tengo un problema... necesito que me devuelva un echo con un texto de error, si la busqueda en la base de datos da 0 o ...
  #1 (permalink)  
Antiguo 22/10/2010, 06:51
 
Fecha de Ingreso: mayo-2009
Mensajes: 166
Antigüedad: 14 años, 11 meses
Puntos: 2
Ayuda Urgente campo vacio en la base de datos

Tengo un problema... necesito que me devuelva un echo con un texto de error, si la busqueda en la base de datos da 0 o vacia:

Código PHP:
<?php
$queryEstancia 
mysql_query("SELECT * FROM estancia WHERE alojamientoAlojamientoID=$rowAlojamiento[alojamientoID]")
                            or die(
mysql_error);
while(
$rowEstancia mysql_fetch_array($queryEstancia)){
print (
'<label><table width="100%" border="0" cellspacing="0" cellpadding="3">
      <tr>
        <td class="Estilo5" width="20%"><input type="radio" name="grupo['
$rowAlojamiento["alojamientoID"] .']" value="'$rowEstancia["estanciaID"] .'" id="'.$rowEstancia[opcion] .'" checked>'.$rowEstancia['opcion'] .'</td>
        <td class="Estilo5">'
$rowEstancia['caract'] .' <br> <b class="Estilo28">Regimen '$rowEstancia['regimen'] .'</b> <img src="images/'$rowEstancia['transporte']. '" alt="TRASLADOS" title="TRASLADOS" align="absmiddle"></td>
        <td class="Estilo4" width="20%" align="center">'
$rowEstancia['precio'] .'€</td>
      </tr>
    </table></label>
    <input name="estanciaID" type="hidden" id="nombre" value="'
$rowEstancia["estanciaID"] .'">
    <br>'
);

}
?>

osea, que me lo de en el caso de que alojamientoID esta vacio... ya probe con empty, con isset y con === 0 o == 0 y nada, no hay forma de que me tire el texto!


POR FAVOR ALGUIEN ME PUEDE AYUDAR?
  #2 (permalink)  
Antiguo 22/10/2010, 07:04
Avatar de carmagedon  
Fecha de Ingreso: junio-2005
Ubicación: Argentina
Mensajes: 794
Antigüedad: 18 años, 10 meses
Puntos: 23
Respuesta: Ayuda Urgente campo vacio en la base de datos

Hola,

Probaste con hacer algo asi?
Código PHP:
Ver original
  1. $queryEstancia = mysql_query("SELECT * FROM estancia WHERE alojamientoAlojamientoID='".$rowAlojamiento["alojamientoID"]."'");
  2. $queryRows = mysql_num_rows($queryEstancia);
  3.  
  4. if ($queryRows == 0){
  5. echo "No hay registros";
  6. }else{
  7. echo "Hay ".$queryRows." registros en tu bd";
  8. }

Saludos!
__________________
Freelance - Aplicaciones Web
  #3 (permalink)  
Antiguo 22/10/2010, 07:08
 
Fecha de Ingreso: mayo-2009
Mensajes: 166
Antigüedad: 14 años, 11 meses
Puntos: 2
Respuesta: Ayuda Urgente campo vacio en la base de datos

Lo acabo de probar... Si tiene me lo ejecuta perfectamente pero si no hay nada... no ejecuta nada. Ya no se que hacer!
  #4 (permalink)  
Antiguo 22/10/2010, 07:14
Avatar de carmagedon  
Fecha de Ingreso: junio-2005
Ubicación: Argentina
Mensajes: 794
Antigüedad: 18 años, 10 meses
Puntos: 23
Respuesta: Ayuda Urgente campo vacio en la base de datos

Hola,
Pero ahí te falta más código. No entiendo que problema tenés, porque ese código que te acabo de hacer te devuelve el ROW de ese select, es decir, si tiene registros o no te va a devolver un resultado, así sea 0, 10, 1000, etc. El problema es que no sé de donde viene $rowAlojamiento y quizás éste valor se envie vacío, no sé.
Fijate si podés mostrar un poco más de codigo, porque así no se ve ninguna falla en la consulta.

Saludos.
__________________
Freelance - Aplicaciones Web
  #5 (permalink)  
Antiguo 22/10/2010, 07:30
 
Fecha de Ingreso: mayo-2009
Mensajes: 166
Antigüedad: 14 años, 11 meses
Puntos: 2
Respuesta: Ayuda Urgente campo vacio en la base de datos

a ver si te ayuda esto:

Código PHP:
<?php $queryFecha mysql_query("SELECT * FROM alojamiento WHERE calendarioFecha='$fechaID'")
                            or die(
mysql_error);
                    
                    while(
$rowAlojamiento mysql_fetch_array($queryFecha)){

printf ('<h3>' $rowAlojamiento["tipo"] . ' ' $rowAlojamiento["fecha1"].' al '.$rowAlojamiento["fecha2"] . '</h3>');

$queryEstancia mysql_query("SELECT * FROM estancia WHERE alojamientoAlojamientoID=$rowAlojamiento[alojamientoID]")
                            or die(
mysql_error);
while(
$rowEstancia mysql_fetch_array($queryEstancia)){
print (
'<label><table width="100%" border="0" cellspacing="0" cellpadding="3">
      <tr>
        <td class="Estilo5" width="20%"><input type="radio" name="grupo['
$rowAlojamiento["alojamientoID"] .']" value="'$rowEstancia["estanciaID"] .'" id="'.$rowEstancia[opcion] .'" checked>'.$rowEstancia['opcion'] .'</td>
        <td class="Estilo5">'
$rowEstancia['caract'] .' <br> <b class="Estilo28">Regimen '$rowEstancia['regimen'] .'</b> <img src="images/'$rowEstancia['transporte']. '" alt="TRASLADOS" title="TRASLADOS" align="absmiddle"></td>
        <td class="Estilo4" width="20%" align="center">'
$rowEstancia['precio'] .'€</td>
      </tr>
    </table></label>
    <input name="estanciaID" type="hidden" id="nombre" value="'
$rowEstancia["estanciaID"] .'">
    <br>'
);

}
}

?>
  #6 (permalink)  
Antiguo 22/10/2010, 07:42
 
Fecha de Ingreso: mayo-2009
Mensajes: 166
Antigüedad: 14 años, 11 meses
Puntos: 2
Respuesta: Ayuda Urgente campo vacio en la base de datos

Ya lo resolví con tu código anterior. El error era que alojamiento WHERE calendarioFecha='$fechaID'

Era el que reproducía el otro codigo si hubiera sido un if, me hubiera salido mas rápido, pero al ser un while me costó.

El código quedó así por si alguna vez a alguien le pasa algo igual:

Código PHP:
<?php $queryFecha mysql_query("SELECT * FROM alojamiento WHERE calendarioFecha='$fechaID'")
                            or die(
mysql_error);
$queryRows mysql_num_rows($queryFecha);
 
if (
$queryRows == 0){
echo 
"No hay registros";
}else{
echo 
"Hay ".$queryRows." registros en tu bd";
}
                    
                    while(
$rowAlojamiento mysql_fetch_array($queryFecha)){

printf ('<h3>' $rowAlojamiento["tipo"] . ' ' $rowAlojamiento["fecha1"].' al '.$rowAlojamiento["fecha2"] . '</h3>');

$queryEstancia mysql_query("SELECT * FROM estancia WHERE alojamientoAlojamientoID=$rowAlojamiento[alojamientoID]")
                            or die(
mysql_error);
while(
$rowEstancia mysql_fetch_array($queryEstancia)){
print (
'<label><table width="100%" border="0" cellspacing="0" cellpadding="3">
      <tr>
        <td class="Estilo5" width="20%"><input type="radio" name="grupo['
$rowAlojamiento["alojamientoID"] .']" value="'$rowEstancia["estanciaID"] .'" id="'.$rowEstancia[opcion] .'" checked>'.$rowEstancia['opcion'] .'</td>
        <td class="Estilo5">'
$rowEstancia['caract'] .' <br> <b class="Estilo28">Regimen '$rowEstancia['regimen'] .'</b> <img src="images/'$rowEstancia['transporte']. '" alt="TRASLADOS" title="TRASLADOS" align="absmiddle"></td>
        <td class="Estilo4" width="20%" align="center">'
$rowEstancia['precio'] .'€</td>
      </tr>
    </table></label>
    <input name="estanciaID" type="hidden" id="nombre" value="'
$rowEstancia["estanciaID"] .'">
    <br>'
);

}
}

?>
  #7 (permalink)  
Antiguo 22/10/2010, 08:01
Avatar de carmagedon  
Fecha de Ingreso: junio-2005
Ubicación: Argentina
Mensajes: 794
Antigüedad: 18 años, 10 meses
Puntos: 23
Respuesta: Ayuda Urgente campo vacio en la base de datos

Hola,
Una cosita, te funciona el mysql_error? Creo que está mal usado. Bah, primero yo nunca uso el mysql_error en un select, lo uso cuando hay alguna conexión a la base de datos, o un select_db cosas así, de todas las formas, si funciona no está mal aplicado. Solo me refiero en que creo que te faltan los paréntesis, es decir, or die (mysql_error()). Nada más, me alegro que lo hayas solucionado.

Un saludo.
__________________
Freelance - Aplicaciones Web
  #8 (permalink)  
Antiguo 22/10/2010, 08:07
 
Fecha de Ingreso: mayo-2009
Mensajes: 166
Antigüedad: 14 años, 11 meses
Puntos: 2
Respuesta: Ayuda Urgente campo vacio en la base de datos

Funcionar funciona... pero quizas este mal...

Mil gracias por la ayuda!

Etiquetas: vacio, campos
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 02:52.