Modification table mysql

Résolu/Fermé
ideal23 Messages postés 456 Date d'inscription mercredi 30 avril 2008 Statut Membre Dernière intervention 16 mai 2014 - 27 janv. 2012 à 20:15
 le père - 30 janv. 2012 à 23:22
Bonjour,
j'ai réalisé un script pour modifier les données d'une table, pour mon espace administration.
j'ai 2 tables , menu et articles.Je veux pouvoir modifier la table articles.
http://creuselimousin.free.fr/articlesnouveau.jpg
je n'ai aucune erreur mais malheureusement après avoir envoyé le formulaire rien ne se passe, aucune modification n'est effectuée. je vous donne le code si vous pouvez m'aider çà serait formidable.
<?php require_once('../Connections/dream.php'); ?>
<?php
//init des variables
if(!isset($_POST['titre'])) $titre=""; else $titre=$_POST['titre'];
if(!isset($_POST['description'])) $description=""; else $description=$_POST['description'];
if(!isset($_POST['prix'])) $prix=""; else $prix=$_POST['prix'];
if(!isset($_POST['ref_menu'])) $ref_menu=""; else $ref_menu=$_POST['ref_menu'];
if(!isset($_POST['modifArticle'])) $modifArticle="non"; else $modifArticle=$_POST['modifArticle'];
if(!isset($_FILES['photo'])) $photo['photo']=array('name'=>'','size'=>0); else $photo['photo']=$_FILES['photo'];
//----------------------------
?>
<?php
$colname_rsRecupArticle = "-1";
if (isset($_GET['reference'])) {
  $colname_rsRecupArticle = (get_magic_quotes_gpc()) ? $_GET['reference'] : addslashes($_GET['reference']);
}
mysql_select_db($database_dream, $dream);
$query_rsRecupArticle = sprintf("SELECT * FROM articles WHERE reference = '%s'", $colname_rsRecupArticle);
$rsRecupArticle = mysql_query($query_rsRecupArticle, $dream) or die(mysql_error());
$row_rsRecupArticle = mysql_fetch_assoc($rsRecupArticle);
$totalRows_rsRecupArticle = mysql_num_rows($rsRecupArticle);

mysql_select_db($database_dream, $dream);
$query_rsSelectTheme = "SELECT * FROM menu ORDER BY id_menu ASC";
$rsSelectTheme = mysql_query($query_rsSelectTheme, $dream) or die(mysql_error());
$row_rsSelectTheme = mysql_fetch_assoc($rsSelectTheme);
$totalRows_rsSelectTheme = mysql_num_rows($rsSelectTheme);
?>
<?php
if ($modifArticle=="ok")
{
//---Mise à jour dans la base
mysql_select_db($database_dream, $dream);
$updateArticles = "UPDATE articles SET titre='$titre', description='$description', prix='$prix', ref_menu='$ref_menu' ";
if ($photo['photo']['size']!=0) 
{$photo_name=$_FILES['photo']['name']; 
$updateArticles .= ", photo='$photo_name'";}
$updateArticles .= "WHERE reference='$reference' ";
mysql_query($updateArticles, $dream) or die(mysql_error()); 
//----Gestion de la photo de l'article si elle a était modifiée
if ($photo['photo']['size']!=0 )
				{
			$repertoire="../photos/";
			move_uploaded_file($photo['photo']['tmp_name'],$repertoire.$photo['photo']['name']);
                }
//----Redirection vers l'écran de Gestion des articles
header("Location: valider.php");
}
?>


A voir également:

24 réponses

ideal23 Messages postés 456 Date d'inscription mercredi 30 avril 2008 Statut Membre Dernière intervention 16 mai 2014 28
30 janv. 2012 à 18:14
reference en fin de compte c'est l'id , la clé primaire de la table articles, elle est appelé dans la requête.
0
ideal23 Messages postés 456 Date d'inscription mercredi 30 avril 2008 Statut Membre Dernière intervention 16 mai 2014 28
30 janv. 2012 à 18:39
oui je vois, en fin de compte reference c'est l'id de la table articles, elle est appelé dans la requête par $_GET
0
Mais $_GET est vide quand tu envoies le formulaire. Car dans ton formulaire, tu as action="modifierarticles.php" et non pas action="modifierarticles.php?reference=xx"

Tu peux donc ajouter la référence dans le "action" ou ajouter dans ton formulaire un champ reference hidden

Ça devrait mieux marcher
0
ideal23 Messages postés 456 Date d'inscription mercredi 30 avril 2008 Statut Membre Dernière intervention 16 mai 2014 28
30 janv. 2012 à 19:07
j'ai rajouté :
<input name="reference" type="hidden" id="reference" value="<?php echo $row_rsRecupArticle['reference']; ?>" />
et bien cà marche et avec la photo.
Comment je peux te remercier mon père. pardon le père.
Merci d'avoir consacré du temps à mon problème
0
De rien. Ça fait toujours plaisir de savoir que ça marche : )
0