Foros del Web » Programando para Internet » PHP »

problema que no puedo solucionar

Estas en el tema de problema que no puedo solucionar en el foro de PHP en Foros del Web. nuenas a todos. soy nuevo en el foro y recurro en su ayuda. me explico. yo hice una aplicaicon para insertar multiples checkbox con su ...
  #1 (permalink)  
Antiguo 15/06/2009, 09:46
(Desactivado)
 
Fecha de Ingreso: junio-2009
Mensajes: 256
Antigüedad: 14 años, 10 meses
Puntos: 1
problema que no puedo solucionar

nuenas a todos. soy nuevo en el foro y recurro en su ayuda. me explico. yo hice una aplicaicon para insertar multiples checkbox con su caja de texto de la tabla miusb_capacidades (la tabla miusb_capacidades es la que listo las capacidades del usb). hasta alli todo bien pero tengo una duda. yo listo los productos en una tabla con sus botones editar y borrar. yo hago clic en editar y me debe mostrarme los datos que he ingresado mas las capacidades con su respectivo precio, es decir, que haga checked a las capacidades que he insertado con su precio.
eso es de la tabla miusb_capacidad_precio

he intentado de diversas maneras, pero no encunetro la solucion. como lo haria.

este es mi codigo.

Código PHP:
        <?php
            $sql_capacidad 
"SELECT * FROM miusb_capacidad_precio"
            
$rpta_capacidad mysql_query($sql_capacidad) or die(mysql_error());
            
$i 0;
        
?>
            <table width="216" border="0" cellspacing="0" cellpadding="2">    
              <tbody>
                <tr>
                <th>Capacidad</th>
                <th>Precio</th>
                </tr>
         <?php while($capacidad mysql_fetch_array($rpta_capacidad)):?>
            <tr> 
              <td width="106">
              <input name="capacidad[<?=$i?>]" type="checkbox" class="objetoformulario" id="capacidad" value="<?=$capacidad['Capacidad'];?>
                <?php
                    
                ?>
              
              />
                <?=$capacidad['capacidad'];?>
              </td> 
              
              <td width="102">$ 
                <input name="precio_usb_<?=$i;?>" type="text" class="objetoformulario" size="12"  value="<?=$capacidad["precio_usb"]?>"/></td> 
            </tr> 
         <?php 
                $i
++;
               endwhile;     
         
?>
este es mi codigo para listar los usb con su checkbox, la capacidad del usb y al lado derecho su caja de texto. mi pregunta es como hago para que haga checked a las capacidades que he ingresado. por ejemplo si yo he marcado en los checkbox 2GB, 4GB y 8GB con sus repectivos precios, me debe hacer chekced a las capacidades que he ingresado con su diferente precio.

Última edición por xfer2; 15/06/2009 a las 10:04 Razón: correcion de texto.
  #2 (permalink)  
Antiguo 15/06/2009, 10:05
Avatar de cesarpunk  
Fecha de Ingreso: enero-2008
Ubicación: Lima
Mensajes: 943
Antigüedad: 16 años, 3 meses
Puntos: 9
Respuesta: problema que no puedo solucionar

no se mucho de sintaxis pero mejor acomodalo asi

Código PHP:
<?php
    $sql_capacidad 
"SELECT * FROM miusb_capacidad_precio";  
    
$rpta_capacidad mysql_query($sql_capacidad) or die(mysql_error()); 
    
$i 0
?> 
    <table width="216" border="0" cellspacing="0" cellpadding="2">     
      <tbody> 
        <tr> 
        <th>Capacidad</th> 
        <th>Precio</th> 
        </tr> 
<?php 
 
while($row mysql_fetch_array($_pagi_result)){
        
$dato1 $row['dato1'];
        
$dato2 $row['dato2'];
        
//...
?> 
    <tr>  
      <td width="106"> 
      <input name="<?php echo "capacidad[".$i."]"?>" type="checkbox" class="objetoformulario" id="capacidad" value="<?php echo $dato1?>" /> 
      </td>  
       
      <td width="102">  
        <input name="<?php echo "precio_usb_".$i?>" type="text" class="objetoformulario" size="12"  value="<?php echo $dato2?>"/></td>  
    </tr>  
<?php  
        $i
++; 
 }      
?>
si en el while tienes el dato de que capacidad , deberias diseñar 3 check que sean de 2, 4 y 8 .... y con un simple if($capacidad=='8') le asignas el checked al que tenga ese dato
__________________
Quitenme la vida pero no la bebida.

Última edición por cesarpunk; 15/06/2009 a las 10:11
  #3 (permalink)  
Antiguo 15/06/2009, 10:12
(Desactivado)
 
Fecha de Ingreso: junio-2009
Mensajes: 256
Antigüedad: 14 años, 10 meses
Puntos: 1
Respuesta: problema que no puedo solucionar

se agradece la ayuda , pero no es lo que yo busco de mi problema. igual se agradece.

saludos.
  #4 (permalink)  
Antiguo 15/06/2009, 10:14
 
Fecha de Ingreso: enero-2009
Mensajes: 212
Antigüedad: 15 años, 3 meses
Puntos: 4
Respuesta: problema que no puedo solucionar

Creo que no te entendi, pero si lo que quieres que segun hayas puesto en un lado te ponga ckecked o no pues seria algo asi :

Código PHP:

?php while($capacidad = mysql_fetch_array($rpta_capacidad)):?>


   <input name="capacidad[<?=$i?>]" type="checkbox" class="objetoformulario" id="capacidad" value="<?=$capacidad['Capacidad']"  if ($capacidad['checked'] == 1) echo "checked">

         <?php 

}
         ?>

La verdad no se si es eso lo que quieres, pero si quieres que te marque unos check si y otros no pues ponle simplemente algo asi :

if ($capacidad['checked'] == 1) echo "checked"

Donde checked sera la variable donde guardas el valor del check ....

Tambien puedes poner y creo que es mas correcto :
if ($capacidad['checked'] == 1) echo "checked="checked"


Espero te ayude, si no pues nada sorry por las molestias XD
__________________
Juega al ajedrez online :http://www.davchess.com
Tecnicas de Ajedrez:http://www.7chess.com
  #5 (permalink)  
Antiguo 15/06/2009, 10:28
(Desactivado)
 
Fecha de Ingreso: junio-2009
Mensajes: 256
Antigüedad: 14 años, 10 meses
Puntos: 1
Respuesta: problema que no puedo solucionar

osea. yo listo las capacidades de mi tabla miusb_capacidades, hago check a las capacidades 2GB, 4GB y 6GB con su respectivo precio. estos datos se almacena en la otra tabla miusb_capacidad_precio. mi pregunta es como hago para que haga checked solo a las capacidades que he ingresado en la otra tabla si yo listo las capacidades en la tabla miusb_capacidad.

alguna ayuda.

saludos.

Última edición por xfer2; 15/06/2009 a las 11:19 Razón: texto.
  #6 (permalink)  
Antiguo 15/06/2009, 14:20
Avatar de gioramies  
Fecha de Ingreso: febrero-2008
Ubicación: Colombia
Mensajes: 217
Antigüedad: 16 años, 2 meses
Puntos: 14
Respuesta: problema que no puedo solucionar

Hola, creo que la solución es un JOIN entre las dos tablas, lee más aquí y acá, de tal forma que en la consulta puedas tener todos los datos y hacer la verificación para los check. Si tienes algún problema después de esto, coméntanos. Saludos.
  #7 (permalink)  
Antiguo 15/06/2009, 15:06
(Desactivado)
 
Fecha de Ingreso: junio-2009
Mensajes: 256
Antigüedad: 14 años, 10 meses
Puntos: 1
Respuesta: problema que no puedo solucionar

no he manejado mucho los joins. lo que me interesa saber como soliciono mi problema que me muestre los checkbox que he agregado.
  #8 (permalink)  
Antiguo 15/06/2009, 18:53
Avatar de gioramies  
Fecha de Ingreso: febrero-2008
Ubicación: Colombia
Mensajes: 217
Antigüedad: 16 años, 2 meses
Puntos: 14
Respuesta: problema que no puedo solucionar

Postea la estructura de las tablas implicadas en el caso (miusb_capacidades, miusb_capacidad_precio, miusb_capacida). Vamos a manipular el gran poder de mysql para resolver tu problema.
  #9 (permalink)  
Antiguo 15/06/2009, 23:04
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: problema que no puedo solucionar

Código:
<?php 

            $sql_capacidad = "SELECT * FROM miusb_capacidad_precio group by capacidad";  
            $rpta_capacidad = mysql_query($sql_capacidad) or die(mysql_error()); 
            $i = 0; 
        ?> 
            <table width="216" border="1" cellspacing="0" cellpadding="2">     
              <tbody> 
                <tr> 
                <th>Capacidad</th> 
                <th>Precio</th> 
                </tr> 
         <?php while($capacidad = mysql_fetch_array($rpta_capacidad)):?> 
            <tr>  
              <td width="106"> 
              <input name="capacidad[<?=$i?>]" type="checkbox" class="objetoformulario" checked="checked" id="capacidad" value="<?=$capacidad['Capacidad'];?>"> 

              </td>  
               
              <td width="102"> 
                <input name="precio_usb_<?=$i;?>" type="text" class="objetoformulario" size="12"  value="<?="$".$capacidad["precio_usb"]?>"/></td>  
            </tr>  
         <?php  
                $i++; 
               endwhile;      
         ?>
		 </tbody>
		 </table>

Última edición por gjx2; 15/06/2009 a las 23:12
  #10 (permalink)  
Antiguo 16/06/2009, 07:32
Avatar de gioramies  
Fecha de Ingreso: febrero-2008
Ubicación: Colombia
Mensajes: 217
Antigüedad: 16 años, 2 meses
Puntos: 14
Respuesta: problema que no puedo solucionar

Cita:
Iniciado por gjx2 Ver Mensaje
Código:
<?php 

            $sql_capacidad = "SELECT * FROM miusb_capacidad_precio group by capacidad";  
            $rpta_capacidad = mysql_query($sql_capacidad) or die(mysql_error()); 
            $i = 0; 
        ?> 
            <table width="216" border="1" cellspacing="0" cellpadding="2">     
              <tbody> 
                <tr> 
                <th>Capacidad</th> 
                <th>Precio</th> 
                </tr> 
         <?php while($capacidad = mysql_fetch_array($rpta_capacidad)):?> 
            <tr>  
              <td width="106"> 
              <input name="capacidad[<?=$i?>]" type="checkbox" class="objetoformulario" checked="checked" id="capacidad" value="<?=$capacidad['Capacidad'];?>"> 

              </td>  
               
              <td width="102"> 
                <input name="precio_usb_<?=$i;?>" type="text" class="objetoformulario" size="12"  value="<?="$".$capacidad["precio_usb"]?>"/></td>  
            </tr>  
         <?php  
                $i++; 
               endwhile;      
         ?>
		 </tbody>
		 </table>
Me refiero a las columnas de las tablas implicadas, la que se han mencionado.
  #11 (permalink)  
Antiguo 16/06/2009, 10:25
(Desactivado)
 
Fecha de Ingreso: junio-2009
Mensajes: 256
Antigüedad: 14 años, 10 meses
Puntos: 1
Respuesta: problema que no puedo solucionar

gracias por responder gioramies. te doy la estructura de mis tablas.

tabla miusb_capacidad

Código:
mysql> select * from miusb_capacidades;
+-------------+-----------+
| idcapacidad | capacidad |
+-------------+-----------+
|           1 | 512MB     |
|           2 | 2GB       |
|           3 | 4GB       |
|           4 | 8GB       |
|           5 | 16GB      |
|           6 | 32GB      |
+-------------+-----------+
6 rows in set (0.00 sec)
tabla miusb_capacidad_precio

Código:
mysql> select * from miusb_capacidad_precio;
+-------------------+------------+-----------+------------+
| idcapacidadprecio | idproducto | capacidad | precio_usb |
+-------------------+------------+-----------+------------+
|                 1 |        149 | 1GB       | 6.00       |
|                 2 |        149 | 2GB       | 7.00       |
|                 3 |        149 | 3GB       | 8.00       |
|                 4 |        149 | 4GB       | 12.00      |
|                 7 |        151 | 3GB       | 8.00       |
|                 8 |        151 | 4GB       | 5.00       |
|                 9 |        151 | 6GB       | 12.00      |
+-------------------+------------+-----------+------------+
saludos.
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:54.