Implode ?

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Implode ?

Re: Implode ?

par Flavien-web » 20 févr. 2012, 19:28

Sympa ce concept de tableau, ça marche niquel !

Merci beaucoup Thibaud ! :D

Re: Implode ?

par Thibaud C » 20 févr. 2012, 16:42

ah ben il faut que tu fasses un foreach sur le tableau qui contient toutes tes lignes et que tu fasses cette requête qui est censé marcher pour tous les champs de la ligne.

Deux solutions soit tu retries les données qui arrive pour n'en faire qu'un tableau pour après faire un truc "clean"

Soit tu fais ca en brute.. mais bref ca n'en parlons pas ;).
$tab_ranger=array();
foreach ( $_POST['heure_1_'] as $key=>$value )
{
    $tab_ranger[$key]['heure_1']=$value;
    $tab_ranger[$key]['heure_2']=$_POST['heure_2_'][$key];
    $tab_ranger[$key]['heure_3']=$_POST['heure_3_'][$key];
}
// mon tableau est ranger maintenant :
foreach ($tab_ranger as $mes_valeurs )
{
   $ma_requete='INSERT INTO matable(heure1,heure2,heure3) VALUES ("'.$mes_valeurs['heure_1'].'","'.$mes_valeurs['heure_2'].'","'.$mes_valeurs['heure_3'].'")';

}
Moi je verrais ca comme ca, je n'ai pas testé, si t'as envie de creuser dans ce sens la :)

Re: Implode ?

par xTG » 20 févr. 2012, 16:39

Si tu veux jouer de l'implode tu n'as d'autre choix que de contruire un seul tableau contenant un tableau pour chaque valeurs en relation.
Mais tant que tu ne nous donneras pas la structure de ta table et ce que tu veux vraiment ça va être dur de te répondre.
D'autant plus que d'enregistrer les numéros des jours et les heures me parait bien bizarre...

Re: Implode ?

par Flavien-web » 20 févr. 2012, 16:29

Euh .... lol

J'ai deja essayé ça ! Il ne me prend que la dernière valeur et il ne m'insert qu'une seule ligne, en l'occurrence je dois insérer 31 lignes :P

Merci quand meme !

Re: Implode ?

par Thibaud C » 20 févr. 2012, 16:25

$sql="INSERT INTO planning(jour,heure,minute,bidule) VALUES ('".$jour. "','".$heure. "','".$minute. "','".$bidule. "')";

Implode ?

par Flavien-web » 20 févr. 2012, 16:15

Bonjour internautes,

J'utilise la fonction implode pour trier et ajouter mes valeurs dans ma base de données :

Mon formulaire ( La j'ai quatres valeurs a récupérer, jour[], heure_1_[], heure_2_[], heure_3_[] )
<?php
 
 $n = 31;
 $nbLigneAvantBr = 11;
 $arrayJour=array('Lun','Mar','Mer','Jeu','Ven','Sam','Dim');
 $jour=$_POST['jour'];
 $keyJour=array_search($jour,$arrayJour);
 $jours = '<tr>';
 for ($i = 0; $i < $n; $i++)
 {
		 if (($i % $nbLigneAvantBr) == 0)
		 {
			$jours .= '</tr><tr>';
		 }
		 
	 $jours .= '<td><input name="jour[]" value="'.$arrayJour[($keyJour+$i)%7].' '.($i+1).'" />
	 <br /><br /><input type="text" name="heure_1_[]" value="" />
	 <br /><input type="text" name="heure_2_[]" value="" />
	 <br /><input type="text" name="heure_3_[]" value="" /><br /><br /></td>';
 }
$jours .=  '</tr>';
 ?>
Alors si il ne s'agit que d'une valeur a récupérer et a insérer, aucun problème avec ce code :
<?php
$cxn=mysql_connect('localhost','user', 'pass') or die("echec 1.");
mysql_select_db('mabdd',$cxn) or die('Erreur de selection '.mysql_error());
$sql="INSERT INTO planning(jour) VALUES ('" . implode("'),('", $_POST['jour']) . "')";
$result=mysql_query($sql) or die(mysql_error());
?>
Mais la ou je bloque c'est pour récupérer en meme temps toutes les valeurs et les ajouter a ma base, je n'arrive pas a trouver la syntaxe exact,
Faut t'il faire plusieurs requête sql ? Je suis perdu :p

Someone can help me please ?