Forum Clubic

[PHP/MySQL] formulaire

Bonjour à tous, je sais pas vraiment comment expliquer correctement mon problème.
J’ai fait ce code :


$bt_submit="";
if(isset($_GET["bt_submit"])){
   $bt_submit=$_GET["bt_submit"];
}
$req=mysql_query("SELECT * FROM categorie,produit WHERE categorie.id_categorie=produit.categorie AND produit.reference=''");
echo "
<table border='1' width='100%'>
    <tr>
         <th>Identifiant</th>
         <th>Catégorie</th>
         <th>Titre produit</th>
         <th>Description</th>
         <th>Référence</th>
   </tr>
   <tr>";

for($i=0;$i<$nb;$i++){
    $id_produit = mysql_result($req,$i,"id_produit");
    $produit = mysql_result($req,$i,"titre");
    $categorie = mysql_result($req,$i,"nom_categorie");
    $description = mysql_result($req,$i,"description");
    echo "<td>".$id_produit."</td>
    <td>".$categorie."</td>
    <td>".$produit."</td>
    <td>".$description."</td>
    <td><input type='text' name='ref".$id_produit."'></td>
  </tr>";
}
echo "
</table>
";
?>
<td>
</tr>
<tr>
  <td><input type="submit" value="Valider" name="bt_submit"></td>
</tr>
</table>
</form>
<?
   if($bt_submit){
       for($i=0;$i<$nb;$i++){
          $id_prod=$_POST[$id_produit];
          mysql_query("UPDATE produit SET reference WHERE id_produit='$id_prod'");
      }
   }
?>

En fait je récupère des infos de ma base de données, je les affiche dans un tableau contenu dans un formulaire grâce à une boucle et j’ai une zone de saisie pour ajouter des choses grâce à un update.

Mon problème est que je n’arrive pas à récupérer le contenu de la zone de saisie et je ne vois pas comment faire.

Merci d’avance

T’as oublié la balise <form> je crois dans ton code.
Et j’ai pas vraiment compris la question… tu n’arrives pas à accéder au contenu du champ ou à le mettre dans la base après ?

Oups j’ai zappé la balise ouvrante du formulaire !
je n’arrive pas à récupérer le contenu du champ qu’on fait traditionnellement avec un $_POST[‘champ’].

Bah ça va être pareil là, tu vas utiliser $_POST[‘ref1’], $_POST[‘ref2’], etc. A ta place j’utiliserais un tableau directement, c’est plus simple à traiter (“name=produit[]” par exemple).

Ou alors j’ai rien compris. :slight_smile:

Je vois ce que tu veux dire mais les tableaux je suis pas trop expert :confused:

J’avais envisagé cette solution mais comme je connais pas trop j’ai pas reussi a le mettre en oeuvre…

T’as pas un exemple sous le coude ?

Le problème c’est surtout que je dois trouver un moyen de différencier les lignes de ma boucle pour pouvoir entrer dans la base ce qui est saisi dans le champ de chacune

Mais tous les champs sont émis non ? Du coup l’ordre reste inchangé et tu peux utiliser un tableau ?
$_POST[‘ton_tableau’][0] te renverra le premier élément dans l’ordre, $_POST[‘ton_tableau’][1] le deuxième, etc.

Cette boucle me permet d’afficher les enregistrements dont j’ai besoin et le champ pour ajouter a chaque enregistrement ce que je veux, mais j’ai besoin surtout de récupérer le name de chaque champ créé par la boucle.
La j’ai mis name=‘ref".$id_produit."’ mais je ne peux pas récupérer (ou je ne sais pas comment récupérer) cette valeur