Foros del Web » Programando para Internet » PHP »

Checkbox activados con Select Base de Datos

Estas en el tema de Checkbox activados con Select Base de Datos en el foro de PHP en Foros del Web. Necesito ayuda tengo Check List de documentos estoy utilizando un Tinyint con valores 1 y 0 pero cuando quiero realizar una consulta para luego actualizar ...
  #1 (permalink)  
Antiguo 05/01/2016, 07:32
 
Fecha de Ingreso: mayo-2013
Ubicación: San Vicente
Mensajes: 127
Antigüedad: 10 años, 11 meses
Puntos: 1
Sonrisa Checkbox activados con Select Base de Datos

Necesito ayuda tengo Check List de documentos estoy utilizando un Tinyint con valores 1 y 0 pero cuando quiero realizar una consulta para luego actualizar necesito que los checkbox esten con el check activo y si no viceversa aqui dejo el codigo
Código PHP:
Ver original
  1. <?php
  2. $dbhost = 'localhost';
  3. $dbuser = 'root';
  4. $dbpass = '';
  5. $conn = mysql_connect($dbhost, $dbuser, $dbpass);
  6. if(! $conn )
  7. {
  8.   die('Could not connect: ' . mysql_error());
  9. }
  10. $sql = 'SELECT * FROM pruebacheck';
  11. mysql_select_db('checklist');
  12. $retval = mysql_query( $sql, $conn );
  13. if(! $retval )
  14. {
  15.   die('Could not get data: ' . mysql_error());
  16. }
  17. while($row = mysql_fetch_array($retval, MYSQL_NUM))
  18. {
  19.     echo "Correlativo :{$row[0]}  <br> ".
  20.          "<input type=checkbox  <?php if ($row[1]===1) echo checked;?>".
  21.          "--------------------------------<br>";
  22. }
  23. mysql_close($conn);
  24. ?>
  #2 (permalink)  
Antiguo 05/01/2016, 07:39
 
Fecha de Ingreso: julio-2015
Mensajes: 67
Antigüedad: 8 años, 9 meses
Puntos: 5
Respuesta: Checkbox activados con Select Base de Datos

No sé si tendrá algo que ver, pero he visto que en el while tienes lo siguiente:

Código PHP:
Ver original
  1. while($row = mysql_fetch_array($retval, MYSQL_NUM))
  2. {
  3.     echo "Correlativo :{$row[0]}  <br> ".
  4.          "<input type=checkbox  <?php if ($row[1]===1) echo checked;?>".
  5.          "--------------------------------<br>";
  6. }

Tienes 3 símbolos de = en el input

Código PHP:
Ver original
  1. "<input type=checkbox  <?php if ($row[1]===1) echo checked;?>".
  2.          "--------------------------------<br>";

No sé si será ese el problema.
  #3 (permalink)  
Antiguo 05/01/2016, 08:04
 
Fecha de Ingreso: octubre-2010
Ubicación: España
Mensajes: 1.007
Antigüedad: 13 años, 6 meses
Puntos: 123
Respuesta: Checkbox activados con Select Base de Datos

Cita:
Iniciado por xPHPerox Ver Mensaje
No sé si tendrá algo que ver, pero he visto que en el while tienes lo siguiente:

Código PHP:
Ver original
  1. while($row = mysql_fetch_array($retval, MYSQL_NUM))
  2. {
  3.     echo "Correlativo :{$row[0]}  <br> ".
  4.          "<input type=checkbox  <?php if ($row[1]===1) echo checked;?>".
  5.          "--------------------------------<br>";
  6. }

Tienes 3 símbolos de = en el input

Código PHP:
Ver original
  1. "<input type=checkbox  <?php if ($row[1]===1) echo checked;?>".
  2.          "--------------------------------<br>";

No sé si será ese el problema.
Efectivamente como te indica el compañero el problema parece ser ese
Estas comparando si son iguales y además del mismo tipo al utilizar ===, y la segunda no se cumple. Operadores.
Utiliza simplemente == para que php haga la manipulación de tipos
  #4 (permalink)  
Antiguo 05/01/2016, 08:13
 
Fecha de Ingreso: enero-2006
Mensajes: 14
Antigüedad: 18 años, 3 meses
Puntos: 0
Respuesta: Checkbox activados con Select Base de Datos

A parte de lo que ta han comentado de los 3 simbolos =

Yo lo uso de la siguiente forma ( y por manias mias recojo primero el valor en una variable, pero eso deberia dar lo mismo) :

Código:
<input type="checkbox" name="activado" id="activado  <? if($activado==1){print("checked");}?> value="1">
Uso PRINT, despues de muchas peleas me da menos problemas que ECHO. No olvides ponerle el Value si lo que vas a hacer es editarlo con posibilidad de cambiarlo.

a ver si te sirve...

Saludos
  #5 (permalink)  
Antiguo 06/01/2016, 21:13
 
Fecha de Ingreso: mayo-2013
Ubicación: San Vicente
Mensajes: 127
Antigüedad: 10 años, 11 meses
Puntos: 1
Respuesta: Checkbox activados con Select Base de Datos

Pues lo establecí de esta forma pero aun asi no me aparece el checkbox activado
Código PHP:
Ver original
  1. <?php
  2. $dbhost = 'localhost'; $dbuser = 'root'; $dbpass = '12345';
  3. $conn = mysql_connect($dbhost, $dbuser, $dbpass);
  4. if(! $conn )
  5. {
  6.   die('Could not connect: ' . mysql_error());
  7. }
  8. $sql = 'SELECT * FROM `creditosCheckList` WHERE `correlativo` = 2';
  9. mysql_select_db('pruebaCheckList');
  10. $retval = mysql_query( $sql, $conn );
  11. if(! $retval )
  12. {
  13.   die('Could not get data: ' . mysql_error());
  14. }
  15. while($row = mysql_fetch_array($retval, MYSQL_NUM))
  16. {
  17.     echo "Correlativo :{$row[0]}  <br> ";
  18.     echo "Valor del CheckBox :{$row[1]}  <br> ";
  19. //              "<input type='checkbox' name='activado' id='activado  <? if($activado==1){print('checked');}
  20.      echo    "--------------------------------<br>";
  21. }
  22. mysql_close($conn);
  23. ?>
  24. <input type="checkbox" name="homepage" value="1" <?php echo ($row1[1] == 1) ? 'checked="checked"' : ''; ?>/>
  #6 (permalink)  
Antiguo 07/01/2016, 06:36
 
Fecha de Ingreso: octubre-2010
Ubicación: España
Mensajes: 1.007
Antigüedad: 13 años, 6 meses
Puntos: 123
Respuesta: Checkbox activados con Select Base de Datos

Te da algún error en concreto
  #7 (permalink)  
Antiguo 07/01/2016, 07:20
 
Fecha de Ingreso: mayo-2013
Ubicación: San Vicente
Mensajes: 127
Antigüedad: 10 años, 11 meses
Puntos: 1
Respuesta: Checkbox activados con Select Base de Datos

Si me da un error no me aparece activado el check box ya que como el valor es 1 = true tendría que aparecer activado y si es 0 = false es lo contrario y eso es lo que no me realiza

Última edición por sarrhen; 07/01/2016 a las 07:41

Etiquetas: checkbox, mysql, select, sql
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 03:42.