Ver Mensaje Individual
  #3 (permalink)  
Antiguo 09/02/2012, 09:01
EduardoU24
 
Fecha de Ingreso: octubre-2011
Ubicación: Chile
Mensajes: 52
Antigüedad: 12 años, 6 meses
Puntos: 17
Respuesta: entender como se muestran los resultados con el bucle while

mysql_fetch_X (siendo X: row, assoc, object o array) "divide" la variable del resultado convirtiéndola en atributos.

Independientemente de si usas un bucle (sea cual sea, foreach - for - while - do - etc) lo que hace es transformar la variable que se imprimiría como Resource #X (Ya que imprime eso para demostrar que existen datos, pero que no se están mostrando correctamente) a una variable especifica y detallada

ej:
Asumiendo que tenemos una DB con comentarios, y esos comentarios están compuestos de id,nombre,texto por decir algo
y los llamamos con php y los dejamos dentro de un bucle cualquiera (como lo siguiente:)

Código PHP:
$sql mysql_query("mi sql");
while(
$resultado mysql_fetch_assoc($sql)) {
     echo 
'ID: ' $resultado['id'] . '<br />';
     echo 
'Nombre: ' $resultado['nombre'] . '<br />';
     echo 
'Texto: ' $resultado['texto'] . '<br />';

Lo que pasa aquí es que primero, llamas los datos con _query,
luego "divides" los datos del resultado de la siguiente forma:

(asumiendo que son 3 comentarios)

$resultado[0] es id, nombre, texto para el primer caso,
se podria imprimir:
$resultado[0]['id'], $resultado[0]['nombre'], $resultado[0]['texto'],

asi mismo con los siguientes:
$resultado[1]
$resultado[2]

Lo que hace while (o cualquier bucle) es pasar por cada uno de esos [0],[1],[2] y transformarlos a:
$resultado['id'], ya que en cada uno de los "ciclos" por los que pasa, se refiere a la posición actual que tiene.

El bucle es irrelevante mientras sepas usarlo para que pase por cada uno de los ciclos que quieras, se diferencian dependiendo de si quieres hacer algo especial con ellos. tienen sus ventajas, pero no es necesario siempre el mismo

un foreach podria ser de la misma utilidad,
seria:

Código PHP:
foreach($resultados as $comentario) {
     echo 
$comentario['id'];

y seria lo mismo
__________________
No respondo mensajes privados, pregunte por foro como todos los mortales.