PHP - Problema al dejar chequeado un checkbox en php

   
Vista:

Problema al dejar chequeado un checkbox en php

Publicado por cristian (8 intervenciones) el 21/09/2015 18:42:31
Tengo dos consultas desde mysql, una obtengo todos los tecnicos desde tabla empleados y la otra obtengo los tecnicos que han realizado un trabajo especifico desde tabla tecnicos. La idea es que muestre todos los tecnicos en un listado de checkbox y que solo muestre chequeados los tecnicos que han realizado el trabajo segun consulta. El problema es que cuando hago la condicion para chequear los tecnicos no la hace. Dejo el codigo.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
<?php
include("conexion.php");
$sql1=mysql_query("SELECT nombre_tecnico FROM tecnicos WHERE id='".$numero."'",$conexion);
$sql=mysql_query("SELECT nombre_empleado FROM empleados WHERE tipo_empleado='TECNICO'",$conexion);
if(mysql_num_rows($sql)>0)
{
echo '<table style="border: #999 2px solid;" bgcolor="#FFFFFF">';
$columnes = 3;
for ($i=1; $row = mysql_fetch_row($sql); $i++) {
$resto = ($i % $columnes);
$contador=0;
 
 while($row1=mysql_fetch_array($sql1)) // AQUI ES DONDE HAGO LA COMPARACION DE LAS DOS CONSULTAS Y NO LO REALIZA
		{
		if ($row[0]==$row1[0])
		{
			$contador=1;
		}
		}
if ($resto == 1) {echo "<tr>";}
	if ($contador==1){
		echo '<td><label><input type="checkbox" name="cms[]" value="'.$row[0].'" id="'.$row[0].'" checked/>'.$row[0].'</label></td>';
		}
	else{
    echo '<td><label><input type="checkbox" name="cms[]" value="'.$row[0].'" id="'.$row[0].'"/>'.$row[0].'</label></td>';
	}
if ($resto == 0) {echo "</tr>";}
}
if ($resto <> 0) {
$ajust = $columnes - $resto;
for ($j = 0; $j < $ajust; $j++) {echo "<td>&nbsp;</td>";}
echo "</tr>";
}
echo "</table>";
}
mysql_close($conexion);
?>
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Problema al dejar chequeado un checkbox en php

Publicado por cristian (8 intervenciones) el 23/09/2015 15:23:28
Encontre la solucion lo dejo por si a alguien se le presenta el mismo problema. El tema es que una de las consulta ahi que agregarlo a un array.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
<?php
include("conexion.php");
 
$sql1=mysql_query("SELECT nombre_tecnico FROM tecnicos WHERE id='".$numero."'",$conexion);
$sql=mysql_query("SELECT nombre_empleado FROM empleados WHERE tipo_empleado='TECNICO'",$conexion);
$arr = array();
$result = mysql_query("SELECT * FROM stock ORDER BY id asc");
$c=0;
while($row1 = mysql_fetch_array($sql1)){
$arr[$c]=$row1[0];
$c++;
}
 
if(mysql_num_rows($sql)>0)
{
echo '<table style="border: #999 2px solid;" bgcolor="#FFFFFF">';
$columnes = 3; # Número de columnas (variable) 
for ($i=1; $row = mysql_fetch_row($sql); $i++) {
$resto = ($i % $columnes); # Número de celda del <tr> en que nos encontramos  
$contador=0;
$dato=$row[0];
$d=count($arr);
 
 for ($x=0;$x<=$d;$x++)
		{
		if ($dato==$arr[$x])
		{
			$contador=1;
		}
		}
if ($resto == 1) {echo "<tr>";} # Si es la primera celda, abrimos <tr> 
	if ($contador==1){
		echo '<td><label><input type="checkbox" name="cms[]" value="'.$row[0].'" id="'.$row[0].'" checked/>'.$row[0].'</label></td>';
		}
	else{
    echo '<td><label><input type="checkbox" name="cms[]" value="'.$row[0].'" id="'.$row[0].'"/>'.$row[0].'</label></td>';
	}
if ($resto == 0) {echo "</tr>";} # Si es la última celda, cerramos </tr>  
}
if ($resto <> 0) { # Si el resultado no es múltiple de $columnes acabamos de rellenar los huecos  
$ajust = $columnes - $resto; # Número de huecos necesarios  
for ($j = 0; $j < $ajust; $j++) {echo "<td>&nbsp;</td>";}
echo "</tr>"; # Cerramos la última línea </tr>  
}
echo "</table>";
}
mysql_close($conexion);
?>
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar