Foros del Web » Programando para Internet » PHP »

Saber si un campo está vacio

Estas en el tema de Saber si un campo está vacio en el foro de PHP en Foros del Web. Hola Tengo una DB MySQL con 10 campos con nombres 'comentarios1' hasta 'comentarios10' y estoy intentado hacer una consulta para que meta en el primer ...
  #1 (permalink)  
Antiguo 26/03/2007, 09:00
 
Fecha de Ingreso: noviembre-2006
Mensajes: 146
Antigüedad: 17 años, 4 meses
Puntos: 1
Saber si un campo está vacio

Hola
Tengo una DB MySQL con 10 campos con nombres 'comentarios1' hasta 'comentarios10' y estoy intentado hacer una consulta para que meta en el primer campo vacío que encuentre los datos que le paso, el problema es que el único que me encuentra es el último y no sé que estoy haciendo mal.

Código PHP:
do {
     for (
$i=1;$i<=10;$i++)
          
$free_pos=$i;
}
while (
$row["comentarios".$i]=""); 
He probado poniendo los campos vacíos como NULL y como 0 y tampoco me funciona...
  #2 (permalink)  
Antiguo 26/03/2007, 09:45
 
Fecha de Ingreso: diciembre-2004
Mensajes: 371
Antigüedad: 19 años, 3 meses
Puntos: 0
Re: Saber si un campo está vacio

Igual te encuentra todos, pero unicamente te muestra el ultimo?

Una vez ejecutada la page, mira el html.

Lo que podrias hacer es segun vas sacando los datos de la bd, seria dentro del bucle hacer una condicion y si el valor es ="", entonces

Código PHP:
$sql "UPDATE tabla SET var delokekierespasar = $campovacio WHERE $campovacio = 0 "
Yo no me defiendo demasiado ahun,haber si te sirve de algo
  #3 (permalink)  
Antiguo 26/03/2007, 10:29
 
Fecha de Ingreso: noviembre-2006
Mensajes: 146
Antigüedad: 17 años, 4 meses
Puntos: 1
Re: Saber si un campo está vacio

Si hago eso me rellena todos los campos, da igual que no estén vacíos. El problema debe estar en la condición del while.
He probado añadiendo un break al for, pero así solo me rellena el primer campo, independientemente de que esté vacío o no.

Código PHP:
do {
    for (
$i=1;$i<=10;$i++){
        
$freepos=$i;
        break;
    }
}
while (
$row["comentarios".$i]=""); 
<desesperacion>
  #4 (permalink)  
Antiguo 26/03/2007, 10:45
 
Fecha de Ingreso: diciembre-2004
Mensajes: 371
Antigüedad: 19 años, 3 meses
Puntos: 0
Re: Saber si un campo está vacio

Cita:
Iniciado por Nexus_ Ver Mensaje
Si hago eso me rellena todos los campos, da igual que no estén vacíos. El problema debe estar en la condición del while.
He probado añadiendo un break al for, pero así solo me rellena el primer campo, independientemente de que esté vacío o no.

Código PHP:
do {
    for (
$i=1;$i<=10;$i++){
        
$freepos=$i;
        break;
    }
}
while (
$row["comentarios".$i]=""); 
<desesperacion>
$sql = "UPDATE tabla SET 'comentarios'.$i = varlokesea WHERE indice = lafilakesea ";

No serviria algo asi?

De todas maneras, ke es exactamente lo ke kieres haser?

Si entendi, tu ahora tienes 10 columnas en la bd y x filas y kieres mirar fila por fila y columna por columna comprobando si algun campo esta vacio y escribiendo algo ? Es eso?
  #5 (permalink)  
Antiguo 26/03/2007, 10:59
 
Fecha de Ingreso: noviembre-2006
Mensajes: 146
Antigüedad: 17 años, 4 meses
Puntos: 1
Re: Saber si un campo está vacio

A ver, me explico mejor.
Tengo una DB con exactamente 11 columnas, las 10 de comentarios y otra con la ip.
Cuando un usuario quiere insertar un comentario hago un query a la db y miro si existe su ip. Si no existe creo una entrada con su ip y los 10 comentarios vacíos y si existe miro cual la primera columna de comentarios vacía e inserto ahí el comentario. Por lo tanto ya sé en que fila buscar lo que me interesa son las columnas.
Gracias!
  #6 (permalink)  
Antiguo 26/03/2007, 11:43
Avatar de eits  
Fecha de Ingreso: junio-2005
Ubicación: valladolid, yucatán
Mensajes: 1.655
Antigüedad: 18 años, 9 meses
Puntos: 88
Re: Saber si un campo está vacio

creo que debes de usar los campos null y posiblemente te sirva esto así

while ($row["comentarios".$i]=NULL)
__________________
El amor es la locura mas lucida que tiene el hombre.- Andres Henestrosa
la tristeza no existe, solo es... la ausencia de la felicidad.
  #7 (permalink)  
Antiguo 26/03/2007, 11:53
 
Fecha de Ingreso: diciembre-2004
Mensajes: 371
Antigüedad: 19 años, 3 meses
Puntos: 0
Re: Saber si un campo está vacio

Haber si te sirve


Código PHP:
<?php

    
/* Conexion, seleccion de base de datos */
    
$enlace mysql_connect("xx""xx""xx")
    or die(
"No pudo conectarse : " mysql_error());
    
/*echo "Conexi&oacute;n exitosa";*/
    
mysql_select_db("xx") or die("No pudo seleccionarse la BD.");
    
/* Realizar una consulta SQL */
    
$consulta  "SELECT * FROM tabla;
    $resultado = mysql_query($consulta) or die("
La consulta fall&oacute;: " . mysql_error());
    
    /* -----------------fin----------------------------------------------- */
    /* ----------------------------------------------- */    
    
    $C=0;
    
    while ($linea = mysql_fetch_array($resultado, MYSQL_ASSOC))
     {
    foreach ($linea as $valor_col) 
        {
       $matriz[La fila ke sea][$C]=$valor_col;
       if ($matriz[La fila ke sea][$C])=="")
           {
              $sql = "
UPDATE tabla SET "campocomentarios".$C='lokesea' WHERE fila '$fila'";
              $C=99; /*asi no te vuelve a escribir, no se si funcionara algo como break o end..*/
           }
       else     { $C=$C+1;}
        }
     } 
?>

Última edición por yaviz; 26/03/2007 a las 11:53 Razón: edito
  #8 (permalink)  
Antiguo 26/03/2007, 11:54
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 10 meses
Puntos: 2135
Re: Saber si un campo está vacio

Prueba mejor esto:
Código PHP:
$i 0;
while (!empty(
$row["comentarios".$i])) ++$i
Terminando ese loop tendras $i con el primer campo que tiene vacio.
  #9 (permalink)  
Antiguo 26/03/2007, 12:51
 
Fecha de Ingreso: noviembre-2006
Mensajes: 146
Antigüedad: 17 años, 4 meses
Puntos: 1
Re: Saber si un campo está vacio

Nada, ambos códigos me escriben solo en la primera columna 'comentarios1'.
Creo que va tocar hacer el bucle a mano. Menos mal que solo son 10...
Muchísimas gracias a los dos.
De todas maneras se siguen aceptando propuestas.
Un saludo
  #10 (permalink)  
Antiguo 26/03/2007, 13:51
Avatar de FabianSN  
Fecha de Ingreso: enero-2007
Ubicación: SNicolas, BsAs, Argentina
Mensajes: 96
Antigüedad: 17 años, 3 meses
Puntos: 2
Re: Saber si un campo está vacio

No puedo probar código en esta maquina dado que no tengo nada para hacerlo.

Fijate que me parece que el error está en la forma de hacer referencia a cada campo en el ROW, creo que delante de cada valor númerico siempre hay una posicion vacia que es el signo, creo que antes deberías transformar ese númerico a string y luego hacerle un TRIM para sacarle el espacio inicial

Demás está decir que el $row sale de hacer un fetch_array, ¿no?
  #11 (permalink)  
Antiguo 26/03/2007, 16:39
Avatar de eits  
Fecha de Ingreso: junio-2005
Ubicación: valladolid, yucatán
Mensajes: 1.655
Antigüedad: 18 años, 9 meses
Puntos: 88
Re: Saber si un campo está vacio

prueba utilizando esto $row["comentarios$i"] fijate que la variable $i queda dentro de las comillas
__________________
El amor es la locura mas lucida que tiene el hombre.- Andres Henestrosa
la tristeza no existe, solo es... la ausencia de la felicidad.
  #12 (permalink)  
Antiguo 26/03/2007, 20:16
Avatar de FabianSN  
Fecha de Ingreso: enero-2007
Ubicación: SNicolas, BsAs, Argentina
Mensajes: 96
Antigüedad: 17 años, 3 meses
Puntos: 2
Re: Saber si un campo está vacio

Cita:
Iniciado por eits Ver Mensaje
prueba utilizando esto $row["comentarios$i"] fijate que la variable $i queda dentro de las comillas
Le estaba por decir eso tambien, pero tengo mis dudas de como convierte PHP un númerico a texto, ¿no quedará un espacio entre la palabra 'comentarios' y el número?
__________________
Letra de Canciones
  #13 (permalink)  
Antiguo 26/03/2007, 21:26
Avatar de Panino5001
Me alejo de Omelas
 
Fecha de Ingreso: mayo-2004
Ubicación: -34.637167,-58.462984
Mensajes: 5.148
Antigüedad: 19 años, 10 meses
Puntos: 834
Re: Saber si un campo está vacio

Si el campo de la db fue definido como null de manera predeterminada, se puede usar algo como select * from tabla where campo is null para encontrar los vacíos. No sé si te sirva de algo.
  #14 (permalink)  
Antiguo 27/03/2007, 11:33
Avatar de eits  
Fecha de Ingreso: junio-2005
Ubicación: valladolid, yucatán
Mensajes: 1.655
Antigüedad: 18 años, 9 meses
Puntos: 88
Re: Saber si un campo está vacio

Cita:
Iniciado por FabianSN Ver Mensaje
Le estaba por decir eso tambien, pero tengo mis dudas de como convierte PHP un númerico a texto, ¿no quedará un espacio entre la palabra 'comentarios' y el número?
compruebalo tu mismo, haz esto:
Código PHP:
$i=1;
echo 
"comentarios$i"

saludos.
__________________
El amor es la locura mas lucida que tiene el hombre.- Andres Henestrosa
la tristeza no existe, solo es... la ausencia de la felicidad.
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 01:05.