Mettre à jour une table
hope10
-
hope10 -
hope10 -
Bonjour, j'ai fait une application sur la gestion des stock sous php et j'aimerais faire la mise a jour de l'état du stock à partir d'un tableau ou je modifie les quantité, mais le probleme c'est qu'il prend la meme valeur pour toutes les lignes de la table.
si quelqu'un peut m'aider c'est vraiment urgent !!!
merci d'avance ...
si quelqu'un peut m'aider c'est vraiment urgent !!!
merci d'avance ...
A voir également:
- Mettre à jour une table
- Table ascii - Guide
- Mettre a jour chrome - Accueil - Applications & Logiciels
- Table des matières word - Guide
- Mise a jour windows 10 - Accueil - Mise à jour
- Mettre a jour chromecast - Accueil - Guide TV et vidéo
4 réponses
slt, oui j'utilise php et mysql voici un aperçu du code.
donc en premier je fais un select pour afficher les données dans un tableau et je laisse une colonne vide pour les nouvelles quantités.
$sql = "SELECT id,design from produit order by design" ;
$requete=mysql_query($sql,$cnx);
$total = mysql_num_rows($requete);
// lecture et affichage des résultats
while($row = mysql_fetch_array($requete))
{
echo '<tr>';
echo '<td width="80" bgcolor="#e0541d">'.'<center>'.'<font face="arial" size="3" color="black">'.'<b>'.$row['id'].'</b>'.'</font>'.'</center>'.'</td>';
echo '<td width="350" bgcolor="lightgrey">'.'<center>'.'<font face="arial" size="3" color="black">'.'<b>'.$row['design'].'</b>'.'</center>'.'</font>'.'</td>';
echo '<td width="200" bgcolor="lightgrey">'.'<center>'.'<font face="arial" size="3" color="black">'.'<b>'.'</b>'.'</center>'.'</font>'.
'<input type="text" name="quantit" size="30" onKeypress="if((event.keyCode < 45 || event.keyCode > 57) && event.keyCode != 32
&& event.keyCode != 8 && event.keyCode != 0) event.returnValue = false; if((event.which < 45 || event.which > 57)
&& event.which != 32 && event.which != 8 && event.which != 0 ) return false;">'.'</td>';
echo '</tr>'."\n";
}
echo '</table>'."\n";
echo '</div>'."\n";
// fin du tableau.
ensuite je fais appel un une autre page pour le update.
<?php
//connection au serveur
$cnx = mysql_connect( "localhost", "root", "" ) ;
//sélection de la base de données:
$db = mysql_select_db( "dbprotect" ) ;
//données a renseigner
$quantit = $_POST['quantit'];
//$design = $_POST['design'];
//fin des données
if($cnx)
{
foreach ($_POST as $quantit)
{
$requete1 = "update stock set qte='$quantit'";
$execution = mysql_query($requete1,$cnx) or die( mysql_error() );
if($execution)
{
header("Location:consomliv.php?add=ok");
}
else
{
header("Location:consomliv.php?erreur=err");
}
}
}
?>
MERCI POUR VOTRE AIDE ...
donc en premier je fais un select pour afficher les données dans un tableau et je laisse une colonne vide pour les nouvelles quantités.
$sql = "SELECT id,design from produit order by design" ;
$requete=mysql_query($sql,$cnx);
$total = mysql_num_rows($requete);
// lecture et affichage des résultats
while($row = mysql_fetch_array($requete))
{
echo '<tr>';
echo '<td width="80" bgcolor="#e0541d">'.'<center>'.'<font face="arial" size="3" color="black">'.'<b>'.$row['id'].'</b>'.'</font>'.'</center>'.'</td>';
echo '<td width="350" bgcolor="lightgrey">'.'<center>'.'<font face="arial" size="3" color="black">'.'<b>'.$row['design'].'</b>'.'</center>'.'</font>'.'</td>';
echo '<td width="200" bgcolor="lightgrey">'.'<center>'.'<font face="arial" size="3" color="black">'.'<b>'.'</b>'.'</center>'.'</font>'.
'<input type="text" name="quantit" size="30" onKeypress="if((event.keyCode < 45 || event.keyCode > 57) && event.keyCode != 32
&& event.keyCode != 8 && event.keyCode != 0) event.returnValue = false; if((event.which < 45 || event.which > 57)
&& event.which != 32 && event.which != 8 && event.which != 0 ) return false;">'.'</td>';
echo '</tr>'."\n";
}
echo '</table>'."\n";
echo '</div>'."\n";
// fin du tableau.
ensuite je fais appel un une autre page pour le update.
<?php
//connection au serveur
$cnx = mysql_connect( "localhost", "root", "" ) ;
//sélection de la base de données:
$db = mysql_select_db( "dbprotect" ) ;
//données a renseigner
$quantit = $_POST['quantit'];
//$design = $_POST['design'];
//fin des données
if($cnx)
{
foreach ($_POST as $quantit)
{
$requete1 = "update stock set qte='$quantit'";
$execution = mysql_query($requete1,$cnx) or die( mysql_error() );
if($execution)
{
header("Location:consomliv.php?add=ok");
}
else
{
header("Location:consomliv.php?erreur=err");
}
}
}
?>
MERCI POUR VOTRE AIDE ...
slt, j'ai déja fait un where mais le problème c'est que je n'arrive pas à recuperer le "id" de chaque ligne .
merci ...
merci ...
pour etre claire, moi j'ai un tableau de trois colonne, 1- id, 2- désignation 3-input type text que j'ai nommé 'quantit'.
moi j'aimerais que toute les valeurs saisies dans ces textes soient mises à jour dans la base de données, le probleme c'est quand je clique sur le bouton valider toutes les lignes de la table dans la bdd prennent la meme valeur( celle de la derniere zone de texte dans le tableau)
j'ai tout essayé mais je bloque toujours, voici mon code:
<form action="insertion4.php" method="post" name="add">
<p align="center">
<?php if(isset($_GET['add']) && ($_GET['add'] == "ok")) { // Affiche l'erreur ?>
<span class="reussite"><strong><font face="arial" size="2" color="darkred"><i>Validation effectuée avec succés !</i></strong></font></span>
<?php } ?>
</p>
<?php require_once('connexion.php'); ?>
<?php
session_start(); // On relaye la session
?>
<?php
//connection au serveur
$cnx = mysql_connect( "localhost", "root", "" ) ;
//sélection de la base de données:
$db = mysql_select_db( "dbstock" ) ;
$sql = "SELECT id,design from produit order by design" ;
$requete=mysql_query($sql,$cnx);
$total = mysql_num_rows($requete);
$sql2 = "SELECT design from produit order by design" ;
$requete2=mysql_query($sql2,$cnx);
$qte2 = mysql_fetch_array($requete2);
// si on a récupéré un résultat on l'affiche.
if($total)
{
// début du tableau
echo '<div style="min-height:370px;height:370px;min-width:680px;width:680px;overflow:auto">';
echo '<table align="center" bgcolor="#FFFFFF">'."\n";
// première ligne
echo '<td bgcolor="steelblue"><center><font face="arial" size="4" color="white"><b>N°</b></font></center></td>';
echo '<td bgcolor="steelblue"><center><font face="arial" size="4" color="white"><b>Désignation</b></font></center></td>';
echo '<td bgcolor="steelblue"><center><font face="arial" size="4" color="white"><b>Quantité</b></font></center></td>';
// lecture et affichage des résultats sur 2 colonnes, 1 résultat par ligne.
while($row = mysql_fetch_array($requete))
{
echo '<tr>';
echo '<td width="80" bgcolor="#e0541d">'.'<center>'.'<font face="arial" size="3" color="black">'.'<b>'.$row['id'].'</b>'.'</font>'.'</center>'.'</td>';
echo '<td width="350" bgcolor="lightgrey">'.'<center>'.'<font face="arial" size="3" color="black">'.'<b>'.$row['design'].'</b>'.'</center>'.'</font>'.'</td>';
echo '<td width="200" bgcolor="lightgrey">'.'<center>'.'<font face="arial" size="3" color="black">'.'<b>'.'</b>'.'</center>'.'</font>'.
'<input type="text" name="quantit" size="30" onKeypress="if((event.keyCode < 45 || event.keyCode > 57) && event.keyCode != 32
&& event.keyCode != 8 && event.keyCode != 0) event.returnValue = false; if((event.which < 45 || event.which > 57)
&& event.which != 32 && event.which != 8 && event.which != 0 ) return false;">'.'</td>';
echo '</tr>'."\n";
}
echo '</table>'."\n";
echo '</div>'."\n";
// fin du tableau.
}
else
{
echo '<font face="arial" size="2" color="darkred">'.'Pas d\'enregistrements dans cette table...'.'</font>';
}
// on libère le résultat
mysql_free_result($requete);
?>
<br>
<td height="50" colspan="2"><div align="center">
<input type="submit" name="Submit" value="Valider" style="width: 100px; height: 30px">
<input type="submit" name="Submit" value="Annuler" style="width: 100px; height: 30px">
</td>
</form>
</body>
******************************************************
la page insertion4.php pour faire le update
<?php
//connection au serveur
$cnx = mysql_connect( "localhost", "root", "" ) ;
//sélection de la base de données:
$db = mysql_select_db( "dbstock" ) ;
//données a renseigner
$quantit = $_POST['quantit'];
foreach ($_POST as $quantit)
{
$requete1 = "update stock set qte='$quantit'";
$execution = mysql_query($requete1,$cnx) or die( mysql_error() );
if($execution)
{
header("Location:consomliv.php?add=ok");
}
else
{
header("Location:consomliv.php?erreur=err");
}
}
?>
j'espere que quelqu'un pourra m'aider, merci ...
moi j'aimerais que toute les valeurs saisies dans ces textes soient mises à jour dans la base de données, le probleme c'est quand je clique sur le bouton valider toutes les lignes de la table dans la bdd prennent la meme valeur( celle de la derniere zone de texte dans le tableau)
j'ai tout essayé mais je bloque toujours, voici mon code:
<form action="insertion4.php" method="post" name="add">
<p align="center">
<?php if(isset($_GET['add']) && ($_GET['add'] == "ok")) { // Affiche l'erreur ?>
<span class="reussite"><strong><font face="arial" size="2" color="darkred"><i>Validation effectuée avec succés !</i></strong></font></span>
<?php } ?>
</p>
<?php require_once('connexion.php'); ?>
<?php
session_start(); // On relaye la session
?>
<?php
//connection au serveur
$cnx = mysql_connect( "localhost", "root", "" ) ;
//sélection de la base de données:
$db = mysql_select_db( "dbstock" ) ;
$sql = "SELECT id,design from produit order by design" ;
$requete=mysql_query($sql,$cnx);
$total = mysql_num_rows($requete);
$sql2 = "SELECT design from produit order by design" ;
$requete2=mysql_query($sql2,$cnx);
$qte2 = mysql_fetch_array($requete2);
// si on a récupéré un résultat on l'affiche.
if($total)
{
// début du tableau
echo '<div style="min-height:370px;height:370px;min-width:680px;width:680px;overflow:auto">';
echo '<table align="center" bgcolor="#FFFFFF">'."\n";
// première ligne
echo '<td bgcolor="steelblue"><center><font face="arial" size="4" color="white"><b>N°</b></font></center></td>';
echo '<td bgcolor="steelblue"><center><font face="arial" size="4" color="white"><b>Désignation</b></font></center></td>';
echo '<td bgcolor="steelblue"><center><font face="arial" size="4" color="white"><b>Quantité</b></font></center></td>';
// lecture et affichage des résultats sur 2 colonnes, 1 résultat par ligne.
while($row = mysql_fetch_array($requete))
{
echo '<tr>';
echo '<td width="80" bgcolor="#e0541d">'.'<center>'.'<font face="arial" size="3" color="black">'.'<b>'.$row['id'].'</b>'.'</font>'.'</center>'.'</td>';
echo '<td width="350" bgcolor="lightgrey">'.'<center>'.'<font face="arial" size="3" color="black">'.'<b>'.$row['design'].'</b>'.'</center>'.'</font>'.'</td>';
echo '<td width="200" bgcolor="lightgrey">'.'<center>'.'<font face="arial" size="3" color="black">'.'<b>'.'</b>'.'</center>'.'</font>'.
'<input type="text" name="quantit" size="30" onKeypress="if((event.keyCode < 45 || event.keyCode > 57) && event.keyCode != 32
&& event.keyCode != 8 && event.keyCode != 0) event.returnValue = false; if((event.which < 45 || event.which > 57)
&& event.which != 32 && event.which != 8 && event.which != 0 ) return false;">'.'</td>';
echo '</tr>'."\n";
}
echo '</table>'."\n";
echo '</div>'."\n";
// fin du tableau.
}
else
{
echo '<font face="arial" size="2" color="darkred">'.'Pas d\'enregistrements dans cette table...'.'</font>';
}
// on libère le résultat
mysql_free_result($requete);
?>
<br>
<td height="50" colspan="2"><div align="center">
<input type="submit" name="Submit" value="Valider" style="width: 100px; height: 30px">
<input type="submit" name="Submit" value="Annuler" style="width: 100px; height: 30px">
</td>
</form>
</body>
******************************************************
la page insertion4.php pour faire le update
<?php
//connection au serveur
$cnx = mysql_connect( "localhost", "root", "" ) ;
//sélection de la base de données:
$db = mysql_select_db( "dbstock" ) ;
//données a renseigner
$quantit = $_POST['quantit'];
foreach ($_POST as $quantit)
{
$requete1 = "update stock set qte='$quantit'";
$execution = mysql_query($requete1,$cnx) or die( mysql_error() );
if($execution)
{
header("Location:consomliv.php?add=ok");
}
else
{
header("Location:consomliv.php?erreur=err");
}
}
?>
j'espere que quelqu'un pourra m'aider, merci ...