Bonjour,
Je vais essayer d'être le plus clair possible dans ce problème qui (me) semble complexe.
J'ai un script PHP qui gènère du code html pour afficher des photos dans mon CMS. Le nom des photos et leur 'identité' est stocké dans une base de données. En dessous de chaque photo se trouve un CheckBox pour pouvoir par la suite choisir de publier ou non la photo sur le site.
Voici le script qui génère le code html (je n'ai pas mis ici les requêtes SQL):
A une autre place sur ma page j'ai un bouton "Sauver" qui permet, quand on le presse, de parcourir tous les CheckBox et d'enregistré la valeur ("ok") qui correspond a la photo dans la base de données.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 echo "\t<div class=\"checktoff\">\n<center><div><img src=\"/v2/photos/img_photo/{$photo['nom']}\" height=\"100\" alt=\"\" /></center>\n"; echo "<form name=\"selphoto\" method=\"POST\" action=\"\">\n"; echo "<center><input type=\"checkbox\" name=\"cb{$photo['id']}\" value=\"ok\" ></center>\n"; echo "</form>\n"; echo "</div>\n";
Script du bouton:
La "<form>" du bouton à le même nom que la "<form>" des CheckBox. De ce côté ca devrait donc jouer...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 echo "<form name=\"selphoto\" method=\"POST\" action=\"\">\n"; echo "<p>\n"; echo "Sauver les modifications"; echo "</p>\n"; echo "<p>\n"; echo "<input type=\"submit\" name=\"sauver\" value=\"Sauver\">\n"; echo "</p>\n"; echo "</form>\n";
Ensuite le bout de script qui foire. La ligne du if($_POST['$cbval']... ne fonctionne pas comme elle devrait. Ca parait compliqué mais je dois faire ça pour savoir quelle CheckBox correspond à quelle photo. C'est pour cette raison que je dois faire une requête pour avoir les id des photos qui sont les memes que les noms des checkbox!!
Tout fonctionne sauf que le if ne va jamais dans $bVisi = 1;. J'ai donc toujours dans ma base de données la valeur 0 dans le champ visibility.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 //Si on presse le bouton sauver if(isset($_POST['sauver'])){ //Reqête qui permet d'avoir a disposition les id des photos qui correspondent aux nom des checkbox $q_vis=mysql_query("SELECT * FROM `image` WHERE `parent` = {$_GET['gallery']}"); while($zt = mysql_fetch_array($q_vis)){ //Concaténation pour avoir les noms des checkbox $cbval = "cb".$zt['id']; if($_POST['$cbval'] == "ok"){ $bVisi = 1; }else{ $bVisi = 0; } //Insertion de la valeur dans la db mysql_query("UPDATE `image` SET `visibility` ={$bVisi} WHERE `id` ={$zt['id']}"); } }
Vous me sortirier une sacré épine du pied si vous pouvier m'aider!!
P.S: J'ai essayer avec un tableau pour les noms des checkboxs, mais ça ne correspond pas vraiment a mon application puisque je dois savoir à quelle photo appartient le checkbox.
Partager