ajout panier erreur dans le code
Bonjour, j'ai quelques petits problèmes.
Je suis webmaster d'un site de vente en ligne, et bien entendu pour se faire je doit integrer des articles à mon panier.
Et j'ai un problème :
-pour le 1er article tout va bien ça marche
-pour le deuxieme article insérer, il ne me reste plus que la quantité.
De plus c'est tout simplement un code que j'ai modifié dc je comprend pas d'ou vient l'erreur.
Voici le code qui marche sans les modif:
tout d'adord menu_founiture.php
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 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95
|
<? ini_set('session.use_trans_sid', false);
ini_set('session.use_only_cookies', false);
session_start();
//utilisation des fichier de fonction et de connection
include('../fonction/fonction.php');
include('../fonction/connect.php');
include('../fonction/parametre.php');
if(isset($_POST['panier']))
{ $idproduit=$_POST['ref'];
$quantite=$_POST['quantite'];
if(isset($_POST['couleur']))
{
$color=$_POST['couleur'];
$ref=str_replace("**",$_POST['couleur'],$idproduit) ;
}
else
{
$color="";
$ref=$idproduit;
}
echo $_SESSION['fourniture'][$ref]."\n";
if( empty($_SESSION['fourniture'][$ref]) ){
$_SESSION['fourniture'][$ref]=$quantite;
$_SESSION['couleur'][$ref]=$color;
}else{
$_SESSION['fourniture'][$ref]+=$quantite;
}
}
if(isset($_POST['color']))
{ $color=$_POST['color'];
}
else
{if(isset($color))
{
}
else
{$color='';
}
}
?>
<html>
<head>
</head>
<body>
<?
$classe="accueil";//initisalisation de la vairable $classe
//initialisation de la classe de la catégorie selon la famille ou la sous famillle
if(isset($_GET['rubrique']))
{ if(isset($_GET['famille']))
{if(isset($_GET['sousfam']))
{$classe="f";
}
else
{
$id=num_famille($_GET['famille']);
$classe="fontFam".$id;
}
}
else
{
$id=num_rubrique($_GET['rubrique']);
$classe="fontFamille".$id;
}
}
?>
<div id="<?=$classe?>" >
<table width="100%" cellspacing="0" >
<tr>
<td>
<table >
<tr>
<td width="100%">
<?
include ('./fourniture.php');
}?>
</div></td>
</tr>
<tr><td colspan="9" align="center"><a href="<?=$retour_chemin?>">Retour<a/></td></tr>
</table>
</td>
</tr>
</table>
</body>
</html> |
puis fourniture.php qui est inclu dans menu_fourniture.php
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 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251
|
<script>
function ajout(nb) {
$string="form"+nb;
quantite=document.forms[$string].quantite.value;
couleur=document.forms[$string].couleur.value;
verif(quantite);
verifcouleur(couleur);
ref=document.forms[$string].ref.value;
document.forms[$string].submit();
}
function ajout2(nb) {
$string="form"+nb;
quantite=document.forms[$string].quantite.value;
verif(quantite);
ref=document.forms[$string].ref.value;
document.forms[$string].submit();
}
function verif(num)
{
if (num=='')
{ alert ('Aucune couleur ou quantité saisi pour cette fourniture!');
exit();
}
else
{ if(num<1)
{alert('Saisie effectuer négative');
exit();
}
else
{ if (isNaN(num)==true)
{ alert('saisir un nombre entier');
exit();
}
}
}
}
function verifcouleur(num)
{
if (num=='')
{ alert ('Aucune couleur ou quantité saisi pour cette fourniture!');
exit();
}
}
function couleur(couleur){
$string="formcouleur";
if(couleur<=9)
{couleur="0"+couleur;
}
document.forms[$string].color.value=couleur
document.forms[$string].submit();
}
</script>
<?
//Affichage des fourniture pour une type de fourniture
//verification si la variable fournitures existent
$j=0;
if(isset($_GET['fournitures1']))
{
$fourni=$_GET['fournitures1'];
//requete permet de selection les fourniture ayant pour type de fourniture celle transmise
$requete="select * from fournitures f, typefourniture type where f.reftype=type.reftype and f.reftype=".$fourni." order by refFour";
//requete permettant de connaitre les différentes couleurs.
$requete_couleur="select * from tab_couleur t, couleur c where t.numcouleur=c.idcouleur and reftype=".$fourni;
//requete permettant de sleecitonne une couleur
$requete_sel="select * from tab_couleur t, couleur c where c.idCouleur=t.numcouleur and numcouleur='".$color."' and reftype=".$fourni;
//execution des deux requetes;
$resultat_couleur=mysql_query($requete_couleur);
$resultat=mysql_query($requete);
$colorresult=mysql_query($requete_sel);
//Verifie si oui on non il existe un resultat
if(mysql_num_rows($resultat)>0)
{
echo "<table align='center'><tr><td>";
//affichage du type de fourniture
$tab2=mysql_fetch_array($resultat);
echo "<table width='100%'><tr><td colspan='2'><img src='../images/texture/".$tab2['photoType']."'></td>";
echo "<td colspan='2' class='titrefourniture'><h1>".$tab2['libType']."</h1></td></tr>";
if($tab2['designationType']<>'')
{echo "<tr><td colspan='4'><div class='designation_film'>".$tab2['designationType']."</div></td></tr></table></td></tr>";
}
else
{ echo "</table></td></tr>";
}
echo "<tr><td><table cellspacing='0' id='tabfourniture' ><tr>";
//calcul le nombre de champs present pour cette catégorie
$nbchamps=strlen($tab2['nbchamps']);
$i=0;//initilisation du compteur
$champs=recup_champs($nbchamps,$tab2['nbchamps']);
//calcul le nombre de champs present pour cette catégorie
$nbchamps2=strlen($tab2['legendeType']);
$i=0;//initilisation du compteur
$champs2=recup_champs($nbchamps2,$tab2['legendeType']);
//mise en place de la tete du tableau des fournitures
while($i<$nbchamps2)
{echo "<th>".entete_col($champs2[$i])."</th>";
$i=$i+1;
}
if(mysql_num_rows($resultat_couleur)>0)
{$j=0;
echo "<th>Couleur</th>";
while($tab3=mysql_fetch_array($resultat_couleur))
{
$couleur[$j]=$tab3['numcouleur'];
$couleur2[$j]=$tab3['numcouleur'];
$couleurnom[$j]=$tab3['libCouleur'];
$couleurphoto[$j]=$tab3['imageCouleur'];
$j=$j+1;
}
$nomcouleur='';
if($color<>'')
{
$prix=mysql_fetch_array($colorresult);
$prix_color=$prix['tarifCouleur'];
$nomcouleur=$prix['libCouleur'];
}
}
echo "<th width='5px'>Quantité</th><th></th>";
echo "</tr>";
//mise en mémoire des couleurs possibles pour ce type de fourniture;
$form=10;
//Affichage du reste du tableau
$resultat=mysql_query($requete);
while($tab=mysql_fetch_row($resultat))
{ $i=0;
echo "<tr>";
echo "<form name='form".$form."' action='#' method='post' onsubmit='true'>";
if($color<>"")
{$ref=str_replace("**",$color,$tab[0]) ;
echo "<input type='hidden' name='ref' value='".$ref."'>";
}
else
{
echo "<input type='hidden' name='ref' value='".$tab[0]."'>";
}
echo "<input type='hidden' name='panier' value='".$tab[0]."'>";
echo "<input type='hidden' name='couleur' value='".$color."'>";
while($i<$nbchamps)
{
if($color<>'')
{ if ($champs[$i]==0)
{ $ref=str_replace("**",$color,$tab[$champs[$i]]);
echo "<td>".$ref."</td>";
}
else
{ if ($champs[$i]==6)
{echo "<td>".montant($tab[$champs[$i]]*$prix_color)."</td>";
}
else
{
echo "<td>".$tab[$champs[$i]]."</td>";
}
}
}
else
{echo "<td>".$tab[$champs[$i]]."</td>";
}
$i=$i+1;
}
if(mysql_num_rows($resultat_couleur)>0)
{
echo "<td><input disabled type='text' name='couleur02' class='txt2Input' value='".$nomcouleur."'></td>";
}
echo "<td width='5px'><input type='text' class='txt2Input' name='quantite'></td>";
if(mysql_num_rows($resultat_couleur)>0)
{
echo "<td><input type='button' onclick='ajout(".$form.")' value='Ajout Panier'></td>";
}
else
{
echo "<td><input type='button' onclick='ajout2(".$form.")' value='Ajout Panier'></td>";
}
$form=$form+1;
echo "</tr></form>";
}
echo "</table></td>
</tr>";
if($j>0)
{
echo "<tr><td><table><form name='formcouleur' method='post' onsubmit='true' action=''><tr>";
echo "<input type='hidden' name='color' value=''>";
$k=0;
$m=0;
while($k<$j)
{
if($m>9)
{$m=0;
echo "</tr><tr>";
}
echo "<td ><img onclick='couleur(".$couleur2[$k].")' title='".$couleurnom[$k]."' src='../images/couleur/".$couleurphoto[$k]."'></td>";
$k++;
$m++;
}
echo "</tr></form></table>";
}
}
else
{
echo "<div>Désolé aucune fourniture pour cette famille de fourniture</div>";
}
}
?> |
Et voila le code avec les modification mais qui ne marche pas: anneauplastique.php
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 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264
|
<? ini_set('session.use_trans_sid', false);
ini_set('session.use_only_cookies', false);
session_start();
//utilisation des fichier de fonction et de connection
include('../fonction/fonction.php');
include('../fonction/connect.php');
include('../fonction/parametre.php');
if(isset($_GET['refpanier']))
{
$idproduit=$_GET['refpanier'];
$quantite=$_GET['quantitepanier'];
if(isset($_GET['couleurpanier']))
{
$color=$_GET['couleurpanier'];
$ref=str_replace("**",$_GET['couleurpanier'],$idproduit) ;
}
else
{
$color="";
$ref=$idproduit;
}
if( empty($_SESSION['fourniture'][$ref]) ){
$_SESSION['fourniture'][$ref]=$quantite;
$_SESSION['couleur'][$ref]=$color;
}else{
$_SESSION['fourniture'][$ref]+=$quantite;
}
}
if(isset($_GET['colorpanier']))
{ $color=$_GET['colorpanier'];
}
else
{if(isset($color))
{
}
else
{$color='';
}
}
?>
<html>
<head>
<link rel="stylesheet" href="../style/style2.css" type="text/css">
<link rel="stylesheet" href="../style/stylemenu.css" type="text/css">
</head>
<script>
function ajout(couleur,ref) {
quantite=document.forms['formquantite'].quantite.value;
verif(quantite);
verifcouleur(couleur);
if(couleur<=9)
{couleur="0"+couleur;
}
document.forms['formquantite'].submit();
document.forms['diametre'].submit();
document.forms['formcouleur'].submit();
document.forms['ref'].submit();
window.location.href="anneauxplastique.php?quantitepanier="+quantite+"&couleurpanier="+couleur+"&refpanier="+ref;
}
function verif(num)
{
if (num=='')
{ alert ('Aucune couleur ou quantité saisi pour cette fourniture!');
exit();
}
else
{ if(num<1)
{alert('Saisie effectuer négative');
exit();
}
else
{ if (isNaN(num)==true)
{ alert('saisir un nombre entier');
exit();
}
}
}
}
function verifcouleur(num)
{
if (num=='')
{ alert ('Aucune couleur ou quantité saisi pour cette fourniture!');
exit();
}
}
function couleur(couleur){
$string="formcouleur";
if(couleur<=9)
{couleur="0"+couleur;
}
document.forms[$string].color.value=couleur
document.forms[$string].submit();
}
</script>
<body bgcolor="#99ccff">
<?
$requetephoto="select photoType from typefourniture where refType=0";
$resultatphoto=mysql_query($requetephoto);
$tabphoto=mysql_fetch_array($resultatphoto);
?>
<table align='center' width='90%' border='0'><tr>
<td align='center' valign='top'><img src='../images/consommable/<?=$tabphoto['photoType']?>'></td>
<td align='center' valign='top'><form class='titreconso'>Anneaux plastique</form>
<form class='sstitreconso'>Pour des reliures parfaites</form>
<form class='texteconso'>Réutilisables.<br>
Faciles à mettre et enlever.<br>
Compatibles avec toutes les machines à relier standard. </form><br>
</td>
</tr></table>
<?
$couleur=$_GET['couleur'];
if($couleur==""){
$diametreselect=$_GET['diam'];
}
else{
$str = $couleur;
$tabmot = explode(" ",$str);
$diametreselect=$tabmot[0];
$couleurchoisit=$tabmot[1];
}
$requete="select * from fournitures f, typefourniture type where type.refCat=0 AND f.refType=type.refType order by refFour";
$resultat=mysql_query($requete);
?>
<table class='tableconso' border='1' align='center' width='90%'>
<tr style='color:#99cc00;'>
<td align='center' valign='middle'><b> Diam. mm</b></td>
<td align='center' valign='middle'><b>Référence</b></td>
<td align='center' valign='middle'><b>Cond. Boite</b></td>
<td align='center' valign='middle'><b>Nb Feuilles</b></td>
<td align='center' valign='middle'><b>Prix en ht l'unité</b></td>
<td align='center' valign='middle'><b>Couleur</b></td>
<td align='center' valign='middle'><b>Quantité</b></td>
<td align='center' valign='middle'><b>Panier</b></td>
</tr>
<?
echo "<tr class='trdeuxtableconso' valign='middle'><td align='center' valign='middle' > <br>
<form name='diametre' ACTION='./anneauxplastique.php'>
<SELECT NAME='diam' onChange='this.form.submit();'>
<OPTION value='0'> ";
while($tab=mysql_fetch_array($resultat)){
echo "<OPTION value='".$tab['diamFour']."'";
if($diametreselect==$tab['diamFour'])
echo " SELECTED";
echo ">".$tab['diamFour']."" ;
}
echo "</SELECT></form>
</td>";
if ($diametreselect<>''){
if ($diametreselect!='0'){
$requetereste="select * from fournitures f, typefourniture type where type.refCat=0 AND f.refType=type.refType AND f.diamFour=".$diametreselect." order by refFour";
$resultatreste=mysql_query($requetereste);
$tabreste=mysql_fetch_array($resultatreste);
if($couleurchoisit<>''){
$ref2=$ref;
$ref=str_replace("**",$couleurchoisit,$tabreste['refFour']);
echo "<td align='center' valign='middle'><form name='ref'>".$ref."</form></td>";
}
else{
echo "<td align='center' valign='middle'><form name='ref'>".$tabreste['refFour']."</form></td>";
}
echo "<td align='center' valign='middle'>".$tabreste['condFour']."</td>
<td align='center' valign='middle'>".$tabreste['nbfeuilleFour']."</td>";
if($couleurchoisit<>''){
$requeteprixcouleur="select * from tab_couleur tc where tc.refType=".$tabreste['refType']." AND tc.numcouleur=".$couleurchoisit." ";
$resultatprixcouleur=mysql_query($requeteprixcouleur);
$tabprixcouleur=mysql_fetch_array($resultatprixcouleur);
$prix=$tabreste['prixFour']*$tabprixcouleur['tarifCouleur'];
echo "<td align='center' valign='middle'>".$prix."</td>";
}
else{
echo "<td align='center' valign='middle'>".$tabreste['prixFour']."</td>";
}
$requetecouleur="select * from tab_couleur tc, couleur c where tc.refType=".$tabreste['refType']." AND tc.numcouleur=c.idCouleur ";
$resultatcouleur=mysql_query($requetecouleur);
echo "<td align='center' valign='middle'><form name='formcouleur' ACTION='./anneauxplastique.php'>
<select align='center' NAME='couleur' onChange='this.form.submit();'>";
while ($tabcouleur=mysql_fetch_array($resultatcouleur)){
echo "<option style='background-color:".$tabcouleur['hexaCouleur'].";color:".$tabcouleur['hexaCouleur'].";' value='".$diametreselect." ".$tabcouleur['numcouleur']."' ";
if($couleurchoisit==$tabcouleur['numcouleur']) echo " SELECTED";
echo ">";
if ($tabcouleur['numcouleur']=='08'){
echo "Transparent</option>";
}
else{
echo "".$tabcouleur['libCouleur']."</option>";
}
}
}
echo "</select></form></td>";
echo "<td align='center' valign='middle'>
<form name='formquantite' action='#' >
<input type='text' class='txt2Input' name='quantite'></form></td>";
echo "<td align='center' valign='middle'><input type='button' onclick='ajout(".$couleurchoisit.",".$ref.")' value='Ajout Panier'></td>";
}
echo "</tr>";
echo "</table>";
?>
</body>
</html> |
Voila alors la seule chose que j'ai voulu modifier, c'est que :
- une seule catégorie apparait dans cette page.
- les fourniture n'apparaissent pas les une derrière les autres mais simplement avec une liste déroulante.
Mais bon j'ai effectuer beaucoup de modif pour faire ça donc maintenant je ne trouve plus mon erreur...
Si vous pouvez m'aider se serait vraiment gentille, je suis dessus depuis hier soir dc ....
Merci d'avnce bcp de votre aide