Page 1 sur 2
Enregistrements multiples
Posté : 19 févr. 2006, 18:55
par Dom!
Bonjour à tous,
J'ai un formulaire ou je saisie mes données et une page qui traite celles ci comme cela :
<?php
require_once('cagnes.php');
include ("conffile.php");
@ mysql_pconnect($hostname, $user, $passwd) or die ("Impossible de se connecter");
mysql_select_db($dbname);
$journee = $_POST['journee'];
$date = $_POST['date'];
$heure = $_POST['heure'];
$id_equipe = $_POST['id_equipe'];
$no_match = $_POST['no_match'];
$match_aller = $_POST['match_aller'];
$adomicile = $_POST['adomicile'];
$adversaire = $_POST['adversaire'];
$lieu = $_POST['lieu'];
$temps = $_POST['temps'];
$distance = $_POST['distance'];
$remarques = $_POST['remarques'];
$score_cag = $_POST['score_cag'];
$score_adv = $_POST['score_adv'];
$photo_p = $_POST['photo_p'];
$photo_g = $_POST['photo_g'];
if ($journee == '')
$journee = 0;
$dir_out = array();
$temp = implode(",",$dir_out);
$semaine = strtotime($date);
$semaine = strftime("%W", $semaine);
$sql_ajout = 'insert into tb_matchs values (0,'.$journee.',"'.$date.'","'.$heure.'",'.$id_equipe.',"'.$no_match.'",'.$match_aller.','.$adomicile.',"'.$adversaire.'","'.$lieu.'","'.$temps.'","'.$distance.'","'.$temp.'","'.$remarques.'","'.$score_cag.'","'.$score_adv.'","'.$photo_p.'","'.$photo_g.'",'.$semaine.')';
$nbsql += 1;
$result_ajout = mysql_query($sql_ajout);
$ecrire = 0;
echo "<meta http-equiv=\"refresh\" content=\"0; url=index.php?file=Page&name=liste_convoc&semaine=".$semaine."\">"; ?>
Mon probleme c'est de récuperer et d'enregistrer les valeurs de $dir_out rien de s'enregistre dans ma base !
Merci pour votre aide
Posté : 19 févr. 2006, 19:02
par ouckileou
Salut,
c'est quoi ce $dir_out ? il n'y a rien dedans et tu ne l'utilises même pas dans ta requête ?
Pour vérifier que ta requête s'exécute bien :
mysql_query($requete) or die(mysql_error());
ça affichera les erreurs qui surviennent éventuellement
Posté : 19 févr. 2006, 19:08
par Dom!
Pourtant je dis que temp = dir_out !
Ce n'est pas bon ?
Posté : 19 févr. 2006, 19:33
par ouckileou
oui, mais auparavant tu déclare $dir_out comme un tableau vide, et tu ne l'utilises plus ensuite
donc je ne comprend pas à quoi sert ce $dir_out dans le code que tu nous as donné
Posté : 20 févr. 2006, 11:47
par Dom!
Ok donc si je rajoute un $temp = $_POST['dir_out']; est ce que ca marche car pour le moment ca ne fonctionne pas !!!!
Merciiiii

Posté : 20 févr. 2006, 15:17
par ouckileou
ça marchera si tu as un champ de formulaire qui s'appelle "dir_out"
Pour savoir quoi faire, il faut savoir doù vient la variable et ce que tu veux en faire, pour le moment on ne sait pas grand-chose
Et on a bien compris que ça marche pas, mais il faut en savoir un peu plus maintenant

Posté : 20 févr. 2006, 15:45
par Dom!
Ha oui c'est vrai.
Donc j'ai un champ dans mon formulaire qui se nomme dir_in[] qui contient tous les joueurs de basket ball de mon club. L'utilisateur grace a un bouton envoi les joueurs qu'il choisit dans le champ dir_out[].
J'ai donc une liste de joueur que je veux enregistrer dans ma base sous la forme 1,8,5,10,18
Mais dir_out[] semble vide comment faire pour récuperer les valeurs ?
Merci pour votre aide

Posté : 20 févr. 2006, 18:25
par ouckileou
On peut voir le formulaire ? Je comprend pas comment ça marche

Posté : 21 févr. 2006, 10:47
par Dom!
Alors je vous mets mon formulaire :
<form id="form1" name="form1" method="post" action="index.php?file=Page&name=insert_convoc_action">
<p> </p>
<table width="100%" border="0" cellspacing="0" class="parag">
<tr>
<td colspan="4" align="right" bgcolor="#FFFFFF"><div align="left"><font color="#000099"><strong>INFORMATIONS
MATCH</strong></font><?
if ($id_equipe != 0) {
print "<p>Liste saisie</p>";
$sqldip = 'select no_match, journee from tb_matchs where id_equipe = '.$id_equipe.' and match_aller = 1 order by daterenc';
print "<p>Matchs Aller<br>";
if ($resselectdip = mysql_query($sqldip)) {
while ($selectdip = mysql_fetch_array($resselectdip))
{
print "-".$selectdip["journee"]." - ".$selectdip["no_match"]."<br>";
}
}
print "</p>";
$sqldip = 'select no_match, journee from tb_matchs where id_equipe = '.$id_equipe.' and match_aller = 0 order by daterenc';
print "<p>Matchs Retour<br>";
if ($resselectdip = mysql_query($sqldip)) {
while ($selectdip = mysql_fetch_array($resselectdip))
{
print "-".$selectdip["journee"]." - ".$selectdip["no_match"]."<br>";
}
}
print "</p>";
} ?></div></td>
</tr>
<tr>
<td width="23%" align="left">Journée</td>
<td width="37%"><input name="journee" type="text" class="champ" value="0" size="2" maxlength="2" /></td>
<td width="20%" align="left">N° Match</td>
<td width="20%"><input name="no_match" type="text" class="champ" id="no_match" size="15" maxlength="255" /></td>
</tr>
<tr>
<td align="left">Date* ( Sous forme : 2006-02-19 ) </td>
<td><input name="date" type="text" class="champ" id="date" size="15" maxlength="255" /></td>
<td align="left">Heure</td>
<td><input name="heure" type="text" class="champ" id="heure" size="15" maxlength="255" /></td>
</tr>
<tr>
<td align="left">Equipe*</td>
<td colspan="3"><select name="id_equipe" class="champ" id="id_equipe">
<option value="0" selected="selected">Aucun</option>
<?
if (isset($id_equipe) == 0)
$id_equipe = 0;
$sqldip = 'select abreviation, nom, id_equipe from tb_equipes order by sexe, abreviation';
// $nbsql += 1;
if ($resselectdip = mysql_query($sqldip)) {
while ($selectdip = mysql_fetch_array($resselectdip))
{
if ($id_equipe == $selectdip["id_equipe"])
$temp = " selected";
else
$temp = "";
print '<option value="'.$selectdip["id_equipe"].'" '.$temp.'>'.$selectdip["abreviation"].'-'.$selectdip["nom"].'</option>';
}
}
?>
</select></td>
</tr>
<tr>
<td colspan="2" align="left"><div align="center">Aller
<input name="match_aller" type="radio" class="champ" value="1" checked="checked" />
<input name="match_aller" type="radio" class="champ" value="0" />
Retour</div></td>
<td colspan="2" align="left"><div align="center">A domicile
<input name="adomicile" type="radio" class="champ" value="1" checked="checked" />
<input name="adomicile" type="radio" class="champ" value="0" />
Exterieur</div></td>
</tr>
<tr>
<td align="left">Adversaire*</td>
<td><input name="adversaire" type="text" class="champ" id="adversaire" size="15" maxlength="255" />
</td>
<td align="left"> </td>
<td> </td>
</tr>
<tr valign="top">
<td align="left">Lieu</td>
<td colspan="3"><textarea name="lieu" cols="45" rows="3" id="textarea"></textarea></td>
</tr>
<tr>
<td align="left">Temps</td>
<td><input name="temps" type="text" class="champ" id="temps" size="15" maxlength="255" /></td>
<td align="left">Distance</td>
<td><input name="distance" type="text" class="champ" id="distance" size="15" maxlength="255" /></td>
</tr>
<tr>
<td align="left"> </td>
<td> </td>
<td align="left"> </td>
<td> </td>
</tr>
<tr>
<td colspan="2" align="left"><strong>Liste Dirigeants</strong></td>
<td align="left"> </td>
<td> </td>
</tr>
<tr>
<td colspan="4" align="left"><table width="100%" border="0" cellspacing="0">
<tr align="center" valign="middle" class="parag">
<td width="46%"><div align="center">Liste</div></td>
<td width="8%"><div align="center"></div></td>
<td width="46%"><div align="center">Selection</div></td>
</tr>
<tr align="center" valign="middle" class="parag">
<td><div align="center">
<select name="dir_in[]" size="4" multiple="multiple" class="champ" id="select">
<?
$sqldip = 'select id_membre, nom, prenom from tb_membres where dirigeant = 1 order by nom';
// $nbsql += 1;
if ($resselectdip = mysql_query($sqldip)) {
while ($selectdip = mysql_fetch_array($resselectdip))
{
print '<option value="'.$selectdip["id_membre"].'">'.$selectdip["nom"].' '.$selectdip["prenom"].'</option>';
}
}
?>
</select>
</div></td>
<td><p align="center">
<input name="Submit2" type="button" class="bouton" value="<<" onclick='return DeplacerItemDeVers("dir_out[]", "dir_in[]")' />
</p>
<p align="center">
<input name="Submit3" type="button" class="bouton" value=">>" onclick='return DeplacerItemDeVers("dir_in[]", "dir_out[]")' />
</p></td>
<td><div align="center">
<select name="dir_out[]" size="4" multiple="multiple" class="champ" id="dir_out">
</select>
</div></td>
</tr>
</table></td>
</tr>
<tr>
<td align="left"> </td>
<td> </td>
<td align="left"> </td>
<td> </td>
</tr>
<tr>
<td align="left"> </td>
<td> </td>
<td align="left"> </td>
<td> </td>
</tr>
<tr>
<td colspan="4" align="left" bgcolor="#FFFFFF"><div align="left"><font color="#000099"><strong>INFOS
RESULTATS </strong></font></div></td>
</tr>
<tr valign="top">
<td align="left">Résumé</td>
<td colspan="3"><font size="-2">Sélectionner le texte
avant de mettre en forme</font>
<div align="right" id="outils">
<div align="center"><img class="out" src="../../../images/title.gif" width="32" height="16" align="middle" onmouseover="this.className='over';" onmouseout="this.className='out';" onclick="formattitre('b');" /> <img class="out" src="../../../images/bold.gif" width="16" height="16" align="middle" onmouseover="this.className='over';" onmouseout="this.className='out';" onclick="format('b');" /> <img class="out" src="../../../images/italic.gif" width="16" height="16" align="middle" onmouseover="this.className='over';" onmouseout="this.className='out';" onclick="format('i');" /> <img class="out" src="../../../images/link.gif" width="32" height="16" align="middle" onmouseover="this.className='over';" onmouseout="this.className='out';" onclick="lien();" /> <br />
<textarea name="remarques" cols="45" rows="3" id="remarques"></textarea>
</div>
</div></td>
</tr>
<tr>
<td align="left">Score Cagnes</td>
<td><input name="score_cag" type="text" class="champ" id="score_cag" size="15" maxlength="255" /></td>
<td align="left">Score Adversaire</td>
<td><input name="score_adv" type="text" class="champ" id="score_adv" size="15" maxlength="255" /></td>
</tr>
<tr>
<td align="left">Lien Photo P</td>
<td><input name="photo_p" type="text" class="champ" id="photo_p" size="15" maxlength="255" /></td>
<td align="left">Lien Photo G</td>
<td><input name="photo_g" type="text" class="champ" id="photo_g" size="15" maxlength="255" /></td>
</tr>
<tr>
<td align="left"> </td>
<td> </td>
<td> </td>
<td valign="top"> </td>
</tr>
<tr>
<td align="left"><input name="Submit" type="submit" class="bouton" value="Ajouter convoc" onclick='return SelectionnerItems()' /></td>
<td> </td>
<td><input name="Submit22" type="button" class="bouton" value="Retour" onclick="history.go(-1);" /></td>
<td valign="top"> </td>
</tr>
</table>
<p> </p>
</form>
Merci pour votre aide car je desespere !!!!!!!!
Posté : 21 févr. 2006, 22:28
par Dom!
Personne pour mon cas ??

de l'aiiiiide pleeeeaaaseeeee
Posté : 21 févr. 2006, 22:56
par ouckileou
C'est quand même bizarre ce fonctionnement, et ce "déplacerItem" vers dir_out
Pour ne sélectionner et transmettre que certains items, ce ne serait pas plus simle avec des cases à cocher ???
enfin il faut que récupère la variable dir_out en effet avec un truc du genre :
$temp = $_POST['dir_out'];
Posté : 21 févr. 2006, 23:03
par Dom!
Le probleme c'est que j'ai plus de 300 personne dans dir_out !!!! donc les cases à cocher c'est difficile.
Maintenant pour que je comprenne bien la valeur de dir_out dans mon cas est "array" ce qui est normal puisque je met :
$dir_out = array();
Ensuite je dis :
$temp = implode(",",$dir_out);
Pourquoi dans ce cas la quand je met echo $temp; rien ne s'écrit ?
Posté : 21 févr. 2006, 23:21
par ouckileou
on revient au début...
$dir_out = array(); // initialise $dir_out comme tableau vide
$temp = implode(",",$dir_out); // dans $temp rassemble les valeurs du tableau en les séparant par des virgules => pas de valeurs, pas de virgules
Il faut donc qe tu récupères ta variable $dir_out transmise par POST, comme les autres
Posté : 21 févr. 2006, 23:28
par Dom!
Ok nous sommes d'accord !
Mais le probleme c'est que je mets $dir_out=$_POST['dir_out']; et aucune valeur n'est transmise !
Dois je faire quelque chose dans le formulaire ??
Posté : 21 févr. 2006, 23:34
par ouckileou
Si je lis bien, quand tu cliques sur un "dir_in", ça rajoute une option dans "dir_out"
Mais est-ce que tu les sélectionnez ces options ? si tu ne les sélectionnes pas, rien ne sera transmis