Formulaire de MAJ général avec checkbox
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 :
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 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> |
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.
Ma page de traitement fait cela :
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 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.'');*/
} |
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.
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..... ?? :cry:
Merci de votre aide :ccool: