Array et formulaire

Résolu
laubro Messages postés 186 Date d'inscription jeudi 23 décembre 2004 Statut Membre Dernière intervention 9 juillet 2013 - 28 oct. 2008 à 18:06
laubro Messages postés 186 Date d'inscription jeudi 23 décembre 2004 Statut Membre Dernière intervention 9 juillet 2013 - 28 oct. 2008 à 19:48
Bonjour
j'ai encore des soucis avec les tableaux
voils, je récuprèe des données dans des champs texte dans un formulaire, je veux pouvoir les modifier et renvoyer le tout pour mise à jour de la bdd
je penses qu'il faut passer par un array....?

exemple de l'idée
j'ai un formulaite qui génère des champs texte via la base

<form method="post" action="">
<?php
$result = mysql_query($sql) or die('Erreur SQL !
'.$sql.'
'.mysql_error());
while($ad = mysql_fetch_object($result))
    {
echo "< input type='hidden' name='id' value='".$ad->id."'>val."' name='val'>
";
}
?>

</form>

je voudrais récuperer l'ensemble dans une fonction pour mise à jour de la bdd (enfin déja afficher le résultat pour commencer)

function majdispo( $id, $val)
{


 $html = "";
   $test = array($id, $dispo);
  
  for($i=0;$i<sizeof($test);$i++)
   {


echo $test[$i].' - ';
}
 $html .= "\n";
 
          echo " $html";
}

l'appel de la fonction

majdispo($id, $val);

et là ça ne recupere rien, enfin j'ai = "rien"-0.00 (c'est bien des chiffres)

en plus l'array semble être un truc du style :: array('id', 'val') car dans l'appel de fonction si je met en dur des textes ou chiffre elle affiche bien ces chiffres/lettres, et c'est tout, moi je suis censé récuperer
array(
'id(1)', 'va(1)l'
'id(2)', 'val'(2)'
.......
)
plusieurs lignes de résultats

j'espere être claire
Merci de votre aide

2 réponses

laubro Messages postés 186 Date d'inscription jeudi 23 décembre 2004 Statut Membre Dernière intervention 9 juillet 2013
28 oct. 2008 à 19:48
OK j'ai trouvé
je mets le code si ça peut servir

le formulaire
Donner un id de tableau au nom des champs avec $x

<form method="post" action="">
<?php
$x = 0;

$result = mysql_query($sql) or die('Erreur SQL !
'.$sql.'
'.mysql_error());
while($ad = mysql_fetch_object($result))
    {
echo "< input type='hidden' name='id[$x]' value='".$ad->id."'>val."' name='val[$x]'>
";
$x++;
}
?>

</form>

La fonction

function majdispo( $id, $val)
{
 $html = "";
  foreach ($id as $cle => $valeur)
 
{
  $champ1 = $id[$cle];
  $champ2 = $val[$cle]; 
 
//-------affichage des valeurs--

echo ''.$champ1.' -  '.$champ2.'
';
integration bdd

// on crée la requête SQL
$sql= "UPDATE table SET val='$champ2' where id='$champ1'";
// on envoie la requête
$result = mysql_query($sql) or die('Erreur SQL !
'.$sql.'
'.mysql_error());



 $html .= "\n";
 
          echo " $html";
}

l'appel de la fonction quand on envoi le form

majdispo($id, $val);

Laubro
3
laubro Messages postés 186 Date d'inscription jeudi 23 décembre 2004 Statut Membre Dernière intervention 9 juillet 2013
28 oct. 2008 à 18:21
juste un petit complément pour confirmer que le array ne prend en compte qu'une ligne de résultat (j'ai fait une limite à 1 et je récupere bien mes valeur) pour le "rien" c'était une faute de frappe dans mon input, je recupeère bien tout sur une seule ligne, hors j'ai plusieurs lignes de résultats

Laubro
0
Rejoignez-nous