Ver Mensaje Individual
  #1 (permalink)  
Antiguo 31/05/2012, 05:27
Avatar de oNefl0w189
oNefl0w189
 
Fecha de Ingreso: abril-2010
Ubicación: Valladolid
Mensajes: 117
Antigüedad: 14 años, 11 meses
Puntos: 4
Mostrar Medias de varios datos cogidos dinamicamente

Buenos dias, tengo un problemilla, es al mostrar los datos, no se porqué no me muestra los resultados como debería.

Tengo 17 ambitos, asique debería mostrarme 17 tablas

lo hago mediante este bucle for:
Código:
for ($i = 1; $i < 18; $i++){ }
ok, ahora hago la consulta en la que selecciono los datos dependiendo del codAmbito el cual tiene el valor de $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:
	$sql2 = mysql_query("SELECT descripAmbito FROM ambitos WHERE codAmbito = $i");

	while ($nombre = mysql_fetch_row($sql2)){
	echo "<b>Ambito:</b> $nombre[0]<br><br>";
	}
y ahora creo la tabla antes de empezar a rellenar la tabla, la relleno, y cierro la tabla.

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?



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
  1. <?php
  2.     include('conex.php');
  3.    
  4.     for ($i = 1; $i < 18; $i++){
  5.    
  6.     $sql =  mysql_query("SELECT descripAmbito, descripCentro, numeroPregunta, evaluador1, evaluador2, evaluador3, opinPos, opinNeg
  7.     FROM ambitos, centros, encuestas
  8.     WHERE   encuestas.codAmbito = $i
  9.         AND ambitos.codAmbito = encuestas.codAmbito
  10.         AND centros.codCentro = encuestas.codCentro
  11.     ORDER BY encuestas.numeroPregunta");
  12.    
  13.     $sql2 = mysql_query("SELECT descripAmbito FROM ambitos WHERE codAmbito = $i");
  14.  
  15.     while ($nombre = mysql_fetch_row($sql2)){
  16.     echo "<b>Ambito:</b> $nombre[0]<br><br>";
  17.     }
  18.    
  19.     echo "<table border=\"1\"><tr><td>codAmbito</td><td>codCentro</td><td>numeroPregunta</td>
  20.             <td>evaluador1</td><td>evaluador2</td><td>evaluador3</td>
  21.             <td>opinPos</td><td>opinNeg</td><td>Media</td><td>Ponderacion</td></tr>";
  22.     while ($campo = mysql_fetch_row($sql)){
  23.     $media = round(($campo[4] + $campo[5] + $campo[6]) /3);
  24.     $ponderacion = round($media * 2);
  25.     echo "<tr>";
  26.     echo "<td>$campo[0]     </td>";
  27.     echo "<td>$campo[1]     </td>";
  28.     echo "<td>$campo[2]     </td>";
  29.     echo "<td>$campo[3]     </td>";
  30.     echo "<td>$campo[4]     </td>";
  31.     echo "<td>$campo[5]     </td>";
  32.     echo "<td>$campo[6]     </td>";
  33.     echo "<td>$campo[7]     </td>";
  34.     echo "<td>$media        </td>";
  35.     echo "<td>$ponderacion  </td>";
  36.     echo "</tr>";
  37.     }
  38.     echo "<br><br>";
  39.     }
  40. ?>
__________________
Nunca dijeron que la vida sería fácil, sólo prometieron que valdría la pena vivirla.

Dar las gracias y añadir Karma, no cuesta nada, ¿Que menos si te ayudan? :)