Bonjour,
Je travail en ce moment sur la réalisation d'un site en support d'un jeu de rôle que j'organise régulièrement avec des amis et je rencontre un problème dans une fonction destinée a trier une liste d'armes disponible dans le jeu.
La fonction récupère un critère de tri, disons par exemple les constructeurs d'armes, on selectionne en sql la liste des contructeurs que l'on affiche sous forme de titre. Sous ce titre est sensé s'afficher la liste des armes correspondant a ce constructeur dans un tableau. Et ainsi de suite jusqu'a que tout les constructeurs soient affichés.
Voici le code réalisé jusqu'ici :
Problème, seul la première boucle est réalisé et une fois le premier tableau affiché la fonction s'arrête.
D'après mes recherches réalisés il n'est pas possible d'utiliser un while dans un while, je n'ai cependant trouvé aucunes solutions alternatives.
Si vous avez des idées ou des solutions a me proposer pour surmonter ce problème je suis preneur.
Merci d'avance,
Cordialement,
Le_Nouvo
Modifié par Le_Nouvo (17 Jan 2018 - 17:25)
Je travail en ce moment sur la réalisation d'un site en support d'un jeu de rôle que j'organise régulièrement avec des amis et je rencontre un problème dans une fonction destinée a trier une liste d'armes disponible dans le jeu.
La fonction récupère un critère de tri, disons par exemple les constructeurs d'armes, on selectionne en sql la liste des contructeurs que l'on affiche sous forme de titre. Sous ce titre est sensé s'afficher la liste des armes correspondant a ce constructeur dans un tableau. Et ainsi de suite jusqu'a que tout les constructeurs soient affichés.
Voici le code réalisé jusqu'ici :
if(isset($_POST['tri']) && !empty($_POST['tri']) && $_POST['tri'] !== 'aucun'){
$tri = $_POST['tri'];
echo('<p>'.$tri.'</p>');
$select_trier = $pdo->query('SELECT * FROM '.$tri.';');
while($trier = $select_trier->fetch(PDO::FETCH_ASSOC)){
echo('<h3>'.$trier[''.$tri.'_nom'].'</h3>');
$select_par_tri = $pdo->query('SELECT * FROM armes WHERE '.$tri.'='.$trier['nom'].';');
echo('<table>
<tr>
<th>Nom</th>
<th>Type</th>
<th>Constructeur</th>
<th>Technologie</th>
<th>Rareté</th>
<th>Portée</th>
<th>Précision</th>
<th>Dégats</th>
<th>Prix</th>
</tr>');
while($par_tri = $select_par_tri->fetch(PDO::FETCH_ASSOC)){
echo('<tr>
<td>'.$par_tri['arme_nom'].'</td>
<td>'.$par_tri['arme_type'].'</td>
<td>'.$par_tri['arme_constructeur'].'</td>
<td>'.$par_tri['arme_technologie'].'</td>
<td>'.$par_tri['arme_rarete'].'</td>
<td>'.$par_tri['arme_portee'].'</td>
<td>'.$par_tri['arme_precision'].'</td>
<td>'.$par_tri['arme_degat'].'</td>
<td>'.$par_tri['arme_prix'].'</td>
</tr>');
}
echo('</table>');
}
}else{
weapons_list();
}
Problème, seul la première boucle est réalisé et une fois le premier tableau affiché la fonction s'arrête.
D'après mes recherches réalisés il n'est pas possible d'utiliser un while dans un while, je n'ai cependant trouvé aucunes solutions alternatives.
Si vous avez des idées ou des solutions a me proposer pour surmonter ce problème je suis preneur.
Merci d'avance,
Cordialement,
Le_Nouvo
Modifié par Le_Nouvo (17 Jan 2018 - 17:25)