Salut,
Je remplis un tableau en PHP à partir de 2 requêtes SQL ensuite je l'affiche dans une liste déroulante (voir code ci dessous) :
Requete 1 : affiche les mecs qu'il a battu
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53 // On cree un tableau que l'on nomme faceaface et on initialise la variable $i avec la valeur 0 $faceaface = array(); $i = 0; // Requete permettant de charger les combattants que notre combattant a battu $query5 = "SELECT Nom_k1, Prenom_k1, Num_fighter_k1 FROM combat_k1, combattants_k1 WHERE Num_fighter_k1 = Num_Fighter2_k1 AND Num_Fighter1_k1 = '$ligne[Num_fighter_k1]' GROUP BY Nom_k1, Prenom_k1, Num_fighter_k1 ORDER BY Prenom_k1, Nom_k1"; $result5 = mysql_query($query5) or die (mysql_error()); // On rempli le tableau avec les combattants qu'a battu notre combattant while ($ligne5 = mysql_fetch_array($result5)) { $faceaface[$i] = $ligne5['Prenom_k1'].' '.$ligne5['Nom_k1'].' '.$ligne5['Num_fighter_k1']; $i = $i + 1; } // On se positionne a la fin du tableau end ($faceaface); // On initialise la variable $i avec la position du tableau + 1 pour reprendre le remplissage du tableau a la suite du premier $i = key($faceaface) + 1; // Requete permettant de charger les combattants contre qui notre combattant a perdu $query6 = "SELECT Nom_k1, Prenom_k1, Num_fighter_k1 FROM combat_k1, combattants_k1 WHERE Num_fighter_k1 = Num_Fighter1_k1 AND Num_Fighter2_k1 = '$ligne[Num_fighter_k1]' GROUP BY Nom_k1, Prenom_k1, Num_fighter_k1 ORDER BY Prenom_k1, Nom_k1"; $result6 = mysql_query($query6) or die (mysql_error()); while ($ligne6 = mysql_fetch_array($result6)) { $faceaface[$i] = $ligne6['Prenom_k1'].' '.$ligne6['Nom_k1'].' '.$ligne6['Num_fighter_k1']; $i = $i + 1; } // On tri le tableau sort($faceaface); // Partie permettant de voir les faces a faces ?> <form method="post" action="http://www.jjb-france.com/K-1/affiche_faceaface.php"> <p><input type="hidden" name="Mec1" value="<?php echo $ligne['Num_fighter_k1']; ?>" /></p> <p><label for="mec2"><span class="texte_gras">Voir les Faces à Faces de <?php echo stripslashes($ligne['Prenom_k1']); ?> <?php echo stripslashes($ligne['Nom_k1']); ?> avec :</span></label> <select name="Mec2" id="mec2" class="liste2"> <?php // On parcourt le tableau foreach ($faceaface AS $i => $valeur) { ?> <option value="<?php echo $val['Num_fighter_k1']; ?>"><?php echo $faceaface[$i]; ?></option> <?php } ?> </select></p> <p><input type="submit" value="OK" title="Valider" /></p> </form>
Requete 2 : affiche les mecs qui l'ont battu
Premier problème : comment faire pour que les mecs qui sortent de la requete 1 n'apparaissent pas dans la requete 2 ? Sinon ça va faire des doublons.
Deuxième problème :
Il faut que je récupère les valeurs $ligne5['Num_fighter_k1'] et $ligne6['Num_fighter_k1'] de mon tableau pour les affecter à la "value" de ma liste déroulante mais je ne sais pas si on peut prendre un bout de la chaine dans un tableau (genre les 3 derniers caractères) ?
Merci d'avance pour vos réponses !![]()
Partager