Enregistrements multiples

Eléphant du PHP | 424 Messages

21 févr. 2006, 23:41

Bein oui j'ai une fonction :

function SelectionnerItems(form) {

zl = "dir_out[]";
lg = document.form1.elements[zl].options.length;

for (cpt = 0; cpt < lg; cpt++) {
document.form1.elements[zl].options[cpt].selected = true;
}

return( true );
}

c'est ca que tu me dis ? ou autre chose ?

Merci pour ton aide car je galére :roll:
Youpi Youpi Yo !

Modérateur PHPfrance
Modérateur PHPfrance | 6373 Messages

22 févr. 2006, 01:15

oui c'était ça

mais tu as rajouté le $temp = $_POST['dir_out'] ??

fais :
echo '<pre>';
print_r($_POST);
echo '</pre>';
pour afficher brutes les infos transmises par POST, tu verras déjà si ton tableau est récupéré

Eléphant du PHP | 424 Messages

22 févr. 2006, 22:20

Je suis sur ton post et voici ce qui s'affiche à l'écran :

Array
(
[journee] => 0
[no_match] => 12346
[date] => 2006-02-25
[heure] => 10H30
[id_equipe] => 44
[match_aller] => 1
[adomicile] => 1
[adversaire] => ESB
[lieu] =>
[temps] =>
[distance] =>
[dir_out] => Array
(
[0] => 261
[1] => 24
)

[remarques] =>
[score_cag] =>
[score_adv] =>
[photo_p] =>
[photo_g] =>
[Submit] => Ajouter convoc
)


J'ai bien mes deux joueurs N° 261 et 24 !! Mais dans ma base je n'ai rien :cry: pourquoi ?
Youpi Youpi Yo !

Modérateur PHPfrance
Modérateur PHPfrance | 6373 Messages

22 févr. 2006, 23:03

J'ai bien mes deux joueurs N° 261 et 24 !! Mais dans ma base je n'ai rien :cry: pourquoi ?
Parceque si j'en crois le code posté dans ton tout premier message, tu n'utilises pas le contenu de $dir_out dans ta requête INSERT...

tes infos ne vont pas s'enregistrer toutes seules :)

Eléphant du PHP | 424 Messages

22 févr. 2006, 23:05

Dans ma requete INSERT j'utilise $temp pour enregistrer les données de dir_out ! puisque je dis $temp = $_POST['dir_out'] !

Est ce ca ?
  $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.')';
Youpi Youpi Yo !

Modérateur PHPfrance
Modérateur PHPfrance | 6373 Messages

22 févr. 2006, 23:25

Exact je n'avais pas vu

Alors maintenant que tu vois que tu récupères bien $dir_out, mets des echos de contrôle pour vérifier ce que tu récupères dans $temp, le résultat du implode, et le SQL généré, tu verras bien où ça coince

Eléphant du PHP | 424 Messages

22 févr. 2006, 23:31

Effectivement mon $temp est vide.... :cry:

grrrrrrrrrrr je vais chercher pourquoi si vous avez des idés ! merci
Youpi Youpi Yo !

Modérateur PHPfrance
Modérateur PHPfrance | 6373 Messages

22 févr. 2006, 23:49

Reposte ton code, juste les parties relatives à ce problème :)

Eléphant du PHP | 424 Messages

22 févr. 2006, 23:56

voici :
<?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'];
$dir_out = $_POST['dir_out'];


  
  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) or die(mysql_error()); 
  $ecrire = 0;
 
 echo var_dump($dir_out);
 echo '<pre>'; 
print_r($_POST); 
echo '</pre>';  ?>
Youpi Youpi Yo !

Eléphant du PHP | 424 Messages

23 févr. 2006, 00:02

Solution trouvée : ( grace à ALEXBAD ) :

Il fallait faire implode, sur $_POST[dir_out] et non sur $dir_out ...

C'etait si simple !

Merci pour ton aide ouckileou ! :wink:
Youpi Youpi Yo !

Modérateur PHPfrance
Modérateur PHPfrance | 6373 Messages

23 févr. 2006, 13:53

oui, ou suivre la même méthode que pour les autres variables ($var = $_POST['var']), et faire ton explode sur $dir_out, mais sans redéclarer $dir_out comme tableau vide avec $dir_out = array() avant ;)

mais où est intervenu Alexbad ? Dois-je deviner que tu as posté ailleurs sur le même problème ? [-X