Modifier une table mysql

Fermé
christophe - 17 janv. 2007 à 09:34
Titrou Messages postés 1 Date d'inscription mardi 30 avril 2013 Statut Membre Dernière intervention 30 avril 2013 - 30 avril 2013 à 11:52
Bonjour,
je voudrais éditer les données d'une base mysql dans un tableau, de façon à pouvoir modifier les données directement.
Je ne sais pas si je m'exprime correctement, disons que si j'utilise phpmyadmin par exemple, je ne peux modifier les donnes que ligne par ligne, avec enregistrement à chaque fois, ce qui fait que quand il y a beaucoup de lignes à modifier c'est fastidieux.
Voici le code de mes deux pages, qui ne fonctionne pas des qu'il y a plusieurs lignes ( je comprend bien qu'il s'agit de l'identifiant de l'enregistrement qui n'est plus unique, mais je ne vois pas comment faire):

Page essai.php:

<html>
<head>
<TITLE>Modifications de données</TITLE>
</head>
<body>
<?
$identifiant= $_POST['identifiant'];
include "apel.php";
$db=mysql_connect($mysql_host,$mysql_login,$mysql_pass);
mysql_select_db($mysql_dbnom,$db);

$demande = "SELECT * from $table1 WHERE $table1.code='$code_moto' ORDER BY reference,commentaire";


$result = mysql_query($demande);

$i = 0;
?>
<table with="100%" border="1" cellpadding="2" cellspacing="2">
<TR>
<TD>code_piece</TD>
<TD>commentaire</TD>
<TD>N° photo</TD>
<TD>id_piece</TD>
<TD>poids</TD>
<TD>lot</TD>
</TR>
<?
while ($val = mysql_fetch_array($result))
{

$v_code_piece = mysql_result($result,$i,"code_piece");
$v_commentaire = mysql_result($result,$i,"commentaire");
$v_reference = mysql_result($result,$i,"reference");
$v_id_piece = mysql_result($result,$i,"id_piece");
$v_poids = mysql_result($result,$i,"poids");
$v_lot = mysql_result($result,$i,"lot");
?>
<form method="post" action="essai1.php">
<tr>
<TD><input type="varchar" name="code_piece" value="<? echo "$v_code_piece";?>" maxlength="30"><br></TD>
<TD><input type="varchar" name="commentaire" value="<? echo "$v_commentaire";?>" maxlength="30"><br></TD>
<TD><input type="varchar" name="reference" value="<? echo "$v_reference";?>" maxlength="4"><br></TD>
<TD><input type="varchar" name="id_piece" value="<? echo "$v_id_piece";?>" maxlength="5"><br></TD>
<TD><input type="varchar" name="poids" value="<? echo "$v_poids";?>" maxlength="3" size="3"><br></TD>
<TD><input type="varchar" name="lot" value="<? echo "$v_lot";?>" maxlength="2" size="2"><br></TD>
</tr>
<?
$i++;
}
?>
</table>
<input type="submit" name="submit" value="Enregistrer">
</form>
</body>
</html>



page essai1.php:

<html>
<head></head>
<body bgcolor="#bceed5" text="#757575">
<?
include "apel.php";
$db=mysql_connect($mysql_host,$mysql_login,$mysql_pass);
mysql_select_db($mysql_dbnom,$db);

$code_piece=$_POST['code_piece'];
$commentaire=$_POST['commentaire'];
$reference=$_POST['reference'];
$idpiece=$_POST['id_piece'];
$poids=$_POST['poids'];
$lot=$_POST['lot'];

echo "$code_piece";

// on écrit la requête sql

$sql = "UPDATE catalogue SET code_piece='$code_piece',commentaire='$commentaire',reference='$reference',id_piece='$idpiece',poids='$poids',lot='$lot' WHERE id_piece='$idpiece'";

mysql_query($sql)
or die('Erreur SQL !'.$sql.'<br>'.mysql_error());

echo 'Les modifications ont bien été enregistrées.';

mysql_close();
?>
<P>
<A href="essai0.php">Retour</A>
</body>
</html>


Voila, d'avance merci beaucoup à ceux qui pourront me donner une piste !
A voir également:

3 réponses

Bergkamp007 Messages postés 6 Date d'inscription lundi 15 janvier 2007 Statut Membre Dernière intervention 19 janvier 2007 3
17 janv. 2007 à 10:49
Si je comprend bien ce que tu veux faire:

Ex:
1) Tableau de 10 lignes
2) Modification données ligne 2, ligne 4, ligne 5
3) Enregistrement de toutes modifications en une seule fois

Mon conseil:
1) Stocker les valeurs modifiées dans un tableau
2) Parcourir les valeurs modifiées
3) A chaque nouvelle ligne modifiés -> UPDATE
3
Titrou Messages postés 1 Date d'inscription mardi 30 avril 2013 Statut Membre Dernière intervention 30 avril 2013
30 avril 2013 à 11:52
Ah bah bravo, le jour où il a une db de 300.000 lignes tu vas lui dire d'aller dans phpmyadmin et pis de cherche au pif dans sa db ? serieusement...
0
Reivax962 Messages postés 3672 Date d'inscription jeudi 16 juin 2005 Statut Membre Dernière intervention 11 février 2021 1 011
17 janv. 2007 à 10:27
Bonjour,

Dans phpmyadmin, tu peux cocher toutes les cases que tu veux modifier, et cliquer en bas de tableau sur le bouton "modifier"...
-2