Tengo 17 ambitos, asique debería mostrarme 17 tablas
lo hago mediante este bucle for:
Código:
ok, ahora hago la consulta en la que selecciono los datos dependiendo del codAmbito el cual tiene el valor de $i.for ($i = 1; $i < 18; $i++){ }
Código:
$sql = mysql_query("SELECT descripAmbito, descripCentro, numeroPregunta, evaluador1, evaluador2, evaluador3, opinPos, opinNeg FROM ambitos, centros, encuestas WHERE encuestas.codAmbito = $i AND ambitos.codAmbito = encuestas.codAmbito AND centros.codCentro = encuestas.codCentro ORDER BY encuestas.numeroPregunta");
ahora hago una consulta para que me muestre el nombre del ambito antes de cada tabla con el contenido, en la que vuelvo a coger el nombre del ambito con el $i.
Código:
y ahora creo la tabla antes de empezar a rellenar la tabla, la relleno, y cierro la tabla.$sql2 = mysql_query("SELECT descripAmbito FROM ambitos WHERE codAmbito = $i"); while ($nombre = mysql_fetch_row($sql2)){ echo "<b>Ambito:</b> $nombre[0]<br><br>"; }
Código:
echo "<table border=\"1\"><tr><td>codAmbito</td><td>codCentro</td><td>numeroPregunta</td> <td>evaluador1</td><td>evaluador2</td><td>evaluador3</td> <td>opinPos</td><td>opinNeg</td><td>Media</td><td>Ponderacion</td></tr>"; while ($campo = mysql_fetch_row($sql)){ $media = round(($campo[4] + $campo[5] + $campo[6]) /3); $ponderacion = round($media * 2); echo "<tr>"; echo "<td>$campo[0] </td>"; echo "<td>$campo[1] </td>"; echo "<td>$campo[2] </td>"; echo "<td>$campo[3] </td>"; echo "<td>$campo[4] </td>"; echo "<td>$campo[5] </td>"; echo "<td>$campo[6] </td>"; echo "<td>$campo[7] </td>"; echo "<td>$media </td>"; echo "<td>$ponderacion </td>"; echo "</tr>"; } echo "<br><br>";
Mi pregunta ahora es.. ¿porque pasa esto?
![](http://s2.subirimagenes.com/otros/previo/thump_7737016report.jpg)
Como podeis ver, me muestra un titulo, no me muestra nada, me muestra otro titulo con la tabla que deberia ir junto al titulo anterior.. etc, vamos lo que se ve en la foto.
(En la foto no se siguen rellenando tablas ni poniendo títulos porque no tengo más que 2 ambitos creados de momento).
PD: Dejo el código completo:
Código PHP:
Ver original
<?php include('conex.php'); for ($i = 1; $i < 18; $i++){ $sql = mysql_query("SELECT descripAmbito, descripCentro, numeroPregunta, evaluador1, evaluador2, evaluador3, opinPos, opinNeg FROM ambitos, centros, encuestas WHERE encuestas.codAmbito = $i AND ambitos.codAmbito = encuestas.codAmbito AND centros.codCentro = encuestas.codCentro ORDER BY encuestas.numeroPregunta"); echo "<b>Ambito:</b> $nombre[0]<br><br>"; } echo "<table border=\"1\"><tr><td>codAmbito</td><td>codCentro</td><td>numeroPregunta</td> <td>evaluador1</td><td>evaluador2</td><td>evaluador3</td> <td>opinPos</td><td>opinNeg</td><td>Media</td><td>Ponderacion</td></tr>"; echo "<tr>"; echo "<td>$campo[0] </td>"; echo "<td>$campo[1] </td>"; echo "<td>$campo[2] </td>"; echo "<td>$campo[3] </td>"; echo "<td>$campo[4] </td>"; echo "<td>$campo[5] </td>"; echo "<td>$campo[6] </td>"; echo "<td>$campo[7] </td>"; echo "<td>$media </td>"; echo "<td>$ponderacion </td>"; echo "</tr>"; } echo "<br><br>"; } ?>