Foros del Web » Programando para Internet » PHP »

Problema con SQL y checkbox

Estas en el tema de Problema con SQL y checkbox en el foro de PHP en Foros del Web. Ok saludos de nuevo Ya claudiovega me dio la solucion para deshabilitar el boton si tiene X valor en la base de datos el checkbox ...
  #1 (permalink)  
Antiguo 03/03/2006, 13:06
Avatar de carlosfocus  
Fecha de Ingreso: enero-2006
Ubicación: Venezuela
Mensajes: 823
Antigüedad: 18 años, 10 meses
Puntos: 0
Problema con SQL y checkbox

Ok saludos de nuevo


Ya claudiovega me dio la solucion para deshabilitar el boton si tiene X valor en la base de datos el checkbox

ahora

tengo un problema aun peor

Mi idea es la siguiente:

Esto es algo interno en la empresa con respecto a las solicitudes que se hacen desdela web ahora..

Yo al usuario de ventas que es el que maneja las cotizaciones le muestro en un sistema de manejo de cotizaciones estas opciones a medida que va evolucionando X cotizacion

*** coloque la URl ya que no se por que no me mostraba la imagen

http://www.carlosfocus.com/1.jpg

la persona selecciona la primera opcion y el valor que envia ese checkbox a la base de datos es 1, hasta ahi todo bien, cuando la persona vuelve a entrar a esta cootización y selecciona la segunda opción es donde me da el error ya que me habilita y quita la seleccion al primer checkbox y el segundo checkbox si se selecciona y se deshabilita

*** coloque la URl ya que no se por que no me mostraba la imagen

http://www.carlosfocus.com/2.jpg

y mi checkbox esta asi
Código PHP:
<input name="op1" type="checkbox" id="op1" value="1" <? if ($op1=="1") echo "checked disabled";?>>
son 8 en total.........

Gracias :D
__________________
Carlos Herrera
Web Developer
www.carlos.com.ve
Para descargar archivos propios a su Teléfono Mobil? www.carlosfocus.com

Última edición por carlosfocus; 03/03/2006 a las 13:08 Razón: No me moestraba las imagenes
  #2 (permalink)  
Antiguo 03/03/2006, 13:14
Avatar de claudiovega  
Fecha de Ingreso: octubre-2003
Ubicación: Puerto Montt
Mensajes: 3.667
Antigüedad: 21 años, 1 mes
Puntos: 11
Podrías mostrar un poco más de codigo? para ver todos los checkboxes. Este es tu codigo en el input? value="1" o le colocas el uno si en la base existe el valor 1 para ese caso? imagino que debe ser lo segundo.
  #3 (permalink)  
Antiguo 03/03/2006, 13:17
Avatar de carlosfocus  
Fecha de Ingreso: enero-2006
Ubicación: Venezuela
Mensajes: 823
Antigüedad: 18 años, 10 meses
Puntos: 0
Código HTML:
<table width="299" border="0" cellpadding="0" cellspacing="1" bgcolor="#CCCCCC">
                                  <tr>
                                    <td width="25" bgcolor="#E4E9E9"><label>
                                      
                           <input name="op1" type="checkbox" id="op1" value="1" <? if ($op1=="1") echo "checked disabled";?>>
                                      </label></td>
                                    <td width="375" bgcolor="#E4E9E9">RFQ sent to the manufacturer</td>
                                  </tr>
                              <tr>
                                <td bgcolor="#E4E9E9"><input name="op2" type="checkbox" id="op2" value="1"<? if ($op2=="1"){echo ("checked disabled");}?>></td><td bgcolor="#E4E9E9">Quotation sent to customer</td>
                                  </tr>
                              <tr>
                                <td bgcolor="#E4E9E9"><input name="op3" type="checkbox" id="op3" value="1"<? if ($op1=="3"){echo ("checked disabled");}?>></td>
                                    <td bgcolor="#E4E9E9">Sales Order accepted </td>
                                  </tr>
                              <tr>
                                <td bgcolor="#E4E9E9"><input name="op4" type="checkbox" id="op4" value="1"<? if ($op1=="4"){echo ("checked disabled");}?>></td><td bgcolor="#E4E9E9">Waiting for Payment</td>
                                  </tr>
                              <tr>
                                <td bgcolor="#E4E9E9"><input name="op5" type="checkbox" id="op5" value="1"<? if ($op1=="5"){echo ("checked disabled");}?>></td><td bgcolor="#E4E9E9">Purchase Order sent to Manufacturer</td>
                                  </tr>
                              <tr>
                                <td bgcolor="#E4E9E9"><input name="op6" type="checkbox" id="op6" value="1"<? if ($op1=="6"){echo ("checked");}?>></td><td bgcolor="#E4E9E9">Product has been received</td>
                                  </tr>
                              <tr>
                                <td bgcolor="#E4E9E9"><input name="op7" type="checkbox" id="op7" value="1"<? if ($op1=="7"){echo ("checked");}?>></td><td bgcolor="#E4E9E9">Product delivered to customer</td>
                                  </tr>
                              <tr>
                                <td bgcolor="#E4E9E9"><input name="op8" type="checkbox" id="op8" value="1"<? if ($op1=="8"){echo ("checked");}?>></td><td bgcolor="#E4E9E9">Order has been closed</td>
                                  </tr>
                                                                                    </table> 
Ese es el code de los checkbox es una tabla.................. si necesitas en donde hago el Update me avisas

PD: da scroll por la tabulacion de Dreamweaver
__________________
Carlos Herrera
Web Developer
www.carlos.com.ve
Para descargar archivos propios a su Teléfono Mobil? www.carlosfocus.com
  #4 (permalink)  
Antiguo 03/03/2006, 13:35
Avatar de claudiovega  
Fecha de Ingreso: octubre-2003
Ubicación: Puerto Montt
Mensajes: 3.667
Antigüedad: 21 años, 1 mes
Puntos: 11
Cre que este código casi funciona:

Código PHP:
<?php
  $op
=$_POST['op'];
  
print_r($op);
?>
<html>
<head>
  <title>Prueba Checkbox</title>
</head>
<body>
    <form name="f1" action="<?php echo $_SERVER['PHP_SELF']?>" method="POST">
        <input type="checkbox" name="op[]" value="1" <?php if ($op[0]=="1") echo "checked disabled";?>> Validacion 1 <br>
        <input type="checkbox" name="op[]" value="1" <?php if ($op[1]=="1") echo "checked disabled";?>> Validacion 2 <br>
        <input type="checkbox" name="op[]" value="1" <?php if ($op[2]=="1") echo "checked disabled";?>> Validacion 3 <br>
        <input type="checkbox" name="op[]" value="1" <?php if ($op[3]=="1") echo "checked disabled";?>> Validacion 4 <br>
        <input type="submit" name="enviar" value="Enviar">
    </form>
</body>
</html>
Me parece que cuando esta disabled un campo no se envía en el submit.
  #5 (permalink)  
Antiguo 03/03/2006, 13:40
Avatar de carlosfocus  
Fecha de Ingreso: enero-2006
Ubicación: Venezuela
Mensajes: 823
Antigüedad: 18 años, 10 meses
Puntos: 0
Lo probare
__________________
Carlos Herrera
Web Developer
www.carlos.com.ve
Para descargar archivos propios a su Teléfono Mobil? www.carlosfocus.com
  #6 (permalink)  
Antiguo 03/03/2006, 13:46
Avatar de carlosfocus  
Fecha de Ingreso: enero-2006
Ubicación: Venezuela
Mensajes: 823
Antigüedad: 18 años, 10 meses
Puntos: 0
Nada ahora no me inyecta en la base de datos ningun valor........

mi code quedo asi

Código PHP:



            <?php
  $op
=$_POST['op'];
  
print_r($op);
?>
<table width="299" border="0" cellpadding="0" cellspacing="1" bgcolor="#CCCCCC">
                                  <tr>
                                    <td width="25" bgcolor="#E4E9E9"><label>
                                      
                           <input type="checkbox" name="op[]" value="1" <?php if ($op[1]=="1") echo "checked disabled";?>>
                                      </label></td>
                                    <td width="375" bgcolor="#E4E9E9">RFQ sent to the manufacturer</td>
                                  </tr>
                              <tr>
                                <td bgcolor="#E4E9E9"><input type="checkbox" name="op[]" value="1" <?php if ($op[2]=="1") echo "checked disabled";?>></td><td bgcolor="#E4E9E9">Quotation sent to customer</td>
                                  </tr>
                              <tr>
                                <td bgcolor="#E4E9E9"><input type="checkbox" name="op[]" value="1" <?php if ($op[3]=="1") echo "checked disabled";?>></td>
                                    <td bgcolor="#E4E9E9">Sales Order accepted </td>
                                  </tr>
                              <tr>
                                <td bgcolor="#E4E9E9"><input type="checkbox" name="op[]" value="1" <?php if ($op[4]=="1") echo "checked disabled";?>></td><td bgcolor="#E4E9E9">Waiting for Payment</td>
                                  </tr>
                              <tr>
                                <td bgcolor="#E4E9E9"><input type="checkbox" name="op[]" value="1" <?php if ($op[5]=="1") echo "checked disabled";?>></td><td bgcolor="#E4E9E9">Purchase Order sent to Manufacturer</td>
                                  </tr>
                              <tr>
                                <td bgcolor="#E4E9E9"><input type="checkbox" name="op[]" value="1" <?php if ($op[6]=="1") echo "checked disabled";?>></td><td bgcolor="#E4E9E9">Product has been received</td>
                                  </tr>
                              <tr>
                                <td bgcolor="#E4E9E9"><input type="checkbox" name="op[]" value="1" <?php if ($op[7]=="1") echo "checked disabled";?>></td><td bgcolor="#E4E9E9">Product delivered to customer</td>
                                  </tr>
                              <tr>
                                <td bgcolor="#E4E9E9"><input type="checkbox" name="op[]" value="1" <?php if ($op[8]=="1") echo "checked disabled";?>></td><td bgcolor="#E4E9E9">Order has been closed</td>
                                  </tr>
</table>
__________________
Carlos Herrera
Web Developer
www.carlos.com.ve
Para descargar archivos propios a su Teléfono Mobil? www.carlosfocus.com
  #7 (permalink)  
Antiguo 03/03/2006, 13:47
Avatar de claudiovega  
Fecha de Ingreso: octubre-2003
Ubicación: Puerto Montt
Mensajes: 3.667
Antigüedad: 21 años, 1 mes
Puntos: 11
No coloca nada en la bd por que no usas la nomenclatura de array para el name de los checkbox.
Prueba este codigo, lo que hace es dejar activo el checkbox pero evitar cambiar la selección con javascript, no se si sea de tu agrado.

Código PHP:
<?php
  $op1
=$_POST['op1'];
  
$op2=$_POST['op2'];
  
$op3=$_POST['op3'];
  
$op4=$_POST['op4'];
?>
<html>
<head>
  <title>Prueba Checkbox</title>
</head>
<body>
    <form name="f1" action="<?php echo $_SERVER['PHP_SELF']?>" method="POST">
        <input type="checkbox" name="op1" value="1" <?php if ($op1=="1") echo "checked onclick='this.checked=true;'";?>> Validacion 1 <br>
        <input type="checkbox" name="op2" value="1" <?php if ($op2=="1") echo "checked onclick='this.checked=true;'";?>> Validacion 2 <br>
        <input type="checkbox" name="op3" value="1" <?php if ($op3=="1") echo "checked onclick='this.checked=true;'";?>> Validacion 3 <br>
        <input type="checkbox" name="op4" value="1" <?php if ($op4=="1") echo "checked onclick='this.checked=true;'";?>> Validacion 4 <br>
        <input type="submit" name="enviar" value="Enviar">
    </form>
</body>
</html>
  #8 (permalink)  
Antiguo 03/03/2006, 13:52
Avatar de carlosfocus  
Fecha de Ingreso: enero-2006
Ubicación: Venezuela
Mensajes: 823
Antigüedad: 18 años, 10 meses
Puntos: 0
Nada no me inyecta nada a la base de datos
__________________
Carlos Herrera
Web Developer
www.carlos.com.ve
Para descargar archivos propios a su Teléfono Mobil? www.carlosfocus.com
  #9 (permalink)  
Antiguo 03/03/2006, 13:53
Avatar de carlosfocus  
Fecha de Ingreso: enero-2006
Ubicación: Venezuela
Mensajes: 823
Antigüedad: 18 años, 10 meses
Puntos: 0
OK agrege los valores a la base de datos manualmente pero no me cumple la funcion
__________________
Carlos Herrera
Web Developer
www.carlos.com.ve
Para descargar archivos propios a su Teléfono Mobil? www.carlosfocus.com
  #10 (permalink)  
Antiguo 03/03/2006, 13:58
Avatar de claudiovega  
Fecha de Ingreso: octubre-2003
Ubicación: Puerto Montt
Mensajes: 3.667
Antigüedad: 21 años, 1 mes
Puntos: 11
Como dejaste el codigo?
  #11 (permalink)  
Antiguo 03/03/2006, 14:00
Avatar de carlosfocus  
Fecha de Ingreso: enero-2006
Ubicación: Venezuela
Mensajes: 823
Antigüedad: 18 años, 10 meses
Puntos: 0
asi

Código PHP:

  <?php
  $op
=$_POST['op'];
?>
<table width="299" border="0" cellpadding="0" cellspacing="1" bgcolor="#CCCCCC">
                                  <tr>
                                    <td width="25" bgcolor="#E4E9E9"><label>
                                      
                       <input type="checkbox" name="op[]" value="1" <?php if ($op[0]=="1") echo "checked onclick='this.checked=true;'";?>>
                                      </label></td>
                                    <td width="375" bgcolor="#E4E9E9">RFQ sent to the manufacturer</td>
                                  </tr>
                              <tr>
                                <td bgcolor="#E4E9E9"><input type="checkbox" name="op[]" value="1" <?php if ($op[1]=="1") echo "checked onclick='this.checked=true;'";?>></td><td bgcolor="#E4E9E9">Quotation sent to customer</td>
                                  </tr>
                              <tr>
                                <td bgcolor="#E4E9E9"><input type="checkbox" name="op[]" value="1" <?php if ($op[3]=="1") echo "checked disabled";?>></td>
                                    <td bgcolor="#E4E9E9">Sales Order accepted </td>
                                  </tr>
                              <tr>
                                <td bgcolor="#E4E9E9"><input type="checkbox" name="op[]" value="1" <?php if ($op[4]=="1") echo "checked disabled";?>></td><td bgcolor="#E4E9E9">Waiting for Payment</td>
                                  </tr>
                              <tr>
                                <td bgcolor="#E4E9E9"><input type="checkbox" name="op[]" value="1" <?php if ($op[5]=="1") echo "checked disabled";?>></td><td bgcolor="#E4E9E9">Purchase Order sent to Manufacturer</td>
                                  </tr>
                              <tr>
                                <td bgcolor="#E4E9E9"><input type="checkbox" name="op[]" value="1" <?php if ($op[6]=="1") echo "checked disabled";?>></td><td bgcolor="#E4E9E9">Product has been received</td>
                                  </tr>
                              <tr>
                                <td bgcolor="#E4E9E9"><input type="checkbox" name="op[]" value="1" <?php if ($op[7]=="1") echo "checked disabled";?>></td><td bgcolor="#E4E9E9">Product delivered to customer</td>
                                  </tr>
                              <tr>
                                <td bgcolor="#E4E9E9"><input type="checkbox" name="op[]" value="1" <?php if ($op[8]=="1") echo "checked disabled";?>></td><td bgcolor="#E4E9E9">Order has been closed</td>
                                  </tr>
                                                                                    </table>
__________________
Carlos Herrera
Web Developer
www.carlos.com.ve
Para descargar archivos propios a su Teléfono Mobil? www.carlosfocus.com
  #12 (permalink)  
Antiguo 03/03/2006, 14:37
Avatar de claudiovega  
Fecha de Ingreso: octubre-2003
Ubicación: Puerto Montt
Mensajes: 3.667
Antigüedad: 21 años, 1 mes
Puntos: 11
Debes cambiar todos los name="op[]" por name="opX", X= numero del op, esto por que el codigo que inserta en la bd usa esa nomenclatura.
  #13 (permalink)  
Antiguo 03/03/2006, 14:48
Avatar de carlosfocus  
Fecha de Ingreso: enero-2006
Ubicación: Venezuela
Mensajes: 823
Antigüedad: 18 años, 10 meses
Puntos: 0
djejejejejeje que bien se siente cuando logras las cosas

MUUUCHAS GRACIAS

En verdad te debo mas de una jejeje
__________________
Carlos Herrera
Web Developer
www.carlos.com.ve
Para descargar archivos propios a su Teléfono Mobil? www.carlosfocus.com
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 21:47.