Salut,
Je bloque sur un truc qui ça se trouve est tout con...
Voici mon problème :
J'ai un formulaire qui affiche les articles de ma base de données :
Et je veux que si je coche la checkbox de la ligne de mon article alors un champs de ma table article se mettent à 1.
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
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
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78 <form method="post" action="check_article_index.php"> <div id="tab_gestion_produit_accueil"> <table> <tr> <td width="60px">Image</td> <td width="300px">Libellé</td> <td width="60px">Prix Vente</td> <td width="60px">Accueil ?</td> </tr> <?php // Requête permettant d'afficher la liste des articles $query1 = "SELECT * FROM Produits ORDER BY Top_accueil_produit DESC, Libelle_produit"; $result1 = mysql_query($query1) or die (mysql_error()); while ($ligne1 = mysql_fetch_array($result1)) { $count = mysql_num_rows($result1); ?> <input type="hidden" name="ID_produit[]" value="<?php echo $ligne1['ID_produit']; ?>" /> <input type="hidden" name="count" value="<?php echo $count; ?>" /> <input type="hidden" name="login" value="<?php echo $_SESSION['pseudo']; ?>" /> <tr> <td width="60px"> <img src="http://www.monadresse.com/Images/Produits/<?php echo $ligne1['Code_produit'].'_01.jpg'; ?>" height="40px" width="36px" alt="Image <?php $ligne1['Libelle_produit']; ?>" /> </td> <td width="300px" align="left"> <?php echo $ligne1['Libelle_produit']; ?> </td> <td width="60px" align="left"> <?php if ($ligne1['PrixPromo_produit'] == 0) { $prix = $ligne1['PrixVente_produit']; } else { $prix = $ligne1['PrixPromo_produit']; } echo $prix.' '; ?> </td> <td width="60px"> <input type="checkbox" name="Top_accueil_produit[]" value="<?php echo $ligne1['Top_accueil_produit']; ?>" <?php if ($ligne1['Top_accueil_produit'] == '1') echo ' checked="checked"'; ?>> </td> </tr> <tr align="center"> <td align="center" colspan="4"> <p> </p> <input type="submit" value="Valider" /> <p> </p> </td> </tr> </table> </div> </form>
Ma page de traitement fait cela :
Problème : ça ne met pas à jour les lignes que j'ai coché mais à chaque fois les premières lignes de ma requête qui est dans le formulaire.
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
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
57
58
59
60
61
62
63
64
65
66
67 // On garde les sessions au passage sur cette page session_start(); // Si les infos de connexion sont fausses alors on renvoi vers la page identification.php if (!isset($_COOKIE['login']) or $_SESSION['type'] <> '1') { header('location: http://www.monadresse.com/Pages/identification.php?connexion_ko=1'); } else { // On va chercher le fichier des fonctions include_once("fonctions.php"); // Connexion à la BD ouvrir_BD(); // On récupère le nombre d'enreg à modifier + le login de l'utilisateur $count = $_POST['count']; $login = $_POST['login']; for ($i = 0; $i < $count; $i++) { // On récupère l'ID $ID_produit = $_POST['ID_produit'][$i]; $Top_accueil_produit = $_POST['Top_accueil_produit'][$i]; // Gestion de la checkbox if (isset($Top_accueil_produit)) { $val = 1; } else { $val = 0; } // Traitement des dates / heures / utilisateurs $DateMaj_produit = date('Y-m-d'); $HeureMaj_produit = date('H:i:s'); $UserMaj_produit = $login; // Requête permettant de modifier l'article $query = "UPDATE Produits SET Top_accueil_produit = '$val', DateMaj_produit = '$DateMaj_produit', HeureMaj_produit = '$HeureMaj_produit', UserMaj_produit = '$UserMaj_produit' WHERE ID_produit='$ID_produit'"; $result = mysql_query($query) or die (mysql_error());*/ } // Déconnexion de la base de données mysql_close(); // Traitement du message $message2 = 'Les articles de la page d\'accueil ont été modifiés'; $identifiant2 = uniqid(''); $_SESSION[$identifiant2] = $message2; // On renvoi à la page header('Location: gerer_article_index.php?id_message_ok='.$identifiant2.'');*/ }
Exemple : j'ai une liste de 20 articles, je coche les lignes 5, 7 et 13, au lieu de mettre à 1 le champ pour mes enreg 5, 7 et 13, ça le fait pour les enreg 1, 2 et 3 !
Je m'arrache les cheveux, je n'arrive pas à trouver où est la faille..... ??
Merci de votre aide![]()
Partager