requête mysql variable.

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 : requête mysql variable.

Re: requête mysql variable.

par sirakawa » 16 mars 2012, 21:50

Id est, as I can also explain it using latinam linguam,
que au lieu d'écrire
<input type = 'text' name ='variable_1' />
<input type = 'text' name ='variable_2' />
tu écris
$inputs = "";
for ($i = 0; $i < $nb_var_souhaitees; $i++)
{  
    $inputs .= "<input type ='text' name ='les_variables[]' /> 
}
print "$inputs";
et à la réception tu as:
$les_variables = $_POST['les_variables'];
foreach ($les_variables as $variable)
{
   bidulage sur la BDD

}

Re: requête mysql variable.

par xTG » 16 mars 2012, 19:20

Re: requête mysql variable.

par piotrowski-s » 16 mars 2012, 15:01

dois je remplacer tous les attributs name par tableau[] ?

Re: requête mysql variable.

par sirakawa » 15 mars 2012, 19:12

pour chaque ligne passée par le formulaire (foreach cf ci-dessus)
affecter chacune des valeurs à une variable
insérer ces valeurs dans la BDD

Re: requête mysql variable.

par piotrowski-s » 15 mars 2012, 18:49

ah très bien, mais au niveau de la requête je l'organises comment alors? puisque ce n'est plus des INSERT INTO table ($value, $value2,...) ?

Re: requête mysql variable.

par AB » 15 mars 2012, 18:47

je ne comprends pas la notion de notation tableau? en sachant que dans ma table je n'ai pas de champ qui se nomme tableau ?
Cela n'a rien à voir avec ta table, c'est uniquement pour récupérer les valeurs des champs du formulaire sous forme d'un tableau.

Re: requête mysql variable.

par piotrowski-s » 15 mars 2012, 18:37

je ne comprends pas la notion de notation tableau? en sachant que dans ma table je n'ai pas de champ qui se nomme tableau ?

Re: requête mysql variable.

par xTG » 15 mars 2012, 18:34

Déjà tu vas avoir un problème à cause des attributs name. ;)
Il faut utiliser un notation tableau :

Code : Tout sélectionner

<input type="text" name="monTableau[]" />
Ainsi on récupère pour une méthode POST :
var_dump($_POST['monTableau']);
Qui sera un tableau.

Tu peux donc grâce à cela faire des boucles d'insertion sur tes tableaux.
Je te recommande une boucle foreach() qui tu le verras est plus simple d'utilisation qu'une boucle for(). ;)

requête mysql variable.

par piotrowski-s » 15 mars 2012, 18:18

Bonjour à tous, j'ai un formulaire qui se génère dynamiquement, grâce à une boucle en while... Le soucis qui s'oppose est que je ne vois pas comment faire une requête dynamique qui insérerait autant de lignes que nécessaire dans la bdd. voici le code du formulaire. voici le code du formulaire.
<form action="save-decompte.php" method="post">
         <?php 

$sql = 'SELECT * FROM liasses where n_doss='.$_GET['n_doss'].'';
$result = mysql_query($sql) or die(__LINE__.mysql_error().$sql); 
while ($donnees = mysql_fetch_array($result) ) {
?>
           <tr>
             <td> <input type="text" name="<?php echo $donnees['libelle'] ; ?>" value="<?php echo $donnees['libelle'] ; ?>" /></td>
             <td><input type="text" name="<?php echo $donnees['montant'] ; ?>" value="<?php echo $donnees['montant'] ; ?>" /></td>
             <td><select name="<?php echo $donnees['client'] ; ?>"><?php if ($donnees['client']=="oui") { ?><option><?php echo $donnees['client'] ; ?></option><option>non</option> <?php } else { ?><option>non</option><option>oui</option>   <?php
    }

?></select></td>
           <?php
    }

?></tr>
               <input type="hidden" name="n_doss" value="<?php echo $_GET['n_doss'] ?>" />
               
               <input type="hidden" name="code_client" value="<?php echo $_GET['code_client'] ?>" />
<?php
for ($compteur = 1; $compteur <= $_GET['champs']; $compteur++) { echo '<tr><td> <input type="text" name="libelle" ;></td>
             <td><input type="text" name="montant" ; ?></td>
             <td><select name="client" ; ?><option>oui</option><option>non</option></select></td></tr>' ;}
			  
?>     <input type="image" src="images/save-2.png" /></form> 
j'ai pas d'idée de comment faire pour insérer les données dynamiquement. car ce n'est pas un enregistrement multiple mais de multiples enregistrements.... d'avance merci pour l'aide.