[RESOLU] utilisation dun tableau dans une boucle contenant une requet

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 : [RESOLU] utilisation dun tableau dans une boucle contenant une requet

Re: utilisation dun tableau dans une boucle contenant une re

par JVL » 20 août 2014, 08:54

$array est initialiser seulement via les textarea, une boucle sur les un <tr> fait apparaitre x fois la ligne, ensuite $idd contient un id, et on update la base $id par $id.

Je vais éssayer en crée un input hidden portant comme nom $array[$idd].

Re: utilisation dun tableau dans une boucle contenant une re

par toytoy » 19 août 2014, 17:05


Voila comment j'essaye d'allouer une valeur a mon tableau :
 <?php if($mesp > 0 ){?>
 <textarea  rows="1" cols="20" <?php echo '  name="$array['.$idd.'][3]"';?>><?php echo $mesc ?></textarea>
<?php } else {echo '0'; $array[$idd][3] = '0';}?>
Voila la requete qui merde:
foreach($_POST['$array'] as $x1 => $tableau) {

		
$updatedetail = $bdd->prepare('UPDATE `detail_affaire` SET `Etude_c`=:etude,`Chantier_c`=:chantier,`Mes_c`=:mes WHERE `ID_detail` =:id');
$updatedetail->execute(array(		'etude'=>$tableau[1],
						 'chantier'=>$tableau[2],
						     'mes'=>$tableau[3],
						       'id'=>$x1));	
						   
											}
$array est initialiser comment, d'ou est-ce qu'il prends ces valeurs ? Car d'après l'erreur il n'existe pas de valeur dans les cases que tu tentes d'appeler.
Dans ton for je vois le $_POST, 1er question tu as pensé à le protéger ? 2ème question est-ce que tu es sûr que c'est $_POST['array'] qu'il y a dans ton script ou $array tout court ? ou l'inverse ?

utilisation dun tableau dans une boucle contenant une requet

par JVL » 19 août 2014, 16:17

Bonjour à tous,

J'ai un soucis de tableau, suite à la demande d'un responsable je doit faire un sorte qu'un champ (textarea) ne soit pas afficher si la valeur juste avant est 0.

Mon soucis est que depuis la requete qui récupère les infos et les stock en boucle ne fonctionne plus, car la valeur que j'appel dans la requete n'existe plus dans la tableau, j'ai essayer de l'allouer, manuellement, mais je n'y arrive pas.

Existe-t-il un moyen d'allouer la valeur a mon tableau ?

Voila comment j'essaye d'allouer une valeur a mon tableau :
 <?php if($mesp > 0 ){?>
 <textarea  rows="1" cols="20" <?php echo '  name="$array['.$idd.'][3]"';?>><?php echo $mesc ?></textarea>
<?php } else {echo '0'; $array[$idd][3] = '0';}?>
Voila la requete qui merde:
foreach($_POST['$array'] as $x1 => $tableau) {

		
$updatedetail = $bdd->prepare('UPDATE `detail_affaire` SET `Etude_c`=:etude,`Chantier_c`=:chantier,`Mes_c`=:mes WHERE `ID_detail` =:id');
$updatedetail->execute(array(		'etude'=>$tableau[1],
						 'chantier'=>$tableau[2],
						     'mes'=>$tableau[3],
						       'id'=>$x1));	
						   
											}
Et le message d'erreur: Undefined offset 1 ou 2 ou 3 pour les trois lignes $tableau[x].

Merci d'avance pour votre précieuse aide.

Cordialement.