boucle et insert : help

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 : boucle et insert : help

Re: boucle et insert : help

par elsa092 » 20 oct. 2010, 14:22

Bonjour,

merci pour ton aide je vais tester des ce soir .
mon but étant d'avoir un seul insert avec la valeur adapté a chaque cas : mat, voile, coque...

avec ma bouche for j'avais soit coque tout le temps, soit plusieurs insert (3 fois) mais avec la bonne valeur a chaque fois
donc je tombais jamais juste=(

Re: boucle et insert : help

par xTG » 20 oct. 2010, 12:33

$liste = array('coque','mat','voile'); 
$chaine = "Une coque aussi blanche que la voile du navire.";
$sql = "";

foreach($liste as $element)
{
  if( preg_match("#".$element."#",$chaine))
  {
    $sql .= "INSERT INTO maTable (`champs1` ,`champs2` , `champs3` , `champs4` , `champs5`)VALUES ('','valueA','valueB','valueC','$element') ";
  }
}
if( !empty($sql) )
  mysql_query($sql);
Est-ce une chose de ce genre que tu attends ?
Une requête insert pour chaque élement trouvé ?
Ce script fonctionnera aussi dans le cas où il n'y a qu'un seul élément à la fois dans ta chaîne. (il n'exécutera bien sûr qu'un seul insert donc)

Re: boucle et insert : help

par elsa092 » 20 oct. 2010, 09:30

bonjour,

j'ai deja essayé avec $recupTest[] mais quand je le met je me retrouve en BDD avec juste la premiere lettre. Ex : pour le mot coque j'aurais "c" =(

sinon dans mon tableau je ne veux enregistrer qu'une seule valeur car a chaque fois il n'y a qu'un seul choix possible. et a chaque fois j'ai forcément une des 3 valeurs qui sont présentes

aurais tu une idée sur la question?

Re: boucle et insert : help

par xTG » 20 oct. 2010, 09:11

$recupTest[] = $test[$i];
Avec ceci tu n'écrases aucune données, tu remplis un tableau.

Pour ta table c'est quoi que tu souhaites insérer ? Un enregistrement par valeur retournée ou bien une liste des valeurs dans le champs5 ?

boucle et insert : help

par elsa092 » 20 oct. 2010, 08:43

Bonjour,


Je vous écris car j'ai un petit problème bien bête mais pour lequel je ne trouve pas de solution =(
Il est tellement bete que beaucoup vont rire mais bon je me lance=(

J'ai à la base un array :

Code : Tout sélectionner

$test = array('coque','mat','voile');

Et en parallèle j'ai un champs que je parcours pour voir si je retrouve coque, mat, voile

Je fais donc une boucle pour parcourir mon array et voir avec preg_match si je retrouve dans $lendroitOuJeCherche une des 3 valeurs.

Code : Tout sélectionner

for($i=0;$i<count($test);$i++) { if(preg_match("#".$test[$i]."#",$lendroitOuJeCherche)) { $recupTest = $test[$i]; } une fois que je trouve pour chaque ligne la coque, mat, voile associé je l'insère en BDD $sql = "INSERT INTO maTable (`champs1` ,`champs2` , `champs3` , `champs4` , `champs5`)VALUES ('','valueA','valueB','valueC','$recupTest') "; }//fin for test $insert = mysql_query($sql);

Mais voila a chaque fois on m'insére en BDD que la premiere value à savoir "coque" alors que pour chaque champs j'ai bien une valeur différentes

je suppose que cela vient de ma boucle mais rien n'y fait . Si je place l'accolade de la fin du for apres le "insert" j'ai bien une valeur differente enregistré en BDD mais 3 fois =(

si je la place avant j'ai tout le temps la même valeur enregistré=(

quelqu'un aurait-il une idée=( je patauge

merci d'avances pour votre aide