Double foreach

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 : Double foreach

par Maitrepylos » 24 oct. 2005, 11:26

OK, merci de votre Aide et de votre rapidité.

Bonne journée.

MaitrePylos

par zeus » 24 oct. 2005, 11:08

Normalement, oui ...

par Maitrepylos » 24 oct. 2005, 11:05

Bonjour, et merci pour vos réponse:

Ma question maintenant est :

ma commande sql, génère 31 Update un a la suite de l'autre, est ce que le pg_query , va bien me faire c'est 31 updates??

par zeus » 22 oct. 2005, 14:13

:shock: c'est fort !!! Je savais pas qu'on pouvais le faire
Euh .. et les case a cocher name="case[]" va retourner un tableau dans la variables POST, pas nouveau :wink:
C'est vrai que j'immaginais plus un truc du genre

Code : Tout sélectionner

<input type="text" name="Date1" value="<?= print_r(array) ?>">
et j'était très surpris que ça fonctionne puisque j'était persuadé du contraire ... Après ta remarque, je pousse un ouf de soulagement, je suis pas encore bon à jeter ;)
c'est vrai que la requete tel qu'elle est mainenant n'a aucun interet a moins de mettre en variable aussi le nom de la table ou des champs ou encore une clause WHERE.
Pas forcément : si il ne factorise pas le traitement et qu'il a toujors lieu sur la mêle table avec la même condition, ces parametres peuvent suffire.
Mais je reconnais que cette requete ne correspond surement pas à ce qu'il attend, mais du moment qu'il a compris la logique ... ;)

par Truc » 21 oct. 2005, 19:22

:shock: c'est fort !!! Je savais pas qu'on pouvais le faire
Euh .. et les case a cocher name="case[]" va retourner un tableau dans la variables POST, pas nouveau :wink:

c'est vrai que la requete tel qu'elle est mainenant n'a aucun interet a moins de mettre en variable aussi le nom de la table ou des champs ou encore une clause WHERE.

Et pour dire un truc intelligent tu va avoir une erreur dans la requete il manque une virgule entre l'affectation du champ 1 et champ 2.
$sql = "UPDATE table1
        SET champs1 = $value ,
        champs2 = $value2";
[/php]

par zeus » 21 oct. 2005, 16:13

Donc, si je suis bien, les valeurs correspondent d'un tableau à l'autre en fonction de l'index.

Essaye ce code, suit bien les commentaires et n'hésite pas à me poser des questions
//parcours du 1er tableau en mettant les index dans $index et les valeurs
// dans $valeur
foreach ($_POST['Date1'] as $index=>$value) {
    //Récupération de la valeur du tableau 2 dont l'index est celui du tableau 1
    $value2 = $_POST['Heure'][$index];
    //Construction de la requete de mise à jour
    $sql = "UPDATE table1
        SET champs1 = $value
        champs2 = $value2";
    //Exécution de la requete de mise à jour
    pg_query($sql);
}

par Maitrepylos » 21 oct. 2005, 16:09

Non, justement et c'est bien ce qui m'embête, je voudrais associer chaque données dans un code sql et faire un while.

donc

tableau1_1+tableau2_1 puis faire requete sql
tableau1_2+tableau2_2 puis faire requete sql

etc....


Bon W-K

Merci de votre aide

par zeus » 21 oct. 2005, 15:54

:shock: c'est fort !!! Je savais pas qu'on pouvais le faire

Sinon, est-ce que tu as la possibilité de tout mettre dans le même tableau avant de les passer en POST ?

par Maitrepylos » 21 oct. 2005, 15:50

voila

Code : Tout sélectionner

array(31) { [0]=> string(1) "2" [1]=> string(1) "2" [2]=> string(1) "2" [3]=> string(0) "" [4]=> string(0) "" [5]=> string(1) "2" [6]=> string(0) "" [7]=> string(0) "" [8]=> string(1) "2" [9]=> string(0) "" [10]=> string(0) "" [11]=> string(1) "2" [12]=> string(0) "" [13]=> string(0) "" [14]=> string(1) "2" [15]=> string(0) "" [16]=> string(1) "2" [17]=> string(1) "2" [18]=> string(0) "" [19]=> string(1) "2" [20]=> string(0) "" [21]=> string(1) "2" [22]=> string(0) "" [23]=> string(0) "" [24]=> string(0) "" [25]=> string(0) "" [26]=> string(0) "" [27]=> string(0) "" [28]=> string(0) "" [29]=> string(0) "" [30]=> string(0) "" } array(31) { [0]=> string(10) "2005-10-1 " [1]=> string(10) "2005-10-2 " [2]=> string(10) "2005-10-3 " [3]=> string(10) "2005-10-4 " [4]=> string(10) "2005-10-5 " [5]=> string(10) "2005-10-6 " [6]=> string(10) "2005-10-7 " [7]=> string(10) "2005-10-8 " [8]=> string(10) "2005-10-9 " [9]=> string(11) "2005-10-10 " [10]=> string(11) "2005-10-11 " [11]=> string(11) "2005-10-12 " [12]=> string(11) "2005-10-13 " [13]=> string(11) "2005-10-14 " [14]=> string(11) "2005-10-15 " [15]=> string(11) "2005-10-16 " [16]=> string(11) "2005-10-17 " [17]=> string(11) "2005-10-18 " [18]=> string(11) "2005-10-19 " [19]=> string(11) "2005-10-20 " [20]=> string(11) "2005-10-21 " [21]=> string(11) "2005-10-22 " [22]=> string(11) "2005-10-23 " [23]=> string(11) "2005-10-24 " [24]=> string(11) "2005-10-25 " [25]=> string(11) "2005-10-26 " [26]=> string(11) "2005-10-27 " [27]=> string(11) "2005-10-28 " [28]=> string(11) "2005-10-29 " [29]=> string(11) "2005-10-30 " [30]=> string(11) "2005-10-31 " }

par zeus » 21 oct. 2005, 15:01

tes POST contiennent des tableaux ??? :shock:

fait un var_dump sur tes posts et donne nous ce qui est affiché

par pjl » 21 oct. 2005, 14:59

sauf que chaque update de la boucle va annuler le précédent update.

par Maitrepylos » 21 oct. 2005, 14:57

oui mes $_post contiennent un tableau.

et je voudrais récupérer les données pour faire un sql autant de fois que j'ai de données dans mes tableaux.

par jeff » 21 oct. 2005, 14:13

a mon avis il veu simplement construire une requete a partir de tableau :?: :?:

par pjl » 21 oct. 2005, 14:07

je ne comprends pas le principe.

grosso modo, avec le foreach, ca te fait une boucle mais ton update fait la MAJ de toute la table en même temps.

Quel est l'intéret de cette boucle ?

par zeus » 21 oct. 2005, 13:46

Je ne comprend pas le fonctionnement de ton foreach :shock:
Tes variables POST contiennent des tableaux ?