Ver Mensaje Individual
  #1 (permalink)  
Antiguo 21/10/2005, 02:49
chelejuan4
 
Fecha de Ingreso: octubre-2005
Mensajes: 132
Antigüedad: 18 años, 6 meses
Puntos: 1
¿Repetir el mysql_fetch_assoc($result)?

Buenas soy un poco novato en php y me di cuenta que repito varias veces la funcion "$row = mysql_fetch_assoc($result);"


Os pongo el codigo y asi vereis a lo que me refiero :

Código PHP:


//mirar en que archipielago estoy
    
$sql "SELECT edificios.tiempo,  edificios.descripcion,  edificios.id as idedificio, islas_edificios.nivel, recetas_edificios.cantidad, edificios.nombre, islas_edificios.nivel, recursos_primarios.recurso";
    
$sql $sql ." FROM (recetas_edificios INNER JOIN recursos_primarios ON recetas_edificios.id_recurso_primarios = recursos_primarios.Id) INNER JOIN (islas_edificios INNER JOIN edificios ON islas_edificios.id_edificio = edificios.Id) ON recetas_edificios.id_edificio = edificios.Id    ";
    
$sql $sql" WHERE islas_edificios.id_isla = " .$_SESSION['idisla']." and edificios.id = ".$_GET['id']."";

    
//crear recordset
    
$result mysql_query ($sql);
    
//comprobar select correcto
    
if (!$result){
        echo(
'Query failed: ' mysql_error());
        exit;
    }
    
    
//asociar filas al resultado y mostrar todas las islas del archipielago
    
$row mysql_fetch_assoc($result);    
    
    
$nivel $row['nivel'];
    
    echo 
"<b>Edificio</b> : "$row['nombre']." (Nivel ".$nivel.")<br>";
    echo 
"<b>Tiempo Crear Edificio</b> : "$row['tiempo'] * ($nivel 1)." seg.<br>";
    echo 
"<b>Descripción</b> : "$row['descripcion']."<br><br>";    
    
    
$id_edificio $row['idedificio'];
    
    echo 
"<b>Materiales subir nuevo nivel.</b><br><br>";    
    
$result mysql_query ($sql);
    while (
$row mysql_fetch_assoc($result)){
        echo 
$row['recurso']." - Cantidad: ".$row['cantidad'] * ($nivel 1)."<br>";
    } 

Si os dais cuenta pongo dos veces el mysql_fetch_assoc($result) , una para mostrar unos datos y otro para hacer el bucle.

¿Esta bien hecho esto? ¿No habria forma de que pueda volver a ver los datos sin tener que recargar el row?.

Venga un saludo.