PHP - Problema con fecht_row y ciclo for

   
Vista:

Problema con fecht_row y ciclo for

Publicado por wildbeast (4 intervenciones) el 05/05/2013 23:53:58
veran, estoy haciendo una tabla dinamica, le tengo que marcar que filas quiero ver y me cargara la pagina con los datos, el problema es que cuando se imprimen los datos de las consultas, siempre se repite el primer campo, nunca avanza al segundo, puede haber 2 explicaciones, la primera es que el if que imprime la tabla no aumenta el puntero de las variables con el ciclo for, o 2 un error que no conozco o encuentro

primero el formulario
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
<body>
<label>Elija los datos de la tabla, recuerde que Apellido, Nombre y Cedula son obligatorios</label>
<br> <br>
<form action="resultado2.php" method="POST">
<label>Cohorte</label>
<input type="checkbox" name= "cohorte" id = "ce" value = "on"/>
<br> <br>
 
<label> Municipio enero</label>
<input type="checkbox" name= "municipio_enero"id = "mu" value = "on"/>
 
<label>Hospital enero</label>
<input type="checkbox" name= "hospital_enero"id = "he" value = "on"/>
<label>Ambulatorio enero</label>
<input type="checkbox" name= "ambulatorio_enero"id = "ae" value = "on"/>
<label>Rotacion enero 2013</label>
<input type="checkbox" name= "rotacion_enero" id = "re" value = "on"/>
<br> <br>
 
<label>Municipio mayo</label>
<input type="checkbox" name= "municipio_mayo"id = "mm" value = "on"/>
<label>Hospital mayo</label>
<input type="checkbox" name= "hospital_mayo"id = "hm" value = "on"/>
<label>Ambulatorio mayo</label>
<input type="checkbox" name= "ambulatorio_mayo"id = "am" value = "on"/>
<label>Rotacion mayo 2013</label>
<input type="checkbox" name= "rotacion_mayo"id = "rm" value = "on"/>
<br>
<input type="submit" name= "buscar" value="Buscar medicos"/>
</body>


segundo el codigo de la pagina de respuesta

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
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
<body>
<?php
 
$db = new mysqli ("localhost", "root",'', "csv_db");
 
 
  $dato1 = null;$dato2 = null;  $dato3  = null; $dato4  = null; $dato5  = null; $dato6 = null;  $dato7  = null; $dato8  = null; $dato9  = null;
if (isset($_POST['municipio_enero'])) {
 
if ($_POST['municipio_enero'] == "on")
{
$dato2 = $db->query('SELECT municipio_enero FROM mic WHERE id = 1' )->fetch_row();
}}
 
if (isset($_POST['cohorte'])) {
 
if ($_POST['cohorte'] == "on")
	{
$dato1 = $db->query('SELECT cohorte FROM mic WHERE id = 1' )->fetch_row();
 
	}
}
 
 
if (isset($_POST['hospital_enero'])) {
	if ($_POST['hospital_enero'] == "on") {
	$dato3 = $db->query('SELECT hospital_enero FROM mic WHERE id = 1' )->fetch_row();
}
}
 
 
if (isset($_POST['ambulatorio_enero'])) {
if ($_POST['ambulatorio_enero'] == "on") {
	$dato4 = $db->query('SELECT ambulatorio_enero FROM mic WHERE id = 1' )->fetch_row();
}}
 
if (isset($_POST['rotacion_enero'])) {
if ($_POST['rotacion_enero'] == "on") {
	$dato5 = $db->query('SELECT rotacion_enero_2013 FROM mic WHERE id = 1' )->fetch_row();
}
}
if (isset($_POST['municipio_mayo'])) {
if ($_POST['municipio_mayo'] == "on") {
	$dato6 = $db->query('SELECT municipio_mayo FROM mic WHERE id = 1' )->fetch_row();
}}
if (isset($_POST['hospital_mayo'])) {
if ($_POST['hospital_mayo'] == "on") {
	$dato7 = $db->query('SELECT hospital_mayo FROM mic WHERE id = 1' )->fetch_row();
}
}
if (isset($_POST['ambulatorio_mayo'])) {
if ($_POST['ambulatorio_mayo'] == "on") {
	$dato8 = $db->query('SELECT ambulatorio_mayo FROM mic WHERE id = 1' )->fetch_row();
}
}
if (isset($_POST['rotacion_mayo'])) {
if ($_POST['rotacion_mayo'] == "on") {
	$dato9 = $db->query('SELECT rotacion_mayo_2013 FROM mic WHERE id = 1' )->fetch_row();
} }
 
echo "<img src=img/mic1.png class=error al cargar la imagen /><br> ";
 
 
 $contador = 1;
 while ($contador <= 10) {
     $contador++;
 
 
 
 
echo "<table border='1' cellpadding='0' cellspacing='0'>
<tr>
 <td WIDTH=100>APELLIDOS</td>
  <td WIDTH=100>NOMBRES </td>
  <td WIDTH=100>CEDULA  </td>";
 
if (!empty($dato1)){
echo  '<td WIDTH=100>'.$dato1[0].'</td>';
}
if (!empty($dato2)){
echo " <td WIDTH=100>$dato2[0]</td>";
}
if (!empty($dato3)){
echo " <td WIDTH=100>$dato3[0]</td>";
}
if (!empty($dato4)){
echo " <td WIDTH=100>$dato4[0]</td>";
}
if (!empty($dato5)){
echo " <td WIDTH=100>$dato5[0]</td>";
}
if (!empty($dato6)){
echo " <td WIDTH=100>$dato6[0]</td>";
}
if (!empty($dato7)){
echo " <td WIDTH=100>$dato7[0]</td>";
}
if (!empty($dato8)){
echo " <td WIDTH=100>$dato8[0]</td>";
}
if (!empty($dato9)){
echo " <td WIDTH=100>$dato9[0]</td>";
}
echo "</tr>";
 
 
$limitador = $db->query("SELECT id FROM mic ORDER BY apellido ASC" );
$limit= $limitador->num_rows;
 
 while (0 <= $limit) {
 
 
 
$nombre = $db->query('SELECT nombre FROM mic ORDER BY apellido ASC' )->fetch_row();
$apellido = $db->query('SELECT apellido FROM mic ORDER BY apellido ASC'  )->fetch_row();
$cedula = $db->query('SELECT cedula FROM mic ORDER BY apellido ASC' )->fetch_row();
 
 
 
 
 
 
echo '<tr>
<td WIDTH=100>'.$apellido[0].'  </td> <td WIDTH=100>'.$nombre[0].'  </td><td WIDTH=100>'.$cedula[0].'  </td>';
 
if (isset($_POST['cohorte'])) {
$consulta1 = $db->query('SELECT cohorte FROM mic ORDER BY apellido ASC' )->fetch_row();
if ($_POST['cohorte'] == "on") {echo ' <td WIDTH=100>'.$consulta1[0].'</td>';
}}
if (isset($_POST['municipio_enero'])) {
$consulta2 = $db->query('SELECT municipio_enero FROM mic ORDER BY apellido ASC' )->fetch_row();
if ($_POST['municipio_enero'] == "on") {echo " <td WIDTH=100>$consulta2[0]</td>";
}}
if (isset($_POST['hospital_enero'])) {
	$consulta3 = $db->query('SELECT hospital_enero FROM mic ORDER BY apellido ASC' )->fetch_row();
if ($_POST['hospital_enero'] == "on") {echo " <td WIDTH=100>$consulta3[0]</td>";
}}
if (isset($_POST['ambulatorio_enero'])) {
$consulta4 = $db->query('SELECT ambulatorio_enero FROM mic ORDER BY apellido ASC' )->fetch_row();
if ($_POST['ambulatorio_enero'] == "on") {echo " <td WIDTH=100>$consulta4[0]</td>";
}}
if (isset($_POST['rotacion_enero'])) {
 $consulta5 = $db->query('SELECT rotacion_enero_2013 FROM mic ORDER BY apellido  ASC' )->fetch_row();
if ($_POST['rotacion_enero'] == "on") {echo " <td WIDTH=100>$consulta5[0]</td>";
}}
if (isset($_POST['municipio_mayo'])) {$consulta6 = $db->query('SELECT municipio_mayo FROM mic ORDER BY apellido ASC' )->fetch_row();
 
if ($_POST['municipio_mayo'] == "on") {echo " <td WIDTH=100>$consulta6[0]</td>";
}}
if (isset($_POST['hospital_mayo'])) {$consulta7 = $db->query('SELECT hospital_mayo FROM mic ORDER BY apellido ASC' )->fetch_row();
 
if ($_POST['hospital_mayo'] == "on") {echo " <td WIDTH=100>$consulta7[0]</td>";
}}
if (isset($_POST['ambulatorio_mayo'])) {$consulta8 = $db->query('SELECT ambulatorio_mayo FROM mic ORDER BY apellido ASC' )->fetch_row();
 
if ($_POST['ambulatorio_mayo'] == "on") {echo " <td WIDTH=100>$consulta8[0]</td>";
}}
if (isset($_POST['rotacion_mayo'])) {$consulta9 = $db->query('SELECT rotacion_mayo_2013 FROM mic ORDER BY apellido ASC'  )->fetch_row();
 
if ($_POST['rotacion_mayo'] == "on") {echo "<td WIDTH=100>$consulta9[0]</td> ";
}}
echo "</tr>
";
}}
echo "
</table>";
 ?>
 </body>


el problema es que siempre se repiten los campos de la base de datos, no muestran el siguiente solo el mismo repetido por el ciclo for
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
Imágen de perfil de xve

Problema con fecht_row y ciclo for

Publicado por xve (5519 intervenciones) el 06/05/2013 07:57:24
Hola wildbeast, la verdad es que cuesta un poco seguir tu código al estar todo mal tabulado...

Visto por encima, veo que no cambias nunca de registro, siempre estas mirando el mismo... puede ser que te falte hacer el fetch_row() de $dato1, $datos2, ...?
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

Problema con fecht_row y ciclo for

Publicado por Juan Cubas (4 intervenciones) el 07/05/2013 01:33:13
el ciclo de $dato es perfecto, el problema es los $consulta que no avanzan
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
Imágen de perfil de xve

Problema con fecht_row y ciclo for

Publicado por xve (5519 intervenciones) el 07/05/2013 07:58:54
Si, lo veo, ya que por cada ciclo del bucle, haces la misma consulta... creo que la consulta la deberías hacer fuera del bucle y luego únicamente realizar el fech_row() dentro del bucle... siempre y cuando hayan registros para avanzar.

No se si me he explicado bien... comentanos, ok?
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

Problema con fecht_row y ciclo for

Publicado por wildbeast (4 intervenciones) el 07/05/2013 21:07:05
gracias, el problema fue solucionado, thanks
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
Imágen de perfil de xve

Problema con fecht_row y ciclo for

Publicado por xve (5519 intervenciones) el 07/05/2013 21:46:18
Hola Wildbeast, te agradezco que nos lo comentas...
Nos puedes mostrar como lo has solucionado?
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