Intentando mostrar la lista de miembros

Por alguna razón, trato de mostrar todos los miembros de la base de datos en una lista para acceder a cada uno de sus perfiles cuando hago clic en ellos, pero solo obtengo el enlace de la última persona en la base de datos, cualquier ¿ayudar?

include_once "../../mysql_server/connect_to_mysql.php";

//This code is used to display friends in the box of friends
$sql = mysql_query("SELECT * FROM myMembers");
$numberofRows = mysql_num_rows($sql);

$memberDisplayList = 'There are ' . $numberofRows .' members<br /><br />';

while($row = mysql_fetch_array($sql)) {

    $id = $row['id']; 
    $firstname = $row["firstname"];
    $lastname = $row["lastname"];

    ///////  Mechanism to Display Pic. See if they have uploaded a pic or not 
    $check_pic = "../../members/$id/image01.jpg";
    $default_pic = "../../members/0/image01.jpg";
    if (file_exists($check_pic)) {
        $user_pic = "<img src=\"$check_pic?$cacheBuster\" width=\"80px\" />"; 
    } else {
        $user_pic = "<img src=\"$default_pic\" width=\"80px\" />"; 
    }

    $memberDisplayList = '<a href="http://www.pathtosite.com/friends_page.php?id='. $id .'">' . $firstname .' '. $lastname .'</a><br />';   
}
// ------- END WHILE LOOP FOR GETTING THE MEMBER DATA ---------

preguntado el 03 de mayo de 12 a las 20:05

3 Respuestas

Pienso en lugar de

$memberDisplayList = '<a href= (...etc)

querías escribir

$memberDisplayList .= '<a href= (...etc)

que agregaría los nuevos enlaces a su cadena.

Además, no pareces estar haciéndote eco de tu $user_pic y $memberDisplayList cuerdas en cualquier lugar.

contestado el 03 de mayo de 12 a las 20:05

SÍ, gracias, y hago eco del código a continuación, ¡pero funciona! ¡Muchas gracias! - mike avery

Es porque sobrescribe las variables en cada iteración, necesita mantener los datos dentro de una matriz y luego hacer otro bucle foreach donde quiera que salga:

<?php 
while($row = mysql_fetch_array($sql)){
    ///////  Mechanism to Display Pic. See if they have uploaded a pic or not  //////////////////////////
    $check_pic = "../../members/{$row['id']}/image01.jpg";
    $default_pic = "../../members/0/image01.jpg";
    if (file_exists($check_pic)) {
        $user_pic = "<img src=\"$check_pic?$cacheBuster\" width=\"80px\" />";
    } else {
        $user_pic = "<img src=\"$default_pic\" width=\"80px\" />";
    }

    $user[] = array('id'=>$row['id'],
                    'firstname'=>$row["firstname"],
                    'lasname'=>$row["lastname"],
                    'user_pic'=>$user_pic,
                    'display_list'=>'<a href="http://www.pathtosite.com/friends_page.php?id='. $row['id'].'">' . $row["firstname"] .' '. $row["lastname"] .'</a><br />');
}
?>

contestado el 03 de mayo de 12 a las 20:05

¿Dónde estás realmente construyendo el HTML? Está configurando un montón de variables en el código que presentó, y eso se ve bien por lo que es. Así que probablemente esté en la lógica de presentación. Si eso está en el bucle, estás en buena forma. Pero si está fuera del ciclo, entonces no puedo imaginar dónde mostrarías algo más que la última fila.

contestado el 03 de mayo de 12 a las 20:05

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.