Generación dinámica de listas desordenadas desde una base de datos con PHP y SQL.
Empecé a programar en abril de 2021, así que soy muy nueva en esto. Para mi examen final, ¡necesito de su valiosa ayuda! Quiero generar una lista dinámica desde una base de datos, que contenga 2 tablas unidas (usuarios e intereses). Ambas tablas contienen “ID_user”, que las vincula como clave externa. La idea es que una vez que el usuario inicie sesión, la página de perfil muestre todos los intereses seleccionados en el registro. En este momento, solo puedo mostrar el último interés seleccionado y no todos.
Aquí está mi código en PHP:
$request2 = “SELECT interest
.name_Interest
FROM interest
INNER JOIN users
ON interest
.ID_user
= users
.ID_user
WHERE pseudo
= ‘”.$url_pseudo.”‘;”;
$resultat2 = mysqli_query($connexion, $request2) or die (mysqli_error($connexion));
$nb_resultat2 = mysqli_num_rows($resultat2);
if ($nb_resultat2 > 0) {
while ($row = mysqli_fetch_array($resultat2)){
$name_Interest = $row["name_Interest"];
}
}
Aquí está el HTML que muestra la respuesta:
(ver imagen en el enlace)
Aquí está mi base de datos:
(ver imagen en el enlace)
¿Alguna idea de por qué solo puedo obtener un valor?
(gracias de antemano)
davy.ai
Solución
La razón por la cual solo puedes mostrar el último interés seleccionado por el usuario es porque estás sobrescribiendo el valor de
$name_Interest
en cada iteración del bucle while. En su lugar, debes concatenar los valores en una variable de tipo string. Así es como puedes modificar tu código para lograr esto:Con esta modificación, deberías ser capaz de mostrar todos los intereses seleccionados por el usuario en la lista dinámica.