Balise div et select

yop59 Messages postés 1 Date d'inscription mardi 17 juillet 2007 Statut Membre Dernière intervention 18 juillet 2007 - 18 juil. 2007 à 23:55
tcheeb Messages postés 66 Date d'inscription lundi 18 avril 2005 Statut Membre Dernière intervention 27 octobre 2010 - 19 juil. 2007 à 08:26
bonjour
j'ai un gros souci,, cea fait 2jours que j'essai dans une table de type div contenant un article, un qte de modifier la qte avec un select et que lorsque je change la qte, avoir le essage alert qui e renvoi la nouvlle qte et l'article concerné...
Par exemple, ligne 2 de la table, j'ai l'article chausson et la qte 1. Avec une balise select, je choisi la nouvelle qte 4, je veux avoir le message chausson qte 4...
voici mon code mais cela ne fonctionne pas (lorsqueje modifie la qte de la ligne 2 j'ai le message article 1 et qte ligne 2....

***************************************************code ******************
<?php
session_start();
?>
<head>
<meta http-equiv= "Content-Type" content="text/html; charset=utf-8" />
<title>Document sans nom</title>
</head>

<?
/* si il y a qq chose au panier on l'affiche sous forme de tableau */
    if(isset($_SESSION['panier']))
    {
?>
&nbsp;

  ----

    Article |
    Qte |
    |
    Taille |
    Prix |
    Total |
 
<?
    /* Comptage des articles du panier */
    $nb_articles = count($_SESSION['panier']['id_produit']);
/* initialisation montant total */   
$montant_total=0;
/* On va calculer le total par article */
    for($i = 0; $i < $nb_articles; $i++)
    {
    $montant=0;
/*   <SELECT NAME=\"new_qte\" onchange=\"document.getElementById('div_qte').innerHTML=this.value;\"> */
?>
<form>
  ----

    <? echo $_SESSION['panier']['id_produit'][$i]; ?>,
    <? echo $_SESSION['panier']['qte'][$i]; ?>,
      <SELECT NAME="new_qte" onchange="alert(this.value + ' ' + document.getElementById('div_produit').innerHTML);">
    <OPTION value="1">1</OPTION>
    <OPTION value="2">2</OPTION>
    <OPTION value="3">3</OPTION>
    <OPTION value="4">4</OPTION>
    <OPTION value="5">5</OPTION>
    <OPTION value="6">6</OPTION>
    <OPTION value="7">7</OPTION>
    <OPTION value="8">8</OPTION>
    <OPTION value="9">9</OPTION>
  </SELECT>,
    <? echo $_SESSION['panier']['taille'][$i]; ?>,
    <? echo $_SESSION['panier']['prix'][$i]; ?>,
    <? echo $_SESSION['panier']['qte'][$i] * $_SESSION['panier']['prix'][$i]; ?>,
 
</form>
<?
/* calcul montant total */
        $montant_total += $_SESSION['panier']['qte'][$i] * $_SESSION['panier']['prix'][$i];
    }

/* affichage de la ligne du montant total */
?>

  ----

    ,
    ,
    ,
    ,
    <? echo $montant_total; ?>,
 
<?
}
/* si le panier est vide on indique qu'il est vide */
    if(!isset($_SESSION['panier']))
{
echo (\"Panier Vide\");
}

?>

&nbsp;

&nbsp;

</html>

1 réponse

tcheeb Messages postés 66 Date d'inscription lundi 18 avril 2005 Statut Membre Dernière intervention 27 octobre 2010
19 juil. 2007 à 08:26
Hello,

Dans ta boucle l'ID "div_produit" est toujour identique. corrige et test

<td>
<?PHP echo $i; ?>" align="center"><? echo
$_SESSION['panier']['id_produit'][$i]; ?>
</td>

et

<SELECT NAME="new_qte" onchange="alert(this.value + ' ' + document.getElementById('div_produit<?PHP echo $i; ?>').innerHTML);">

etc...

Le problème si tu as 20 produits, le this fait bien référence au select, mais tu prend le premier div avec l'ID "div_produit", soitla 1ère ligne.

A noter que ici c'est un forum PHP et pas javascript. Tu trouveras surement de meilleurs spécialiste dans ce domaine sur www.javascriptfr.com.
N'oublie pas également de mettre à jour la colone total de ton produit et celui de la "future facture".

Attention aux balise PHPPas bien <? ?> bien <?PHP ?>
0
Rejoignez-nous