PHP|Débutant :: Forums

Advertisement

Besoin d'aide ? N'hésitez pas, mais respectez les règles

Vous n'êtes pas identifié(e).

#1 24-11-2019 16:58:41

nagyp
Membre
Inscription : 24-11-2019
Messages : 1

un petit souci de boucle qui tourne pas.

Bonjour à tous et merci d'avance.
Je suis débutante en PHP et dans mon devoir je dois faire tourner un programme "en PJ "
Je liste les id des villes consultées par un utilisateur nommé. identifier par la variable ($input_user_id)
À partir de cette liste je dois afficher ces villes (ville_nom).
Pour ça j'ai trois tables MYSQL:
user: (user-id et user login)
villes (ville id, ville nom et villes texte)
user search (user id et ville id) qui est incrémenté à chaque visite par un utilisateur.
Le programme que je mets en PJ fait le job mais ne fait pas les boucles il se contente d'afficher la dernière ville visitée.

dans ma base utilisateur 1 a visité les villes A,B et C.
le programme ne va affiché que C.

http://forum.phpdebutant.org/help.php#url

  1. <?php require('connexion.php'); ?> <!--connection à la base de donnée-->
    <?php
       
        $id_result = $mysqli->query('SELECT ville_id FROM user_searchs WHERE user_id = '. $input_user_id);// je prends les villes_id consulté par $input_user_id.   
                        // pour chaque résultat de $id_result je fait les commandes suivantes.                   
       
        $row = $id_result->fetch_array();
        $id_nom= $row['ville_id']; // place cette id dans une variable
           
        $result = $mysqli->query('SELECT ville_nom FROM villes WHERE ville_id = '. $id_nom);
        $row = $result->fetch_array();
        // variables destinees a l'affichage
        $v_nom= $row['ville_nom'];

        ?>
        <body>
        <div>
        <h3><?php echo $v_nom ?></h3>
    </div>
    </body>

Dernière modification par nagyp (24-11-2019 16:59:27)

Hors ligne

#2 04-12-2019 14:19:11

andreas
Membre
Inscription : 04-12-2019
Messages : 3

Re : un petit souci de boucle qui tourne pas.

Bonjour,

Je ferais la chose suivante:

foreach($row as $key=>$result){
if($key=="ville_id"){
$ville[]=$result;
}
}
var_dump($ville);

ensuite boucler dans $ville.

Il y a aussi la solution des jointures dans les requêtes en base. Ca aurait cette allure:

SELECT b.nom_ville
FROM user a, ville b, visite c
WHERE c.visite_ville_id = b.ville_id AND a.userID="xx"

Ces codes ne marchent surement pas en l'état (copy-paste).

Hors ligne

Pied de page des forums