Foros del Web » Programando para Internet » PHP »

inertar varios checkbox con su precio

Estas en el tema de inertar varios checkbox con su precio en el foro de PHP en Foros del Web. bunas a todos. estoy intentanto registra varios datos, me explico. tengo un checkbox con la lista e capacidades de los usb. listo todos con un ...
  #1 (permalink)  
Antiguo 08/06/2009, 12:00
(Desactivado)
 
Fecha de Ingreso: abril-2008
Mensajes: 787
Antigüedad: 16 años
Puntos: 7
inertar varios checkbox con su precio

bunas a todos. estoy intentanto registra varios datos, me explico. tengo un checkbox con la lista e capacidades de los usb. listo todos con un checkbox. en el checkbox le pongo el value y al costado le coloco una caja de texto. marco 3 checks a la capacidad del usb e ingreso su precio. una ingresado los datos, solo me registra 2 capacidades y no me registra el precio.

este es mi codigo:

Código PHP:
           //Preguntamos si nuetro arreglo 'capacidad' fue definido
         
if (isset($_POST["capacidad"])) {
         
                       
//aqui hgo una condidicon para luego despues almacenarlo en un fetch_array el id del producto.
             
echo $sql_producto "SELECT * FROM miusb_productos where codigo_producto = '$codigo_pruducto'";
            
$rpta_producto mysql_query($sql_producto) or die(mysql_error());
            
$fila_producto mysql_fetch_array($rpta_producto);
            
            echo 
"<br/><br/>";
            
            
$idproducto $fila_producto['idproducto']; 
         
             
//de se asi, para procesar las capacidad del usb subidos al servidor solo debemos recorrerlo
             //obtenemos la cantidad de elementos que tiene el arreglo archivos
             
$tot count($_POST["capacidad"]);
             echo 
"<br/><br/>";
             
//este for recorre el arreglo
             
for ($i 0$i $tot$i++){
                 
//con el indice $i, poemos obtener la propiedad que desemos de cada archivo
                 //para trabajar con este
                    
$capacidad $_POST["capacidad"][$i];
                    
$precio_usb $_POST['precio_usb'][$i];
                    
                    
$sql_capacidad_precio  "insert into miusb_capacidad_precio(idproducto,capacidad,precio_usb)";
                    
$sql_capacidad_precio .= "values('$idproducto','$capacidad','$precio_usb')";
                    
                    echo 
"<br/><br/>";
                    
                    echo 
$sql_capacidad_precio;
                    
                    
mysql_query($sql_capacidad_precio) or die(mysql_error());
                                    
            }
          } 
si me dan una ayuda.

alguien k me ayude por favor.

Última edición por esaenz22; 08/06/2009 a las 12:37 Razón: detalles del tema.
  #2 (permalink)  
Antiguo 08/06/2009, 12:41
Avatar de gjx2  
Fecha de Ingreso: agosto-2008
Ubicación: R.D
Mensajes: 1.153
Antigüedad: 15 años, 8 meses
Puntos: 139
Respuesta: inertar varios checkbox con su precio

Debes de explicarte mejor , por que la verda es que tu explicacion
  #3 (permalink)  
Antiguo 08/06/2009, 13:04
(Desactivado)
 
Fecha de Ingreso: abril-2008
Mensajes: 787
Antigüedad: 16 años
Puntos: 7
Respuesta: inertar varios checkbox con su precio

si. creo ue no me explique bien. en resumen, como hago pra insertar multiples registros.

esa es mi pregunta.
  #4 (permalink)  
Antiguo 08/06/2009, 13:17
Avatar de gjx2  
Fecha de Ingreso: agosto-2008
Ubicación: R.D
Mensajes: 1.153
Antigüedad: 15 años, 8 meses
Puntos: 139
Respuesta: inertar varios checkbox con su precio

Bueno pues si mi caso fuera insertar una matrix en un mismo insert
Yo usaria.



Código PHP:

for ( $a 0$a count($Matrix); $a++ ) {

$sql mysql_query("Insert into tabla (Codigos)values($Matrix[$a])");


  #5 (permalink)  
Antiguo 08/06/2009, 13:22
(Desactivado)
 
Fecha de Ingreso: abril-2008
Mensajes: 787
Antigüedad: 16 años
Puntos: 7
Respuesta: inertar varios checkbox con su precio

gracis por responder gjx2. algo asi hice pero yo he seleccionado las capacidades de los usb como 512GB, 1GB y 2GB con sus respectivos precios. pero aun asi solo me registra el de 512GB y 2GB.

este es mi codigo:

Código PHP:
             $tot count($_POST["capacidad"]);
             echo 
"<br/><br/>";
             
//este for recorre el arreglo
             
for ($i=1$i<$tot;$i++){
                 
//con el indice $i, poemos obtener la propiedad que desemos de cada archivo
                 //para trabajar con este
                    
$capacidad $_POST["capacidad"][$i];
                    
$precio_usb $_POST['precio_usb'.$i];
                    
                    
$sql_capacidad_precio  "insert into miusb_capacidad_precio(idproducto,capacidad,precio_usb)";
                    
$sql_capacidad_precio .= "values('$idproducto','$capacidad','$precio_usb')";
                    
                    echo 
"<br/><br/>";
                    
                    echo 
$sql_capacidad_precio;
                    
                    
mysql_query($sql_capacidad_precio) or die(mysql_error());
                                    
            } 
  #6 (permalink)  
Antiguo 08/06/2009, 13:24
Avatar de gjx2  
Fecha de Ingreso: agosto-2008
Ubicación: R.D
Mensajes: 1.153
Antigüedad: 15 años, 8 meses
Puntos: 139
Respuesta: inertar varios checkbox con su precio

Revisa iniciando la variable $i = 0.

Código PHP:
for ($i 0$i $tot$i++ ) {

 } 
  #7 (permalink)  
Antiguo 08/06/2009, 13:28
(Desactivado)
 
Fecha de Ingreso: abril-2008
Mensajes: 787
Antigüedad: 16 años
Puntos: 7
Respuesta: inertar varios checkbox con su precio

inice la variable $i = 0 y me registra asi:

Código PHP:
insert into miusb_capacidad_precio(idproducto,capacidad,precio_usb)values('21','','')

insert into miusb_capacidad_precio(idproducto,capacidad,precio_usb)values('21','512MB','5.90')

insert into miusb_capacidad_precio(idproducto,capacidad,precio_usb)values('21','1GB','6.00'
alguna ayuda.

nadie me ayuda con mi problema.

por favor, necesito que me ayuden con el problema que tengo.

Última edición por esaenz22; 08/06/2009 a las 15:06 Razón: nadie me ayuda con mi problema.
  #8 (permalink)  
Antiguo 08/06/2009, 15:16
(Desactivado)
 
Fecha de Ingreso: abril-2008
Mensajes: 787
Antigüedad: 16 años
Puntos: 7
Respuesta: inertar varios checkbox con su precio

corrigiendo mi problema, cuando selecciono por ejemlo 512 GB, 2GB y 4GB, me debe registrar lo que he dado check, pero no me registra el de 2GB con su respectivo precio.

este es mi codigo:

Código PHP:
            echo $total count($_POST["capacidad"]);
             
//este for recorre el arreglo
            
for ($i=1$i<=$total;$i++){
                 
//con el indice $i, poemos obtener la propiedad que desemos de cada archivo
                 //para trabajar con este
                    
$capacidad $_POST["capacidad"][$i];
                    
$precio_usb $_POST['precio_usb'.$i];
                    
                    
$sql_capacidad_precio  "insert into miusb_capacidad_precio(idproducto,capacidad,precio_usb)";
                    
$sql_capacidad_precio .= "values('$idproducto','$capacidad','$precio_usb')";
                    
                    echo 
$sql_capacidad_precio;
                    echo 
"<br/>";
                    
mysql_query($sql_capacidad_precio) or die(mysql_error());
                                    
            } 
en que estare fallando.

la verdad no queria duplicar el tema porque luego me envian una infanccion de parte del usuario gatorv.

Última edición por esaenz22; 08/06/2009 a las 15:17 Razón: detalles que faltaba.
  #9 (permalink)  
Antiguo 08/06/2009, 15:48
(Desactivado)
 
Fecha de Ingreso: abril-2008
Mensajes: 787
Antigüedad: 16 años
Puntos: 7
insertar varios checkbox con su precio

buenas a todos. tengo un problema. yo muestro una lista de capacidades de usb con su checkbox al costado. muestro los datos y hata alli todo bien. las capacidades de los usb son de 512MB hasta 8GB. yo hago checked en 4 capacidades por ejemplo 2GB, 4GB, 6GB Y 10GB con sus respectivos precios. al momento de agregar solo me agrega los 3 primeros como el de 2GB, 4GB, 6GB pero el de 10GB no lo registra.

en que estare haciendo mal el procedimiento.

este es mi codigo:

Código PHP:
            echo $total count($_POST["capacidad"]);
            echo 
"<br/><br/>";
             
//este for recorre el arreglo
            
for ($i=0$i<=$total;$i++){
                 
//con el indice $i, poemos obtener la propiedad que desemos de cada archivo
                 //para trabajar con este
                    
$capacidad $_POST["capacidad"][$i];
                    
$precio_usb $_POST['precio_usb'.$i];
                    
                    
$sql_capacidad_precio  "insert into miusb_capacidad_precio(idproducto,capacidad,precio_usb)";
                    
$sql_capacidad_precio .= "values('$idproducto','$capacidad','$precio_usb')";
                    
                    echo 
$sql_capacidad_precio;
                    echo 
"<br/>";
                    
mysql_query($sql_capacidad_precio) or die(mysql_error());
                                    
            } 
la verdad no queria duplicar mi tema por que luego me envian una infraccion por parte del moderador.

por favor ayudenme con mi problema.

Última edición por esaenz22; 08/06/2009 a las 15:49 Razón: correcion del texto.
  #10 (permalink)  
Antiguo 08/06/2009, 15:49
Avatar de gjx2  
Fecha de Ingreso: agosto-2008
Ubicación: R.D
Mensajes: 1.153
Antigüedad: 15 años, 8 meses
Puntos: 139
Respuesta: insertar varios checkbox con su precio

Amigo esaenz22

Muestra el codigo html
  #11 (permalink)  
Antiguo 08/06/2009, 15:51
(Desactivado)
 
Fecha de Ingreso: abril-2008
Mensajes: 787
Antigüedad: 16 años
Puntos: 7
Respuesta: insertar varios checkbox con su precio

Código PHP:
        <?php
            
            $sql_capacidad 
"SELECT * FROM miusb_capacidades";
            
$rpta_capacidad mysql_query($sql_capacidad) or die(mysql_error());
            
$filas mysql_num_rows($rpta_capacidad);
        
                for(
$i=1;$i<$capacidad mysql_fetch_array($rpta_capacidad);$i++) {

        
?>
          <table width="197" border="0" cellspacing="0" cellpadding="0">
            <tr>
              <td width="31"><input name="capacidad[<?php echo $i?>]" type="checkbox" class="objetoformulario" id="capacidad" value="<?php echo $capacidad['capacidad']; ?>" /></td>
              <td width="62"><?php echo $capacidad['capacidad']; ?> </td>
              <td width="104">$
                <input name="precio_usb<?=$i?>" type="text" class="objetoformulario" size="12" /></td>
            </tr>
          </table>
          <?php
                
}
          
?>
  #12 (permalink)  
Antiguo 08/06/2009, 15:57
Avatar de gjx2  
Fecha de Ingreso: agosto-2008
Ubicación: R.D
Mensajes: 1.153
Antigüedad: 15 años, 8 meses
Puntos: 139
Respuesta: insertar varios checkbox con su precio

Código PHP:
<?php
        
 $sql_capacidad 
"SELECT * FROM miusb_capacidades"
            
$rpta_capacidad mysql_query($sql_capacidad) or die(mysql_error()); 
         
$i=0;
                  while(
$capacidad mysql_fetch_array($rpta_capacidad)):?>
                 
          <table width="197" border="0" cellspacing="0" cellpadding="0"> 
            <tr> 
              <td width="31"><input name="capacidad[<?=$i;?>]" type="checkbox" class="objetoformulario" id="capacidad" value="<?=$capacidad['capacidad'];?>" /></td> 
              <td width="62"><?=$capacidad['capacidad'];?> </td> 
              <td width="104">
                <input name="precio_usb<?=$i;?>" type="text" class="objetoformulario" size="12" /></td> 
            </tr> 
          </table> 
         <?php $i++; endwhile; ?>

Limpie un poco el codigo
  #13 (permalink)  
Antiguo 08/06/2009, 16:05
(Desactivado)
 
Fecha de Ingreso: abril-2008
Mensajes: 787
Antigüedad: 16 años
Puntos: 7
Respuesta: insertar varios checkbox con su precio

gracias por responder gjx2. puede ser que mi bucle que mostraba las capacidades del usb ha sido el error de que no ingresara bien los datos.

o es el codigo que he publicado del bucle for ?.

Código PHP:
            $total count($_POST["capacidad"]);
            echo 
$total;
            echo 
"<br/><br/>";
             
//este for recorre el arreglo
            
for ($i=0$i<=$total;$i++){
                 
//con el indice $i, poemos obtener la propiedad que desemos de cada archivo
                 //para trabajar con este
                    
$capacidad $_POST["capacidad"][$i];
                    
$precio_usb $_POST['precio_usb'.$i];
                    
                    
$sql_capacidad_precio  "insert into miusb_capacidad_precio(idproducto,capacidad,precio_usb)";
                    
$sql_capacidad_precio .= "values('$idproducto','$capacidad','$precio_usb')";
                    
                    echo 
$sql_capacidad_precio;
                    echo 
"<br/>";
                    
mysql_query($sql_capacidad_precio) or die(mysql_error());
                                    
            } 
saludos.

Última edición por esaenz22; 08/06/2009 a las 16:10 Razón: detalles que añadir.
  #14 (permalink)  
Antiguo 08/06/2009, 16:13
Avatar de gjx2  
Fecha de Ingreso: agosto-2008
Ubicación: R.D
Mensajes: 1.153
Antigüedad: 15 años, 8 meses
Puntos: 139
Respuesta: insertar varios checkbox con su precio

esaenz22
Antes de hacer un insert

por que no mejor revisamos primero las variables $_POST
a ver que valores nos trae?

Código PHP:
for ( $a 0$a count($_POST["capacidad"]); $a++ ){

echo 
$_POST["capacidad"][$a]."<bR>";


  #15 (permalink)  
Antiguo 08/06/2009, 16:26
(Desactivado)
 
Fecha de Ingreso: abril-2008
Mensajes: 787
Antigüedad: 16 años
Puntos: 7
Respuesta: inertar varios checkbox con su precio

bueno. he seleccionado o mejor dicho, he dado check a 3 capacidades de usb: 512MB, 2GB y 4GB.

al enviar los 3 valores que he dado check, solo me envian 2 valores:

512MB

2GB

alguna ayuda ?

Última edición por esaenz22; 08/06/2009 a las 16:31 Razón: alguien que me pueda ayudar.
  #16 (permalink)  
Antiguo 08/06/2009, 16:33
Avatar de gjx2  
Fecha de Ingreso: agosto-2008
Ubicación: R.D
Mensajes: 1.153
Antigüedad: 15 años, 8 meses
Puntos: 139
Respuesta: inertar varios checkbox con su precio

Ok pues tu problema esta en el formulario no cuando insertas.

Cuando generes el formulario verifica con tu navegador web
el codigo fuente del formulario
para verificar si estan completo los check.



Has otra prueba con .
for ( $a = 0; $a <= count($_POST["capacidad"]); $a++ ){

echo $_POST["capacidad"][$a]."<bR>";

}
  #17 (permalink)  
Antiguo 08/06/2009, 16:43
(Desactivado)
 
Fecha de Ingreso: abril-2008
Mensajes: 787
Antigüedad: 16 años
Puntos: 7
Respuesta: inertar varios checkbox con su precio

bueno. he seleccionado o mejor dicho, he dado check a 3 capacidades de usb: 512MB, 2GB y 4GB. hice el procedimiento, pero solo me devuelve 2 valores:

512MB

2GB
  #18 (permalink)  
Antiguo 10/06/2009, 08:32
(Desactivado)
 
Fecha de Ingreso: abril-2008
Mensajes: 787
Antigüedad: 16 años
Puntos: 7
Respuesta: inertar varios checkbox con su precio

para no repetir el mismo problema, voy aresumirlo. yo muestro una lista de capacidades de usb con su checkbox al costado. muestro los datos y hata alli todo bien. las capacidades de los usb son de 512MB hasta 8GB. yo hago checked en 4 capacidades por ejemplo 2GB, 4GB, 6GB Y 10GB con sus respectivos precios. al momento de agregar solo me agrega los 3 primeros como el de 2GB, 4GB, 6GB pero el de 10GB no lo registra con su respectivo precio.

alguna ayuda por favor. como logro para insertar multiples checkbox con su input text.

es urgente por favor.

este es mi codigo:

Código PHP:
        <?php

         $sql_capacidad 
"SELECT * FROM miusb_capacidades"
            
$rpta_capacidad mysql_query($sql_capacidad) or die(mysql_error()); 
                   
          
$i=0;
                  while(
$capacidad mysql_fetch_array($rpta_capacidad)): ?>
                 
          <table width="197" border="0" cellspacing="0" cellpadding="0"> 
            <tr> 
              <td width="31"><input name="capacidad[]" type="checkbox" class="objetoformulario" id="capacidad" value="<?=$capacidad['capacidad'];?>" /></td> 
              <td width="62"><?=$capacidad['capacidad'];?> </td> 
              <td width="104">
                <input name="precio_usb_<?=$i;?>" type="text" class="objetoformulario" size="12" /></td> 
            </tr> 
          </table> 
         <?php 
              $i
++;
              endwhile;
             
     
?>
codigo que procesa.

Código PHP:
    if(isset($_POST["envio"])){
                 
        
$idproducto mysql_insert_id(); # inserto el ultimo id de mi otra tabla.
                
            
for ($a 0$a count($_POST["capacidad"]); $a++ ){
                       
                
$capacidad $_POST["capacidad"][$a];
                
$precio_usb $_POST['precio_usb_'.$a];
                            
                
$sql_capacidad_precio  "insert into miusb_capacidad_precio(idproducto,capacidad,precio_usb)";
                
$sql_capacidad_precio .= "values('$idproducto','$capacidad','$precio_usb')";
                            
                echo 
$sql_capacidad_precio;
                echo 
"<br/>";
                
mysql_query($sql_capacidad_precio) or die(mysql_error());
                                            
            }  
        
                
     } 

Última edición por esaenz22; 10/06/2009 a las 08:42 Razón: detalles de mi problema.
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 19:32.