Page 1 sur 1

UPDATE fonctionne pas ! (checkbox ???)

Posté : 13 juil. 2005, 09:24
par psaikopat
Bonjour a tous,

Me revoila avec un petit souci de rien du tout mais je comprend pas pourquoi ça marche pas !

Alors j'ai un formulaire de ce type :

Code : Tout sélectionner

<?php require_once('Connections/intranet.php'); ?> <? $Id=$_GET['id']; $query = "SELECT Date, Titre, Texte, Affichage FROM ajout_actu WHERE Id=$Id"; $result = mysql_query($query); while($row = @mysql_fetch_array($result)) { $Date=$row[0]; $Titre=$row[1]; $Texte=$row[2]; $Affichage=$row[3];} ?> <html> <head> </head> <body background="PINELUMB.jpg"> <form name="form1" method="post" action="update_actu.php?id=<? echo $Id;?>"> <p> <table width="367" border="0"> <tr> <td width="241"><strong>Date :</strong> <input type="text" name='Date' value="<?php echo $Date; ?>"></td> <td width="116"> <strong>Affichage :</strong> ? <?php if ($Affichage==1) { ?> <input name='Affichage' type="checkbox" checked > <? } else { ?> <input name='Affichage' type="checkbox" > <? } ?> </td> </tr> <tr> <td><strong>Titre :</strong> <input type="text" name="Titre" value="<? echo $Titre; ?>"></td> <td><input type="submit" name="MAJ" value="Mettre a jour"></td> </tr> </table> <p> <strong>Contenu :</strong> <textarea name="Text_actu" cols="45" rows="10" style="text-align:top"><? echo $Texte; ?></textarea> </p> </form> </body> </html>
Vous avez compris que je récupère des infos contenu dans une BD et que je veux les modifier ! Voici mon code pour la page Update_actu.php :
<?php require_once('Connections/intranet.php'); ?>
<?php     
	$Id=$_GET['id'];
	$date=$_POST['Date'];
	$titre=$_POST['Titre'];
	$text_actu=$_POST['Text_actu'];
	if (isset($_POST['Affichage'])) {
		 $affiche = 1;
		 } 
	 else
		 {
		 $affiche = 0;
		 }
	mysql_select_db($database_intranet, $intranet); 
    
        
        $sql = "UPDATE 'ajout_actu' SET  'Titre'='ericcode' " ;
        $sql.= "WHERE 'Id'=$Id" ;
        $test  = @mysql_query($sql); 
		echo "test" . $Id;
		echo $test;
		@mysql_free_result($test);
?>
J'aimerais comprendre pouruoi ça ne met pas a jour ma base !!

????

Merci d'avance !

Posté : 13 juil. 2005, 09:25
par zeus
Déjà, quand tu as un problème de développement, enlève le @ devant cette ligne
$test  = @mysql_query($sql); 
Ca t'affichera peut être un message d'erreur :wink:

Posté : 13 juil. 2005, 09:25
par Cyrano
ton formulaire est en méthode POST et tu essayes de récupérer les variables dans $_GET, tu risques de les chercher longtemps ;)

Posté : 13 juil. 2005, 09:29
par psaikopat
$_GET est tout a fait normal j'envoie des infos dans mes adresses, ajout_actu?id=4 donc c'est tout a fait normal !

Sans le @ =>
Warning: mysql_free_result(): supplied argument is not a valid MySQL result resource in c:\program files\easyphp1-8\www\intranet\update_actu.php on line 22

Posté : 13 juil. 2005, 09:32
par Cyrano
Ok, méthodologie de débuggage:
-1- faire afficher les variables obtenues en provenance du formulaire: s'il en manque, commencer par corriger de ce coté là
-2- Faire afficher la requête générer : en vérifier la syntaxe et éventuellement le tester directement dans un utilitaire de gestion de base de données; En cas d'erreur, corriger également cette partie là

Si rien de tout ça ne génère d'erreur et que pourtant ça ne fonctionne toujours pas, on passe à la cinquième dimension et on téléphone d'urgence à Mulder et Scully :langue:

Posté : 13 juil. 2005, 09:34
par psaikopat
MDR Excellent j'appelle tout de suite Mulder !!!

Si je préfère Starsky & Hutch ??? lOl

Ok je vois la méthodologie et je reviens vous dire ....

Posté : 13 juil. 2005, 10:05
par psaikopat
Image

c'est bon pas la peine de les appeler tout fonctionne ! J'avais fait une erreur de synthaxe !

Je suis étourdi ! => ça me tuera un jour !

Mais en tout cas je vais utiliser ta méthodologie tout le tps pour débugger ! ;)