Modifier une table mysql
christophe
-
Titrou Messages postés 1 Date d'inscription Statut Membre Dernière intervention -
Titrou Messages postés 1 Date d'inscription Statut Membre Dernière intervention -
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 !
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:
- Modifier une table mysql
- Modifier dns - Guide
- Table ascii - Guide
- Table des matières word - Guide
- Modifier liste déroulante excel - Guide
- Modifier une story facebook - Guide
3 réponses
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
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