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) :
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 &agrave; 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 1 : affiche les mecs qu'il a battu
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 !