Bonjour, voici mon probleme :
j'ai un formulaire généré avec des class, ce qui me donne un dans cette partie l'ensemble de attributs que peut avoir un produit avec des check box attribuées à chaque...
Le probleme est que je n'arrive pas à récupérer la valeur de chaque checkbox...
Alors pour vous aider à comprendre :
Le premier fichier qui génere le formulaire faire ceci pour les checkbox :
A partir d'un tableau : celui ci
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 if(isset($_POST[$value[1]])) $val = $_POST[$value[1]]; echo "<table width=\"99%\"><tr>"; $i=1; $req2=mysql_query($value[6]); while($dataSelect=mysql_fetch_array($req2)) { $temp=$value[3]." AND a.produit_option_id = ".$dataSelect['produit_option_id']; $req=mysql_query($temp); $rep=mysql_fetch_array($req); //die($value[3]); if(!empty($rep[0]['produit_option_id'])) echo "<td width=\"32%\"><input type=\"checkbox\" name=\"".$i."\" id=\"".$dataSelect['produit_option_id']."\" onClick=\"if(this.value>0){ this.value=-this.id;} else {this.value=this.id;}\" value=\"".$dataSelect['produit_option_id']."\" style=\"border: 0px; white-space: nowrap;\" checked /> ".$dataSelect['produit_option_nom']."</td>"; else echo "<td width=\"32%\"><input type=\"checkbox\" name=\"".$i."\" id=\"".$dataSelect['produit_option_id']."\" onClick=\"if(this.value>0){ this.value=-this.id;} else {this.value=this.id;}\" value=\"-".$dataSelect['produit_option_id']."\" style=\"border: 0px; white-space: nowrap;\" /> ".$dataSelect['produit_option_nom']."</td>"; if(($i%3) == 0){ echo "</tr><tr>"; } $i++; } echo "</tr></table>";
array ("Attributs","attributs","checkboxliste","SELECT b.produit_option_id, b.produit_option_nom FROM produit_option b, produit_attribut a WHERE a.produit_option_id=b.produit_option_id AND a.produit_id='".$_GET['id']."'","","0","SELECT b.produit_option_id, b.produit_option_nom FROM produit_option b","","","0")
Et cela génere convenablement mes checkbox.
Ensuite une fois le formulaire posté je fais ca :
Mais la les die ne me renvoyent pas un $_POST["$i"] coorecte sauf au debut quand je fait un die, il me donne la bonne valeur...
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 $sqloption = "SELECT b.produit_option_id, b.produit_option_nom FROM produit_option b"; $reqoption = mysql_query($sqloption); $repsqloption = mysql_fetch_array($reqoption); for($i=1; $i<= count($repsqloption) ; $i++){ //die( $_POST["$i"]); $idoption = $_POST["$i"]; if($idoption>0){ $sql1="SELECT produit_attribut_id FROM produit_attribut WHERE produit_id='".$_POST['id']."' AND produit_option_id='".$idoption."'"; //die($sql1); $req1=@mysql_query($sql1); $rep1=@mysql_fetch_array($req1); if(count($rep1)==0){ $sql1="INSERT INTO produit_attribut (produit_id,produit_option_id) VALUES('".$_POST['id']."','".$_POST["$i"]."')"; die($sql1); mysql_query($sql1); } }else{ $sql1="SELECT produit_attribut_id FROM produit_attribut WHERE produit_id='".$_POST['id']."' AND produit_option_id='".$idoption."'"; die($sql1); $req1=@mysql_query($sql1); $rep1=@mysql_fetch_array($req1); if(count($rep1)==1){ $sql1="DELETE FROM produit_attribut WHERE produit_id='".$_POST['id']."' AND produit_option_id = '".$_POST["$i"]."'"; die($sql1); mysql_query($sql1); } } }
Quelqu'un pourrait m'aider ?
Merci d'avance.
Partager