[PHP/SQL] Mettre à jour des données dans un t

Fermé
epokepok Messages postés 2 Date d'inscription samedi 12 juillet 2008 Statut Membre Dernière intervention 14 juillet 2008 - 12 juil. 2008 à 17:17
epokepok Messages postés 2 Date d'inscription samedi 12 juillet 2008 Statut Membre Dernière intervention 14 juillet 2008 - 14 juil. 2008 à 21:55
Bonjour à tous !

Je suis débutant en php alors excusez moi d'avance si ma question est nule ! :p

Alors je vous explique... Je suis en train de faire (tenter de faire) un programme pour gérer une catalogue de réactifs pour le travail...

J'ai donc une base de donnée sur MySQL qui regroupe tous les réactifs, pleins d'infos sur leur utilisation et surtout les quantités disponibles (en µl)... J'ai fais une première page "formulaire" pour entrer dans la BDD chaque nouveau réactif, celle ci marche impec'... J'ai une seconde page qui liste dans un tableau les réactifs de la BDD, celle là aussi est ok !

Mon souci concerne une troisième page qui listerait les réactifs dont le volume est supérieur à 0 et qui aurait une colonne en plus avec une zone text servant à saisir les quantités utilisées pour chaque réactif et ainsi mettre à jour les bons volumes restants...

Là j'avoue que j'ai déjà atteint mes limites :(

La structure de cette troisième page est du style :

<form method="post" action="majcatalogue.php">

<table>
  <tr>
    <td>nom du réactif</td>
    <td>quantité<br />initiale</td>
    <td>quantité<br />utilisée</td>
  </tr>

<?php

// Là tout ce qui va bien pour se connecter à la BDD

$reponse = mysql_query("SELECT * FROM sondes WHERE quantite>0 ORDER BY nom");

while ($donnees = mysql_fetch_array($reponse))
{
echo "<tr>";
  echo "<td>";
    echo $donnees['nom'];
  echo "</td>";
  echo "<td>";
    echo $donnees['quantite'];
  echo "</td>";
  echo "<td>";
      // Là, la zone où saisir le volume utilisé qui sera automatiquement retranché pour donner une nouvelle valeur à $quantite...
      // C'est là ou je bloque totalement... :(
  echo "</td>";
echo "</tr>";
}

?>

</table>

<input type="submit" /> <input type="reset" />

</form>


Merci beaucoup pour votre aide !

Cordialement,

Thomas
A voir également:

1 réponse

Salut

je pense qu'il faut que tu fasse celà :

echo '<form action="pagecourante.php" method="post">
Quantité utilisée : <input type="text" name="qtutil" />
<input type="hidden" value="'.$donnees['id'].'" />
<input type="submit" value="Modifier" />
</form>


au debut de ta page tu met :

if(isset($_POST['qtutil']){
$id = $_POST['id'];
$reponse = mysql_query("SELECT * FROM sondes WHERE id=$id");
$row = mysql_fetc_row($reponse);
$qtini = $row['numero du champ concerné'];
$qtfinal = $qtini - $_POST['qtutil'];
//la tu modidie ta table en remplacant la qt par celle calculée ci-dessus
}
0
epokepok Messages postés 2 Date d'inscription samedi 12 juillet 2008 Statut Membre Dernière intervention 14 juillet 2008
14 juil. 2008 à 21:55
Merci beaucoup d'avoir pris la peine de te pencher sur le sujet !

Comme je l'ai dis, je suis débutant et j'ai quand même du mal faut avouer lol... Comme j'ai utilisé ton code, ça marche pas fort !

Si y'a possibilité d'avoir encore de l'aide, je suis plus que preneur ! :)



Voici d'autres infos complémentaires qui pourront peut être aider...

Dans ma BDD, j'ai un table "sondes" avec entre autre :
- un champ nommé "id" configuré en auto_increment pour numéroter mes entrées (je dis ça car j'ai vu qu'il y avait des variables id dans ton code, je sais pas si on parle des mêmes ou si ça peut engendrer un souci...)
- un champ nommé "quantite" (le nom est assez transparent, cette valeur correspond à la quantité dispo du réactif... du coup n'y a-t-il pas doublon avec ta variable $qtfinal ? Car moi j'aurais vu quelque chose du genre $quantite = $quantite - $_POST['qtutil'] pour retrancher le volume utilisé...)

Qu'entends-tu par "numero du champ concerné" ? Mais champs ne sont pas numérotés dans ma table, ils portent juste des noms, c'est à remplacer par "quantite" ?

Voilà tous le code de la zone body que j'ai essayé... Il doit y avoir plein de choses qui vont pas à n'en pas douter...

<table>
    <tr>
       <th>nom</th>
       <th>quantité initiale</th>
       <th>quantité utilisée</th>
       </tr>
	   
       <?php

          mysql_connect("localhost", "root", ""); // Connexion à MySQL
          mysql_select_db("fish"); // Sélection de la base coursphp
		  
          if(isset($_POST['qtutil'])
	  {
          $id = $_POST['id'];
          $reponse = mysql_query("SELECT * FROM sondes WHERE id=$id");
          $row = mysql_fetc_row($reponse);
          $qtini = $row['quantite'];
          $qtfinal = $qtini - $_POST['qtutil'];
          //la tu modidie ta table en remplacant la qt par celle calculée ci-dessus
          }
		  
          $reponse = mysql_query("SELECT * FROM sondes WHERE quantite>0 ORDER BY chrom1"); // Requête SQL
		  
          mysql_close(); // Déconnexion de MySQL
		  
		  
		  
        while ($donnees = mysql_fetch_array($reponse))
        {
        echo "<tr>";
          echo "<td>";
            echo $donnees['nom'];
            echo "</td>";
			
        echo "<td>";
	    echo $donnees['quantite'];
            echo "</td>";
				
          echo "<td>";				
            echo '<form action="majtest.php" method="post">
                 Quantité utilisée : <input type="text" name="qtutil" />
                 <input type="hidden" value="'.$donnees['id'].'" />
                 <input type="submit" value="Modifier" /></form>'
          echo "</td>";
		echo "</tr>";
        }
        ?>
		
</table>


Un grand merci d'avance !!!
0