Probleme avec tableaux
Résolu
papouuu86
Messages postés
77
Date d'inscription
Statut
Membre
Dernière intervention
-
papouuu86 Messages postés 77 Date d'inscription Statut Membre Dernière intervention -
papouuu86 Messages postés 77 Date d'inscription Statut Membre Dernière intervention -
Bonjour a tous ceux qui voudront bien me lire,
alors mon soucis est que je dois effectuer une vérification de l'existence d'une valeur dans un tableau avant d'ajouter cette valeur si elle n'y est pas deja.
j'ai bidouillé une boucle mais la vérification ne se fait que sur la derniere valeur ajoutée au tableau ainsi si j'y insere une valeur X, et que je rééssaie d'inserer un X la vérification fonctionne et interdit l'ajout. En revenche si après avoir inséré un X j'y insere un Y et que je réésaie de mettre X la il me prend donc la verif est bien faite que sur le dernier enregistrement => Probleme...
voila mon code, si quelqu'un à une piste vous êtes les bienvenus!!! ;)
alors mon soucis est que je dois effectuer une vérification de l'existence d'une valeur dans un tableau avant d'ajouter cette valeur si elle n'y est pas deja.
j'ai bidouillé une boucle mais la vérification ne se fait que sur la derniere valeur ajoutée au tableau ainsi si j'y insere une valeur X, et que je rééssaie d'inserer un X la vérification fonctionne et interdit l'ajout. En revenche si après avoir inséré un X j'y insere un Y et que je réésaie de mettre X la il me prend donc la verif est bien faite que sur le dernier enregistrement => Probleme...
voila mon code, si quelqu'un à une piste vous êtes les bienvenus!!! ;)
if(isset($_POST['reference'],$_POST['nom'],$_POST['prix'],$_POST['quantite'])) { $ref=$_POST['reference']; $position=false; $cadd=$monpanier->getBasket(); $nb_art = $monpanier->getNbrArticle(); $yo=$nb_art; for($i=0; $i<$nb_art; $i++) { $tabs=$cadd[$i]; } $x=0; while($x<$yo) { $position=array_search($ref, $tabs["code"]); $x++; } if ($position !== false) { echo'votre article existe deja, veuillez utiliser les bouttons + et - pour ajuster la quantité désirée'; print_r($tabs); } else { echo'article ajouté'; $monpanier->addArticle(array('code'=>$_POST['reference'],'nom'=>$_POST['nom'],'prix'=>$_POST['prix'],'quantite'=>$_POST['quantite']));// on insere les valeurs dans le tableau "monpanier" } }
A voir également:
- Probleme avec tableaux
- Tableaux croisés dynamiques - Guide
- Fusionner deux tableaux excel - Guide
- Les tableaux word - Guide
- Fusionner deux tableaux word ✓ - Forum Word
- Citez un des logiciels lui permettant de faire des calculs sur des tableaux de nombres (tableur). ✓ - Forum LibreOffice / OpenOffice
10 réponses
for($i=0; $i<$nb_art; $i++) { $tabs=$cadd[$i]; }
dans ta variable $tabs il n'y a que la dernière valeur du tableau
il faudrait faire quelquechose du genre
$tabs=array(); for($i=0; $i<$nb_art; $i++) { $tabs[]=$cadd[$i]; }
et sinon ca c'est inutile
while($x<$yo) { $position=array_search($ref, $tabs["code"]); $x++; }
la boucle est inutile pas la vérification
met juste
à la place de ta boucle
parceque là tu fais juste le même test x fois
met juste
$position=array_search($ref, $tabs["code"]);
à la place de ta boucle
parceque là tu fais juste le même test x fois
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
TROUVE!!!!
grace à un autre forum (je dis pas je sais pas si on a le droit de citer la concurrence lol)
voila la solution pour ceux qui auraient le même souchi:
$trouve=false;
foreach ($cadd as $art) {
if (in_array($ref,$art)) {
$trouve=true;
break;
}
}
if ($trouve)
echo'votre article existe deja, veuillez utiliser les bouttons + et - pour ajuster la quantité désirée';
else {
echo'article ajouté';
$monpanier->addArticle(array('code'=>$_POST['reference'],'nom'=>$_POST['nom'],'prix'=>$_POST['prix'],'quantite'=>$_POST['quantite']));// on insere les valeurs dans le tableau "monpanier"
}
grace à un autre forum (je dis pas je sais pas si on a le droit de citer la concurrence lol)
voila la solution pour ceux qui auraient le même souchi:
$trouve=false;
foreach ($cadd as $art) {
if (in_array($ref,$art)) {
$trouve=true;
break;
}
}
if ($trouve)
echo'votre article existe deja, veuillez utiliser les bouttons + et - pour ajuster la quantité désirée';
else {
echo'article ajouté';
$monpanier->addArticle(array('code'=>$_POST['reference'],'nom'=>$_POST['nom'],'prix'=>$_POST['prix'],'quantite'=>$_POST['quantite']));// on insere les valeurs dans le tableau "monpanier"
}
nouveau soucis. Après avoir interdit l'ajout d'un même article dans le panier j'ai intégré les boutons + et - dans ce dernier cependant des petits soucis se posent:
- la quantité ne passe pas 2
- après 2 si j'augmente encore la quantité n'est pas incrémentée et un nouvel article est ajouté sans aucune autre caractéristique qu'une quantité égale à 2
- si j'ai deux articles dans mon panier les deux quantitées sont incrémentées (toujours jusqu'a 2 puis de meme ajout d'un article vide)
- si une quantité de 2 est décrémentée elle passe de suite à 0 et génère des erreurs.
Voila la partie de mon code concernée:
- la quantité ne passe pas 2
- après 2 si j'augmente encore la quantité n'est pas incrémentée et un nouvel article est ajouté sans aucune autre caractéristique qu'une quantité égale à 2
- si j'ai deux articles dans mon panier les deux quantitées sont incrémentées (toujours jusqu'a 2 puis de meme ajout d'un article vide)
- si une quantité de 2 est décrémentée elle passe de suite à 0 et génère des erreurs.
Voila la partie de mon code concernée:
foreach($caddie as $article) { $q=$article['quantite']['code']; if(isset($_GET['qtt'])) { if($_GET['qtt']=="plus") { $monpanier->modifyArticle($_GET['use'], 'quantite', $article['quantite']++); } else { $monpanier->modifyArticle($_GET['use'], 'quantite', $article['quantite']--); } } echo "<tr> <td class='panier'>$count </td> <td class='panier'> $article[code] </td> <td class='panier'> $article[nom] </td> <td class='panier'> $article[prix] euros </td> <td class='panier'> <br/>$article[quantite] <br/><br/><a href=panier2.php?qtt=plus&use=$article[code]><img src='images/plus.jpg'/></a> <a href=panier2.php?qtt=moins><img src='images/moins.jpg'/></a></td> <td><a href=panier2.php?id_suppr=$count><img src='images/supr.jpg' alt='Supprimer' title='Supprimer' border='0'></a></td> </tr>";
j'ai réussi à faire ca et plus d'erreur mais je n'arrive pas à décrémenter alors que "moins" est bien dans l'url... please help
$cd=$monpanier->getBasket(); if(isset($_GET['qtt'])) { $xx=$_GET['use']; $tt=$_GET['qtt']; $xx-=1; foreach ($cd as $ar) { if($tt="plus") { $monpanier->modifyArticle($xx, 'quantite', $ar['quantite']+=1); } elseif($tt="moins") { $monpanier->modifyArticle($xx, 'quantite', $ar['quantite']-=1); } } }
arf zut oui c'est vrai j'avais enlevé lors de mon précédent soucis pour tester... ralala it's boulet time... dsl
et merci le père ;)
et merci le père ;)
un peu plus fonctionnel:incrémente ou décrémente bien dans la bonne ligne (avant non en fait si plusieurs articles...)
$cd=$monpanier->getBasket(); if(isset($_GET['qtt'])) { $xx=$_GET['use']; $tt=$_GET['qtt']; $xx-=1; if($tt=="plus") { $monpanier->modifyArticle($xx, 'quantite', $cd[$xx]['quantite']+=1); } elseif($tt=="moins") { $monpanier->modifyArticle($xx, 'quantite', $cd[$xx]['quantite']-=1); } }