Modification de BDD en php

Bonjour,
Dans le cadre d'un projet scolaire, je dois modifier une base de données.
Malheureusement, je rencontre un problème...

Aucun message d'erreur, mais pas de mise à jour dans la base de données !

Le code correspondant :

modif_plat.php
<HTML>
<SCRIPT LANGUAGE="javascript">
function envoyer()
{
	frm.submit();
}
</SCRIPT>
<form name="frm" action="enr_modif_plat.php" method=POST>
<body>
Modification d'un plat
<?php
include("inclusion/connect.inc");

$val=$_POST["zl_nom_plat"];

$sql="select *
	from plat
	where num_plat=".$val."";
	$t=mysql_query($sql,$idc);
	$lg=mysql_fetch_array($t);
	

	$rs=mysql_query($sql,$idc);

	while ($lg=mysql_fetch_array($rs))
	{
		print("<INPUT TYPE=hidden NAME='zs_num_plat' SIZE=25 value='".$_POST["zl_nom_plat"]."'>");
	    print("Plat : <INPUT TYPE='text' NAME='zs_nom_plat' VALUE='".$lg["nom_plat"]."'>
				Type de plat : <SELECT NAME='zl_type_plat'>
				<OPTION VALUE='1'>Entrée</OPTION>
				<OPTION VALUE='2'>Plat</OPTION>
				<OPTION VALUE='3'>Dessert</OPTION>
	");}
?>

<CENTER><input type="button" VALUE="modifier" onclick="envoyer()"></CENTER>
</FORM>
</BODY>
</HTML>


enr_modif_plat.php
<HTML>
<center>Plat édité</center>
<?php
include("inclusion/connect.inc");
$num_plat=$_POST["zs_num_plat"];
$nom_plat=($_POST["zs_nom_plat"]);
$type_plat=$_POST["zl_type_plat"];

	    $sql="update plat set nom_plat='".$nom_plat."',
				    type_plat='".$type_plat."',
				    where num_plat='".$num_plat."'";

	    $rs=mysql_query($sql,$idc);
?>
<CENTER><INPUT TYPE="button" VALUE="OK" ONCLICK="history.go(-3)"></CENTER>
</BODY>
</HTML>
Configuration: Windows XP
Firefox 2.0.0.12

2 réponses

  1. Qu'est ce que tu veut faire exactement ? Ton code me parais bien compliqué pour une simple connexion .
    1. pourquoi tu mette une requête sur plusieurs ligne ?
      1. Bonsoir,

        je t'ai pas mal modifié ton code:

        mets les noms des balises <html etc... et leurs parametres en minuscules c'est la norme

        les commandes MYSQL dasn une requette en Majuscules ex:
        SELECT * FROM plat WHERE num_plat='".$val."'";
        c'est plus facile à lire

        <html>
        <head>
        </head>
        
        <body>
        Modification d'un plat
        <form name="frm" action="enr_modif_plat.php" method="POST">
        <?php
        include("inclusion/connect.inc");
        
        $val=$_POST["zl_nom_plat"];
        
        $sql="SELECT * FROM plat WHERE num_plat='".$val."'";
        	//pourquoi fais tu deux fois la requette ?
        	/*
        	$t=mysql_query($sql,$idc);
        	$lg=mysql_fetch_array($t);
        	*/
        
        	$rs=mysql_query($sql,$idc) or die ("pb requette ".mysql_error());
        	// si pb au moins on aura un message d'erreur
        
        	while ($lg=mysql_fetch_array($rs))
        	{
        		print("<input type='hidden' name='zs_num_plat' value='".$val."'>");
        	    print("Plat : <input type='text' name='zs_nom_plat' value='".$lg["nom_plat"]."'>
        				Type de plat : <select name='zl_type_plat'>
        				<option value='1'>Entrée</option>
        				<option value='2'>Plat</option>
        				<option value='3'>Dessert</option>
        	");}
        ?>
        
        <!-- <CENTER><input type="button" VALUE="modifier" onclick="envoyer()"></CENTER> -->
        <center><input type="submit" value="modifier"></center>
        </form>
        </body>
        </html>
        
        


        enregistrer.php:
        <html>
        <body>
        <center>Plat édité</center>
        <?php
        include("inclusion/connect.inc");
        $num_plat=$_POST["zs_num_plat"];
        $nom_plat=($_POST["zs_nom_plat"]);
        $type_plat=$_POST["zl_type_plat"];
        
        $sql="UPDATE plat SET nom_plat='".$nom_plat."',type_plat='".$type_plat."' WHERE num_plat='".$num_plat."'";
        //tu avais une  ,    en trop après $type_plat."'
        $rs=mysql_query($sql,$idc) or die ("pb requette ".mysql_error());
        
        ?>
        <center><input type="button" value="OK" onClick="history.go(-3)"></center>
        </body>
        </html>