Deux champs, c'est bien ça ;)
Version imprimable
Deux champs, c'est bien ça ;)
voila j'ai ajouter ceci :
j'espere etre sur la bonne voisCode:
1
2
3
4 INSERT INTO `config` ( `config_nom` , `config_valeur` ) VALUES ( 'maintenance', '0' );
ce que je ne comprend pas c'est comment php va il modifier cette valeur ???
la valeur de depart est 0 et je vais faire une requete update pour la changer c'est bien sa ????
Indiquer moi plus ou moins la marche a suivre, je vais devoir faire un truc du genre
Code:
1
2
3 <?php if(isset($_POST('maintenance'))){ //execution de la requete update }
Bon je bloque un peux ici :
quelqu'un peut il me remettre sur le droit chemin:aie:Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29 <?php $db='configuration'; //la base de donnée $host='localhost';// le host $user='root';//l'utilisateur de la base de donnée $mp = ''; $connect=mysql_connect($host, $user, $mp) or die("<b>Erreur de chargement :</b><br>".mysql_error().__LINE__); $sql = mysql_query("SELECT * FROM config"); $donnees = mysql_fetch_array($sql); $nom = $donnees['config_nom']; $valeur = $donnees['config_valeur']; ?> <input type="checkbox" name="ouverture"> <input type="checkbox" name="fermeture"> <?php if(isset($_POST['ouverture'])) { mysql_query("UPDATE config SET maintenance='" . $nom . "','" . $valeur . "'"); } else { print $error=1; } if(isset($_POST['fermeture'])) { mysql_query("UPDATE config SET maintenance='" . $nom . "','" . $valeur . "'"); } else { print $error=1; } ?>
voila j'ai fais ceci mais j'ai surement une erreur quelque pat puisque update ne se fais pas ??
Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56 <?php $db='configuration'; //la base de donnée $host='localhost';// le host $user='root';//l'utilisateur de la base de donnée $mp = ''; $connect=mysql_connect($host, $user, $mp); $sel=mysql_select_db($db); if (!$sel) { echo ('<p style="color:red;font-weight:bold;text-align:center;">base de donnée introuvable</p>'); } $sql = mysql_query("SELECT * FROM config") or die("<b>Erreur de chargement :</b><br>".mysql_error().__LINE__); $donnees = mysql_fetch_assoc($sql); if (!$donnees) { echo '<div style="bgcolor:red">Erreur de requete sql </div>'; } $nom = $donnees['config_nom']; $valeur = $donnees['config_valeur']; if (($valeur='non')) { $etat='Ouvert'; } else { $etat='Fermé' ; }// Remplace par tes valeurs :) if (($valeur='1')) { $form1='checked="checked"'; } else { $form1='' ; } if (($valeur='0')) { $form2='checked="checked"'; } else { $form2=''; } echo 'Le site est actuellement '.'<b style="color:blue">'.$etat."</b>".' '; echo '<br/> Quel nouvel état souhaitez vous ?<br/> <form action="maintenance.php" method="post"> Ouvert <input type="checkbox" name="ouverture" value="0" '.$form1.' > Fermé <input type="checkbox" name="fermeture" value="1" '.$form2.' > '; if(isset($_POST['ouverture'])) { mysql_query("UPDATE config SET maintenance='" . $nom . "','" . $valeur . "'"); } if(isset($_POST['fermeture'])) { mysql_query("UPDATE config SET maintenance='" . $nom . "','" . $valeur . "'"); } ?> <input type="submit" value="Envoyer" /> </form>
Penses toujours à mettre le die(mysql_error())
Et pourtant ta signature :roll:
Pour finir l'ordre d'execution n'est pas correct donc si ca fonctionne il faudra faire un rechargement de la page pour vérifier. Il faut faire le UPDATE avant la récupération de l'état dans la BDD
je l'ai fais lol, dans mysql_query :mouarf:Citation:
Envoyé par Kerod
Pour le reste je ne saisi pas trop ce que vous voulez dire,ça fais un moment que je traine la dessus :aie:
je manque d'organisation faut dire :roll:
Je vois pas le mysql_error :Ensuite il faut mettre ceci avant tout le code de récupération des donnéesCode:
1
2
3
4
5
6
7
8
9 if(isset($_POST['ouverture'])) { mysql_query("UPDATE config SET maintenance='" . $nom . "','" . $valeur . "'"); } if(isset($_POST['fermeture'])) { mysql_query("UPDATE config SET maintenance='" . $nom . "','" . $valeur . "'"); }
comme ceci ?
Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50 $connect=mysql_connect($host, $user, $mp); $sel=mysql_select_db($db); if (!$sel) { echo ('<p style="color:red;font-weight:bold;text-align:center;">base de donnée introuvable</p>'); } $sql = mysql_query("SELECT * FROM config") or die("<b>Erreur de chargement :</b><br>".mysql_error().__LINE__); $donnees = mysql_fetch_assoc($sql) or die(mysql_error().__LINE__); if (!$donnees) { echo '<div style="bgcolor:red">Erreur de requete sql </div>'; } $nom = $donnees['config_nom']; $valeur = $donnees['config_valeur']; if(isset($_POST['ouverture'])) { mysql_query("UPDATE config SET maintenance='" . $nom . "','" . $valeur . "'"); } if(isset($_POST['fermeture'])) { mysql_query("UPDATE config SET maintenance='" . $nom . "','" . $valeur . "'"); } if (($valeur='non')) { $etat='Ouvert'; } else { $etat='Fermé' ; }// Remplace par tes valeurs :) if (($valeur='1')) { $form1='checked="checked"'; } else { $form1='' ; } if (($valeur='0')) { $form2='checked="checked"'; } else { $form2=''; } echo 'Le site est actuellement '.'<b style="color:blue">'.$etat."</b>".' '; echo '<br/> Quel nouvel état souhaitez vous ?<br/> <form action="maintenance.php" method="post"> Ouvert <input type="checkbox" name="ouverture" value="0" '.$form1.' > Fermé <input type="checkbox" name="fermeture" value="1" '.$form2.' > '; ?> <input type="submit" value="Envoyer" /> </form>
Quand je dis le code de récupération c'est le select.Citation:
Envoyé par Kerod
comme ceci alors ? :
cela me genere une erreur sql a l'envoiCode:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50 $connect=mysql_connect($host, $user, $mp); $sel=mysql_select_db($db); if (!$sel) { echo ('<p style="color:red;font-weight:bold;text-align:center;">base de donnée introuvable</p>'); } if(isset($_POST['ouverture'])) { mysql_query("UPDATE config SET maintenance='" . $nom . "','" . $valeur . "'") or die(mysql_error().__LINE__); } if(isset($_POST['fermeture'])) { mysql_query("UPDATE config SET maintenance='" . $nom . "','" . $valeur . "'") or die(mysql_error().__LINE__); } $sql = mysql_query("SELECT * FROM config") or die("<b>Erreur de chargement :</b><br>".mysql_error().__LINE__); $donnees = mysql_fetch_assoc($sql) or die(mysql_error().__LINE__); if (!$donnees) { echo '<div style="bgcolor:red">Erreur de requete sql </div>'; } $nom = $donnees['config_nom']; $valeur = $donnees['config_valeur']; if (($valeur='non')) { $etat='Ouvert'; } else { $etat='Fermé' ; }// Remplace par tes valeurs :) if (($valeur='1')) { $form1='checked="checked"'; } else { $form1='' ; } if (($valeur='0')) { $form2='checked="checked"'; } else { $form2=''; } echo 'Le site est actuellement '.'<b style="color:blue">'.$etat."</b>".' '; echo '<br/> Quel nouvel état souhaitez vous ?<br/> <form action="maintenance.php" method="post"> Ouvert <input type="checkbox" name="ouverture" value="0" '.$form1.' > Fermé <input type="checkbox" name="fermeture" value="1" '.$form2.' > '; ?> <input type="submit" value="Envoyer" /> </form>
A l'envoi de quoi ?
ben lorsque je clique sur le bouton envoyer ,execution des requetes update
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '''' at line 128
je doit surement enlever $nom qui ne sert pas a grand chose vu qu'il ne change pas
il n'y as que la valeur qui change
Dans ce cas à toi de tester si tu recois bien les champs qui sont dans la requêtes et puis quand on récupère des données depuis un form en POST on utilise $_POST pour récupérer la donnée de l'input.
Et puis tu cherches à mettre à jour combien de champs dans la bdd ? Tu as un set qui est pour $nom mais valeur ca sort d'ou ? et puis tu es censé le faire pour la valeur issue du form
il n'y as qu'un seul champs a mettre a jour donc j'ai enlever le $nom qui ne sert a rien .
et je ne veux changer que la valeur 0 en 1 et l'inverse .
j'aurai du peut etre utiliser deux champs et faire un select au lieux d'un update c'est quand même plus facile , comme je suis butée j'essaye comme ceci :aie:
J'ai pas testé mais ça devrait fonctionner.Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44 <?php mysql_connect('localhost', 'root', ''); mysql_select_db('my_db'); $fermeture_site = intval($_POST['fermeture_site']); if ( isset($_POST['submit']) ) { $req_mise_a_jour = "UPDATE `config` SET `config_valeur`='" . $fermeture_site . "' WHERE `config_nom`='maintenance'"; $mise_a_jour = @mysql_query($req_mise_a_jour); if ( $mise_a_jour ) { echo 'La configuration du site a été mise à jour avec succès.'; } else { echo 'Impossible de mettre à jour la configuration du site.<br /><br />' . mysql_error(); } } else { $select_config = mysql_query("SELECT config_valeur FROM `config` WHERE `config_nom`='maintenance'"); $array_config = mysql_fetch_array($select_config); $statut_actuel = $array_config['maintenance']; $checked_oui = ( $statut_actuel == 1 ) ? 'checked="checked"' : ''; $checked_non = ( $statut_actuel == 0 ) ? 'checked="checked"' : ''; echo '<form method="post">'; echo 'Fermer le site ?<br /><br />'; echo 'Oui <input type="radio" name="fermeture_site" value="1" ' . $checked_oui . ' />'; echo ' '; echo 'Non <input type="radio" name="fermeture_site" value="0" ' . $checked_non . ' />'; echo '<br /><br />'; echo '<input type="submit" name="submit" value=" Mettre à jour " />'; echo '</form>'; } mysql_close(); ?>
J'ai donné des noms compréhensibles à toutes les variables pour que tu essayes de comprendre le script.
Surtout, essaye de comprendre et ne recopie pas bêtement...
Et même pas un merci, rien 8OCitation:
Envoyé par Dans le profil de gtraxx
Par la suite, je m'abstiendrais de toute aide (et contribution) si c'est pour en avoir des remerciements comme celui-ci :?
Désolé je n'ai plus eu le temps de venir faire un tour a part ce jour la :oops:
je viens seulement de voir les derniers messages :aie:
Nous avons eu quelque souçis avec notre serveur et cela a pris tout mon temps,j'ai tester ton script en vitesse et tout me semble correct :mrgreen:
je te remercie de ton aide car tu es bien le seule a m'avoir fournis quelque chose de cohérent,fonctionnel .