Précédent   Forum des professionnels en informatique > PHP > PHP & SGBD
PHP & SGBD Forum d'entraide sur les SGBD avec PHP. Avant de poster : FAQ BDD, toutes les FAQ PHP, cours BDD et sources BDD
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
Vieux 07/10/2009, 12h20   #1
Membre du Club
 
Inscription : mars 2007
Messages : 150
Détails du profil
Informations forums :
Inscription : mars 2007
Messages : 150
Points : 46
Points : 46
Par défaut Probleme Checkbox sur un _POST

Bonjour,

J'ai un script qui me permet de cocher des informations des informations issues d'une base de donnees et de les poster pour les afficher apres.

Je suis rendu compte que lorsque je coche tout ça marche mais lorsque je coche que quelques éléments ça affiche plus les references et stock. Plz aidez moi

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<form action="valide.php" method="post" >
<?php
$req = mysql_query("SELECT * FROM products_options Order by products_options_name "); 
while( $result = mysql_fetch_array($req))
{
?>
<table>
<tr>
<td><input type=checkbox name="id[]" id="id" value=<?php echo $result['products_options_id'];?>></td>
<td><input type="text" name="prix[]" id="prix"  value=<?php echo $result['prix'];?>></td>
<td><input type="text" name="stock[]" id="stock"  value=<?php echo $result['stock'];?>></td>
<td><input type="text" name="reference[]" id="reference" value=<?php echo $result['reference'];?> ></td>
</tr>
<?php
}
?>
</table>
<input value="Ajouter ces Options" type="submit" name="submit"> </form>


Apres j'ai l'autre page

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
 
$prix=$_POST['prix'];
$stock=$_POST['stock'];
$reference=$_POST['reference'];
$id=$_POST['id'];
$total=count($id);
 
echo"
<table width=250 border=0 align=center cellspacing=1 bgcolor=black>
  <tr bgcolor=#CCCCCC>
    <td  width=150>Reference</td>
	<td width=50>Stock</td> 
    <td width=50>Prix</td> 
  </tr>
  ";
//
for($i=0;$i<$total;$i++){
echo "
  <tr bgcolor=white>
    <td>$reference[$i]</td>
	<td>$stock[$i]</td> 
    <td>$prix[$i]</td>
  </tr>
  ";
}

Dernière modification par sabotage ; 07/10/2009 à 12h53. Motif: Merci d'utiliser les balises CODE
lordlifen est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/10/2009, 12h58   #2
Modérateur
 
Avatar de sabotage
 
Homme Vincent
Inscription : juillet 2005
Messages : 14 929
Détails du profil
Informations personnelles :
Nom : Homme Vincent

Informations forums :
Inscription : juillet 2005
Messages : 14 929
Points : 16 381
Points : 16 381
Les cases à cocher ne renvoit une valeur que lorsqu'elles sont cochées donc ton indexation de $_POST['id'] ne correspond pas à celle de $_POST['reference'].
Il faut donc utiliser un index fixe :

Code :
<td><input type="text" name="prix[<?php echo $result['products_options_id'];?>]" id="prix"  value="<?php echo $result['prix'];?>" /></td>
Code :
1
2
3
4
5
6
7
8
9
10
11
12
 
if (isset($_POST['id'])) {
foreach ($_POST['id'] as $id) {
echo "
  <tr bgcolor=white>
    <td>$reference[$id]</td>
	<td>$stock[$id]</td> 
    <td>$prix[$id]</td>
  </tr>
  ";
}
}
sabotage est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/10/2009, 13h49   #3
Membre du Club
 
Inscription : mars 2007
Messages : 150
Détails du profil
Informations forums :
Inscription : mars 2007
Messages : 150
Points : 46
Points : 46
Citation:
Envoyé par sabotage Voir le message
Les cases à cocher ne renvoit une valeur que lorsqu'elles sont cochées donc ton indexation de $_POST['id'] ne correspond pas à celle de $_POST['reference'].
Il faut donc utiliser un index fixe :

Code :
<td><input type="text" name="prix[<?php echo $result['products_options_id'];?>]" id="prix"  value="<?php echo $result['prix'];?>" /></td>
Code :
1
2
3
4
5
6
7
8
9
10
11
12
 
if (isset($_POST['id'])) {
foreach ($_POST['id'] as $id) {
echo "
  <tr bgcolor=white>
    <td>$reference[$id]</td>
	<td>$stock[$id]</td> 
    <td>$prix[$id]</td>
  </tr>
  ";
}
}

j'ai l'erreur

Notice: Undefined index: 18 in C:\Users\Webmaster\workspace\back\admbtik\module_csv\05.php on line 11

Notice: Undefined index: 18 in C:\Users\Webmaster\workspace\back\admbtik\module_csv\05.php on line 12

Notice: Undefined index: 18 in C:\Users\Webmaster\workspace\back\admbtik\module_csv\05.php on line 13

qui correspond à stock reference et prix
lordlifen est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/10/2009, 14h07   #4
Membre du Club
 
Inscription : mars 2007
Messages : 150
Détails du profil
Informations forums :
Inscription : mars 2007
Messages : 150
Points : 46
Points : 46
Autant pour moi ça marche nickel
lordlifen est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/10/2009, 14h08   #5
Membre du Club
 
Inscription : mars 2007
Messages : 150
Détails du profil
Informations forums :
Inscription : mars 2007
Messages : 150
Points : 46
Points : 46
big up mister sabotage
lordlifen est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +1. Il est actuellement 00h44.


 
 
 
 
Partenaires

Hébergement Web