Insertion en BD

Petit nouveau ! | 4 Messages

07 oct. 2008, 19:02

Bonsoir a tous

Je but sur l'insertion en bd des buteurs d'un résultat de foot :

Si par exemple une équipe marque 3 but j aurais la possibilité de rentrer les 3 buteurs selon les listes déroulantes des joueurs de l équipe.



Par contre ou je but c est dans l insertion en BD il ne me rentre qu un joueur a chaque fois malgré que je choisisse plusieurs buteurs.
for ($i = 0 ; $i < $score_dom ; $i++) {
echo '
	<form name=form1 method=post action=index.php?mod=mercato&ac=buteur>';

$joueurs1=$req = reqmysql('SELECT * FROM effectif WHERE id_equipe = "'.$equipe_dom.'" '); 
echo "<select name='joueur'>"; 
while($rep=mysql_fetch_assoc($req)){

echo '

<p><option value='.$rep['joueur'].'>'.$rep['joueur'].'</option></p>

'; 
}
}
echo '</select>';

echo'<p>';

echo'<input type=submit value=Validez les buteurs /></form>';


}
Mon insertion en BD
$buteur=$_POST['joueur'];
	
		    
	   	   reqmysql("INSERT INTO buteur VALUES('', '$buteur' )");
Merci d avance pour votre aide .

Avatar du membre
ViPHP
ViPHP | 3008 Messages

07 oct. 2008, 20:02

Avec une liste déroulante à une ligne tu ne pourras récolter qu'un résultat, donc normal que ça n'enregistre qu'un joueur.

Tu dois utiliser un select multiple et utiliser un tableau.
<select name="joueur[]" multiple="multiple">
A voir aussi foreach

Petit nouveau ! | 4 Messages

07 oct. 2008, 21:50

Bon voila j arrive bien a recuperer les buteurs


en faisant
foreach($_POST["joueur"] as $value)
{ 
	echo''.$value.'';// traitements : $value contient les valeurs successives
}
par contre j ai un souci le $value me met les 2 joueurs l un a coté de l autre alors que j aurais besoin d une entrée pour chaque joueurs ?

Donc je suis assez novice en php si vous pouviez me conseiller ???

merci d avance

Avatar du membre
ViPHP
ViPHP | 3008 Messages

07 oct. 2008, 22:15

Fait la requête dans la boucle.

:arrow: http://www.siteduzero.com/tutoriel-3-48 ... #ss_part_2 dans "Une requête venue d'ailleurs, dans une boucle"

Petit nouveau ! | 4 Messages

07 oct. 2008, 23:44

Bon j ai pas trop mal avancé lol " enfin si ont veut ".

J ai bien les 2 entrées qui se font mais j ai plus les noms des buteurs .

Merci de votre aide je continuerais demain car la j en peu plus lol .

j aurais du faire des études en php
	for ($i = 0 ; $i < $score_dom ; $i++) {

echo '
	<form name=form1 method=post action=index.php?mod=mercato&ac=buteur>';
	

$joueurs1=$req = reqmysql('SELECT * FROM effectif WHERE id_equipe = "'.$equipe_dom.'" '); 
echo '<select  name="joueur[]" size="5" class="inputbox" multiple="multiple"> '; 
while($rep=mysql_fetch_assoc($req)){

echo '

<p><option value='.$rep["joueur"].'>'.$rep["joueur"].'</option></p>

'; 
}
}
echo '</select>';

echo'<p>';
echo'<input type=submit value=Validez les buteurs /></form>';
foreach($_POST["joueur"] as $key=>$critere)
{ 

$values = '( NULL , "' .
                 intval($critere) . '")';
				 
                $req = "INSERT INTO buteur
                (id, buteur)
                VALUES ".$values.';';
                $result = mysql_query($req)
                or die ("erreur sql : Impossible de sauvegarder les données. ".mysql_error());



    echo''.$critere.'';// test
} 

:lol:

Pourtant le $critere contient bien les noms des buteurs

Bon voila c est ok l insertion se fait pour chaque buteur par contre deuxième souci au moment du choix de buteur il y a son nom et son prénom et a l enregistrement il n y a que le nom ????

Avatar du membre
ViPHP
ViPHP | 3008 Messages

08 oct. 2008, 09:05

La valeur de chaque option contient le nom et prénom ?

Peux-tu nous donner le code source de ton select ?

Petit nouveau ! | 4 Messages

08 oct. 2008, 17:53

Oui la valeur de chaque option contient le nom et le prénom.

Le code source c est pas se qui y a au dessus ??

Avatar du membre
ViPHP
ViPHP | 3008 Messages

09 oct. 2008, 08:56

Nan en fait je parlais du code source HTML de ta page. Donne nous ce que tu as en affichant le code source au niveau de ton select.