J'ai télécharger un code source (http://www.comscripts.com/scripts/php.p ... l?addcom=1)
qui sert à administrer une base de données. Aprés avoir fait les modifications nécessaire, je n'arrive pas à modifier les données d'une table.
Le code propose selon chaque table de modifier ou supprimer des données :
ACTIONS NOM PRENOM
[M][S] xxxxx xxxxx
[M] correspond à modifier [S] supprimer , le nom et le prénom sont contenus dans une table.
Ma fonction Modifier :
Code : Tout sélectionner
function Modifier($table, $query, $where) {
$update=mysql_query("update $table set $query where $where");
if ($update==TRUE) {
echo "Les donnéees ont été correctement modifiées<br />";
}
else {
echo "Erreur lors de la modification des données<br />";
}
}Code : Tout sélectionner
if (isset($_GET["q"])) { $q=$_GET["q"]; } elseif(isset($_POST["q"])) { $q=$_POST["q"]; } else { $q=""; }
if (isset($_GET["sq"])) { $sq=$_GET["sq"]; } elseif(isset($_POST["sq"])) { $sq=$_POST["sq"]; } else { $sq=""; }
if (!isset($_GET["table"])) {
echo "<div class=\"erreur\">Erreur ! La page n'a pas été appelé avec les bons paramètres.</div>";
} else {
$table=$_GET["table"];
$prefixe=""; // prefixer automatiquement les tables
$table_utilisee="$prefixe".$table."";
switch($q) {
case "Modifier";
$nb_champs=sizeof($champs["$table"]);
echo "<div class=\"titrecorps\">Modification d'une entrée de la table \"$table\"</div>";
$id=$_GET["id"];
if ($sq=="Valider") {
$valeurs="";
$i=0;
while($i<$nb_champs) {
$nom_champ=$champs["$table"]["$i"];
if ($i!=0) {
$valeurs.=" ,";
}
$valeurs.="$nom_champ=\"$_POST[$nom_champ]\"";
$i++;
}
Modifier("$table_utilisee",$valeurs,"id=\"$id\"");
?>
<script language="Javascript">
window.location="<? echo "".$_SERVER["PHP_SELF"]."?table=$table&msg=2"; ?>";
</script>
<?php
} else {
$select=mysql_query("select * from $table_utilisee where id=\"$id\"");
$res=mysql_fetch_array($select);
echo "
<form action=\"".$_SERVER["PHP_SELF"]."?table=$table&q=Modifier&sq=Valider&id=$id\" method=\"post\">
<table border=\"0\">";
$i=0;
while($i<$nb_champs) {
$nom_champ=$champs["$table"]["$i"];
$nom_champ_maj=strtoupper($nom_champ);
echo "
<tr>
<td>$nom_champ_maj</td><td><textarea name=\"$nom_champ\" cols=\"40\" rows=\"3\">".$res["$nom_champ"]."</textarea></td>
</tr>";
$i++;
}
}
break;
J'ai un avertissement à cette ligne $res=mysql_fetch_array($select); (enlever en plaçant un @ devant mysql_fetch_array), j'ai cherché mais je n'ai trouvé aucune solution à mon problème impossible de modifier les données, donc si quelqu'un pouvait m'aider à trouver ce serait cool.
Merci