Affichage update
mickaelm30
Messages postés
229
Statut
Membre
-
hanagi Messages postés 141 Statut Membre -
hanagi Messages postés 141 Statut Membre -
Bonjour,
Mon code est celui ci-dessous, mon probleme est que je dois cliqué 2 fois sur modifier pour que le produit soit mis à jour dans la BDD et dans l'affichage! J'espere que vouis trouverez la solution, merci d'avance!!
<?php
//connexion à mysql
mysql_connect("localhost", "root", "") or die ("Erreur de connexion sur mysql.");
mysql_select_db("see-inf") or die ("Erreur de connexion sur la base.");
$req=mysql_query("SELECT numprod, nomprod, prixprod, duréegarantie, nomtype, poids, description FROM produit order by numprod");
echo "<p align=center><table border=1><tr><TH align='center'>Num</TH><TH align='center'>Nom</TH>
<TH align='center'>Prix</TH><TH align='center'>Garantie</TH>
<TH align='center'>Type</TH><TH align='center'>Poids</TH><TH align='center'>Description</TH><th>Choix</th></tr><tr>" ;
while($donnees=mysql_fetch_assoc($req))
{
?>
<form action="modifie2.php" method="POST">
<td><input type='text' name='numprod' value='<?php echo $donnees['numprod'];?>' size='1'></td>
<td><input type='text' name='nomprod' value='<?php echo $donnees['nomprod']; ?>' size='25'></td>
<td><input type='text' name='prixprod' value='<?php echo $donnees['prixprod']; ?>' size='4'></td>
<td><input type='text' name='garantie' value='<?php echo $donnees['duréegarantie']; ?>' size='2'></td>
<td><input type='text' name='nomtype' value='<?php echo $donnees['nomtype']; ?>' size='13'></td>
<td><input type='text' name='poids' value='<?php echo $donnees['poids']; ?>' size='3'></td>
<td><input type='text' name='description' value='<?php echo $donnees['description']; ?>' size='50'></td>
<td><input type='submit' name='valider' value='Modifier' style='border-style: solid; border-width: 1; background-color: #FF2400; color: #FFFFFF'> </td>
</tr></p>
</form>
<?php
}
mysql_close();
?>
</table>
<?php
//connexion à mysql
mysql_connect("localhost", "root", "") or die ("Erreur de connexion sur mysql.");
mysql_select_db("see-inf") or die ("Erreur de connexion sur la base.");
@@$num=$_POST['numprod'];
@@$nom=$_POST['nomprod'];
@@$prix=$_POST['prixprod'];
@@$garantie=$_POST['garantie'];
@@$poids=$_POST['poids'];
@@$type=$_POST['nomtype'];
@@$description=$_POST['description'];
$req2=mysql_query("UPDATE produit SET nomprod='$nom', prixprod='$prix', duréegarantie='$garantie', nomtype='$type', poids='$poids',description='$description' WHERE numprod='$num'");
mysql_close(); // Déconnexion de MySQL
?>
Mon code est celui ci-dessous, mon probleme est que je dois cliqué 2 fois sur modifier pour que le produit soit mis à jour dans la BDD et dans l'affichage! J'espere que vouis trouverez la solution, merci d'avance!!
<?php
//connexion à mysql
mysql_connect("localhost", "root", "") or die ("Erreur de connexion sur mysql.");
mysql_select_db("see-inf") or die ("Erreur de connexion sur la base.");
$req=mysql_query("SELECT numprod, nomprod, prixprod, duréegarantie, nomtype, poids, description FROM produit order by numprod");
echo "<p align=center><table border=1><tr><TH align='center'>Num</TH><TH align='center'>Nom</TH>
<TH align='center'>Prix</TH><TH align='center'>Garantie</TH>
<TH align='center'>Type</TH><TH align='center'>Poids</TH><TH align='center'>Description</TH><th>Choix</th></tr><tr>" ;
while($donnees=mysql_fetch_assoc($req))
{
?>
<form action="modifie2.php" method="POST">
<td><input type='text' name='numprod' value='<?php echo $donnees['numprod'];?>' size='1'></td>
<td><input type='text' name='nomprod' value='<?php echo $donnees['nomprod']; ?>' size='25'></td>
<td><input type='text' name='prixprod' value='<?php echo $donnees['prixprod']; ?>' size='4'></td>
<td><input type='text' name='garantie' value='<?php echo $donnees['duréegarantie']; ?>' size='2'></td>
<td><input type='text' name='nomtype' value='<?php echo $donnees['nomtype']; ?>' size='13'></td>
<td><input type='text' name='poids' value='<?php echo $donnees['poids']; ?>' size='3'></td>
<td><input type='text' name='description' value='<?php echo $donnees['description']; ?>' size='50'></td>
<td><input type='submit' name='valider' value='Modifier' style='border-style: solid; border-width: 1; background-color: #FF2400; color: #FFFFFF'> </td>
</tr></p>
</form>
<?php
}
mysql_close();
?>
</table>
<?php
//connexion à mysql
mysql_connect("localhost", "root", "") or die ("Erreur de connexion sur mysql.");
mysql_select_db("see-inf") or die ("Erreur de connexion sur la base.");
@@$num=$_POST['numprod'];
@@$nom=$_POST['nomprod'];
@@$prix=$_POST['prixprod'];
@@$garantie=$_POST['garantie'];
@@$poids=$_POST['poids'];
@@$type=$_POST['nomtype'];
@@$description=$_POST['description'];
$req2=mysql_query("UPDATE produit SET nomprod='$nom', prixprod='$prix', duréegarantie='$garantie', nomtype='$type', poids='$poids',description='$description' WHERE numprod='$num'");
mysql_close(); // Déconnexion de MySQL
?>
A voir également:
- Affichage update
- Windows update bloqué - Guide
- Winget update - Guide
- Asus live update - Télécharger - Utilitaires
- Affichage double ecran - Guide
- Windows 11 affichage classique - Guide
10 réponses
Bonjour,
Le problème ne vient pas du fait que tu à mis ton form dans la boucle,ainsi que ton bouton submit?
Le problème ne vient pas du fait que tu à mis ton form dans la boucle,ainsi que ton bouton submit?
non je vien de mettre mon bouton submit hors de la boucle et la mis à jour ne se fait carrément plus..mais merci quand meme!
tu aurais pas une autre idée par hasard?
tu aurais pas une autre idée par hasard?
salut,
Essaie d'inclure le programme d'affichage des données modifiées dans la page d'action de ton formulaire, et enléve les : value='<?php echo $donnees['numprod'];?>... du formulaire .
ça peut marcher ;)
Essaie d'inclure le programme d'affichage des données modifiées dans la page d'action de ton formulaire, et enléve les : value='<?php echo $donnees['numprod'];?>... du formulaire .
ça peut marcher ;)
ça à l'air une bonne idée mais comment je fais pour ajouter les données modifiées dans l'action.
Je connais pas cette méthod^^
Je connais pas cette méthod^^
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
dans le formulaire, ne met pas de code php, seulement des zones des boutons...
Dans le code de la page d'action ajoute une partie php où tu met:
<?php
/aprés la connexion à la base et la selection de table:
$v=$_POST['num'] / num doit etre le nom de la zone de texte où tu saisi le numero d produit
$v1=$_POST['text1']/ text 1 le nom de la zone où tu saisi la valeur du premier champs à modifier
$v2=$_POST['text2']
$req = mysql_query('SELECT * FROM nomtable ') or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());
while($data = mysql_fetch_array($req)){
$sql = "UPDATE nomtable SET champs1='".$v1."', champs2='".$v2."' WHERE numprod='".$v."' ";
mysql_query ($sql) or die ('Erreur SQL !'.$sql.'<br />'.mysql_error()); }
}
/ ferme la connexion
?>
ça doit marcher
Dans le code de la page d'action ajoute une partie php où tu met:
<?php
/aprés la connexion à la base et la selection de table:
$v=$_POST['num'] / num doit etre le nom de la zone de texte où tu saisi le numero d produit
$v1=$_POST['text1']/ text 1 le nom de la zone où tu saisi la valeur du premier champs à modifier
$v2=$_POST['text2']
$req = mysql_query('SELECT * FROM nomtable ') or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());
while($data = mysql_fetch_array($req)){
$sql = "UPDATE nomtable SET champs1='".$v1."', champs2='".$v2."' WHERE numprod='".$v."' ";
mysql_query ($sql) or die ('Erreur SQL !'.$sql.'<br />'.mysql_error()); }
}
/ ferme la connexion
?>
ça doit marcher
ah wé, pour l'affichage, voici ce que tu peux faire:
dans le tableau où les données doivent s'afficher tu crée uniquement la 1ère ligne (num, nom, prix...)
dans le méme tableau, c'est à dire la méme balise <table>...</table>, tu met
<?php
//connexion
$req = mysql_query('SELECT * FROM table ORDER BY num') or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());
while($data = mysql_fetch_array($req))
{echo '<tr><td>'.$data['numprod'].'</td><td>'.$data['nomprod'].'</td><td>'.$data['prixprod'].'</td></tr>';}
?>
de cette façon, pour chaque enregistrement dans la table, s'ajoute à ton tableau automatiquement une ligne, remplisse avec les données d'un produit.
dans le tableau où les données doivent s'afficher tu crée uniquement la 1ère ligne (num, nom, prix...)
dans le méme tableau, c'est à dire la méme balise <table>...</table>, tu met
<?php
//connexion
$req = mysql_query('SELECT * FROM table ORDER BY num') or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());
while($data = mysql_fetch_array($req))
{echo '<tr><td>'.$data['numprod'].'</td><td>'.$data['nomprod'].'</td><td>'.$data['prixprod'].'</td></tr>';}
?>
de cette façon, pour chaque enregistrement dans la table, s'ajoute à ton tableau automatiquement une ligne, remplisse avec les données d'un produit.