Foros del Web » Programando para Internet » PHP »

consulta

Estas en el tema de consulta en el foro de PHP en Foros del Web. hola de nuevo. tengo un problema k no puedo resolver. tengo una bd k ingresa los productos con sus capacidades. he creado una tabla capacidades ...
  #1 (permalink)  
Antiguo 27/02/2009, 11:06
(Desactivado)
 
Fecha de Ingreso: abril-2008
Mensajes: 787
Antigüedad: 16 años
Puntos: 7
consulta

hola de nuevo. tengo un problema k no puedo resolver. tengo una bd k ingresa los productos con sus capacidades. he creado una tabla capacidades de USB para mostrar las capacidades en el formulario donde agrego los productos. las capaicades las muestro con checkbox haciendo la consulta a la tabla capacidades. hago check a 3 capacidades y los guarda separados por comas (2GB, 4GB,8GB). luego muestro los productos y pongo un boton editar para despues mostrar en un formulario las capacidades con checkbox.

mi pregunta es como hago para mostrar solo las capacidades agregadas k estan separados por comas y k hagan checked. por ejemplo si en mi formulario yo hice checked a 3 capacidades de USB, solo deben hacer checked a las 3 capacidades. estuve buscando en los foros k se puede hacer con explode y luego hacer una comparacion.

este es mi codigo k hace la operacion:

Código PHP:
<?php    
    $sql_capacidad 
"SELECT * FROM miusb_capacidades";
    
$rpta_capacidad mysql_query($sql_capacidad) or die(mysql_error());
    
$capacidad explode(",",$fila['capacidad']);
    
//echo $capacidad;
    
echo $contamosvariablesdelexplode count($capacidad);
    
    for(
$i=1;$i<$cap mysql_fetch_array($rpta_capacidad);$i++) {
?>
    
        <label>
            <input name="capacidad[]" type="checkbox" id="capacidad" value="<?php echo $cap['capacidad']; ?>
            <?php
                
if($fila['capacidad']==$contamosvariablesdelexplode){    
                    echo 
"checked='checked'";
                }
            
            
?>             
            />
            <?php echo $cap['capacidad']; ?>
        </label>

<?php
    
}
?>
bueno ese es mi codigo k publico. intento ser lo mas claro para k me entiendan y a ver k solucion puedo dar.

Última edición por esaenz22; 27/02/2009 a las 11:44 Razón: ninguna.
  #2 (permalink)  
Antiguo 27/02/2009, 11:55
okram
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: consulta

Al usar explode() generas un array. No puedes comparar un array con un string!. usa in_array() para, una vez obtienes el aray, buscar allí el elemento actual en el ciclo y ver si está entre los "seleccionados" (Ver si está en el array).

  #3 (permalink)  
Antiguo 27/02/2009, 11:57
Avatar de Sommy  
Fecha de Ingreso: septiembre-2008
Mensajes: 228
Antigüedad: 15 años, 7 meses
Puntos: 6
Respuesta: consulta

Disculpa pero no estoy con el tiempo suficiente que esto requiere, rapidamente te digo que hagas un fetch_asoc y un foreach...

Con esas 2 puntas tira del ovillo de lana.

Espero encuentres las respuestas!

Adios.
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 14:45.