IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

[Tableaux] Additionner les éléments d'un tableau


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 17
    Par défaut [Tableaux] Additionner les éléments d'un tableau
    Bonjour,

    j'ai beau chercher mais je ne trouve pas de solution, car au niveau des tableaux, j'ai toujours une vrai bille

    Alors, sur ma page j'ai un tableau qui comporte 3 champs,

    • Un champ caché (Pour la tarif unitaire)
    • Un champ texte pour indiquer la quantité
    • Une checkbox pour sélectionner le produit


    Voir l'image joint.

    Voici le code pour cette partie :
    Ceci est le code d'affichage du tableau.

    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
    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
     
    <table cellpadding="0" cellspacing="0" width="100%" style="margin-bottom:10px;" id="myTable">
    <colgroup>
    <col id="col1_1"></col>
    <col id="col1_2"></col>				
    <col id="col1_3"></col>
    <col id="col1_4"></col>
    <col id="col1_5"></col>
    <col id="col1_6"></col>
    </colgroup>
    <thead>
    <tr>
    <td class="th2" style="border-left-width: 1px; border-left-style: solid; border-left-color: #000000;">Nature</td>
    <td class="th2"><center>Type</center></td>
    <td class="th2"><center>Format</center></td>
    <td class="th2"><center>Nb feuilles</center></td>
    <td class="th2"><center>Tarif</center></td>
    <td class="th2"><center>NB de ramette à commander</center></td>
    <td class="th2"><center>&nbsp;</center></td>
    </tr>
    </thead>
    <tbody>
    <?php
    if ($totalRows_papier==0) {
    echo "<tr><td colspan=\"6\" class=\"th3\" style=\"background-color:$mocolor\" onMouseOver=\"this.style.backgroundColor='$mocolor3'\" onMouseOut=\"this.style.backgroundColor='$mocolor'\"><span class=\"warning\"><center>Pas de données en base de données</center></span></td>";
    } else {
    ?>
    <?php
    $x=0;
    do { ?>
    <tr 
    <?php 
    echo " style=\"background-color:$mocolor\" onMouseOver=\"this.style.backgroundColor='$mocolor3'\" onMouseOut=\"this.style.backgroundColor='$mocolor'\"";
    ?>> 
    <td class="th3"><center><? echo stripslashes($row_papier['naturePapier']); ?></center></td>
    <td class="th3"><?php echo stripslashes($row_papier['typePapier']); ?></td>
    <td class="th3"><?php echo stripslashes($row_papier['formatPapier']); ?></td>
    <td class="th3"><?php echo stripslashes($row_papier['nbExLotPapier']); ?></td>
    <td class="th3">
    <?php echo $row_papier['tarifPapier']; ?>
    <input type="hidden" name="tarifPapier[<?php echo $x; ?>]" id="tarifPapier[<?php echo $x; ?>]" value="<?php echo $row_papier['tarifPapier']; ?>">
    </td>
    <td class="th3"><center><input type="text" name="quantiteDetailCommandePapier[<?php echo $x; ?>]" id="quantiteDetailCommandePapier[<?php echo $x; ?>]" class="input"></center></td>
    <td class="th3"><center><input type="checkbox" name="papierID_papier[<?php echo $x; ?>]" id="papierID_papier[<?php echo $x; ?>]" value="<?php echo $row_papier['papierID'] ?>"></center></td>
    </tr>
    <?php 
    if ($mocolor == $mocolor1) {
    $mocolor = $mocolor2;
    } else {
    $mocolor = $mocolor1;
    }
    ?>											
    <?php
    $x++;
    } while ($row_papier = mysql_fetch_assoc($papier)); ?>
    <input type="hidden" value="<?php echo $x; ?>" name="compte">
    <?php } ?>
    </tbody>
    </table>
    Et voici le code qui va interprétrer, et insérer mes valeurs dans la base de données.

    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
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
     
    //Insertion des données en base de données
    if ($_POST['ajoutCommande']=="ok"){
    	$compteID_compte = $_POST['compteID_compte'];
    	$nomDemandeurCommandePapier=$_POST['nomDemandeurCommandePapier'];
    	$lieuLivraisonCommandePapier=$_POST['lieuLivraisonCommandePapier'];
    	$dateCommandePapier=dateEN($_POST['date']);
    	$nbElement=$_POST['nbElement'];
     
    	//Récupération du compte sélectioné
    	mysql_select_db($database_connection, $connection);
    	$query_recupCompteSelect = "SELECT a.numeroCompte, b.descriptionService, c.descriptionDirection FROM compte a, services b, directions c WHERE a.compteID='".$_POST['compteID_compte']."' AND a.serviceID_services=b.serviceID AND b.directionsID_directions=c.directionsID ORDER BY a.numeroCompte ASC";
    	$recupCompteSelect = mysql_query($query_recupCompteSelect, $connection) or die(mysql_error());
    	$row_recupCompteSelect = mysql_fetch_assoc($recupCompteSelect);
    	//Affectation des valeur à des variables
    	$numeroCompteCommandePapier=$row_recupCompteSelect['numeroCompte'];
    	$descriptionServiceCommandePapier=addslashes($row_recupCompteSelect['descriptionService']);
    	$descriptionDirectionCommandePapier=addslashes($row_recupCompteSelect['descriptionDirection']);
     
    	//Récupération des informations sur le site sélectionné
    	mysql_select_db($database_connection, $connection);
    	$query_recupSiteSelect = "SELECT a.nomSite, adresseSite FROM site a WHERE a.siteID='".$_POST['lieuLivraisonCommandePapier']."'";
    	$recupSiteSelect = mysql_query($query_recupSiteSelect, $connection) or die(mysql_error());
    	$row_recupSiteSelect = mysql_fetch_assoc($recupSiteSelect);
    	//Affectation des valeur à des variables
    	$lieuLivraisonCommandePapier=$row_recupSiteSelect['nomSite']." - ".$row_recupSiteSelect['adresseSite'];
    	$lieuLivraisonCommandePapier=addslashes($lieuLivraisonCommandePapier);
     
    	//Insertion des données générales de la commande dans la table commandepapier
    	mysql_query("INSERT INTO commandepapier (dateCommandePapier, numeroCompteCommandePapier, descriptionServiceCommandePapier, descriptionDirectionCommandePapier, nomDemandeurCommandePapier, lieuLivraisonCommandePapier) VALUES ('$dateCommandePapier', '$numeroCompteCommandePapier', '$descriptionServiceCommandePapier', '$descriptionDirectionCommandePapier', '$nomDemandeurCommandePapier', '$lieuLivraisonCommandePapier')",$connection);
     
    	//Récupération del'ID que nous venons d'insérer.
    	mysql_select_db($database_connection, $connection);
    	$query_recupID = "SELECT commandePapierID FROM commandepapier ORDER BY commandePapierID DESC";
    	$recupID = mysql_query($query_recupID, $connection) or die(mysql_error());
    	$row_recupID = mysql_fetch_assoc($recupID);
    	$commandePapierID=$row_recupID['commandePapierID'];
     
    	//Insertion des données de la commande dans la table detailcommandepapier
    	for ($i = 0; $i < $_POST['compte']; $i++) {
    		if (isset($_POST["papierID_papier"][$i])) {
    			$totalSelect=$_POST['quantiteDetailCommandePapier'][$i]*$_POST['tarifPapier'][$i];
    			$papierID_papier=$_POST["papierID_papier"][$i];
    			$quantiteDetailCommandePapier=$_POST['quantiteDetailCommandePapier'][$i];
    			mysql_query("INSERT INTO detailcommandepapier (CommandePapierID_CommandePapier, papierID_papier, quantiteDetailCommandePapier, totalDetailCommandePapier) VALUES ('$commandePapierID', '$papierID_papier', '$quantiteDetailCommandePapier', '$totalSelect')",$connection);
    		}
    	}
    	header("Location:./maintenanceListePapierImprimante.php?nbElement=".$nbElement."");
    }
    Ce que je voudrais arriver à faire c'est avoir le montant total de ce qui a été commandé.

    Merci à toutes les personne qui pourrant me donner un coup de main.
    Cordialement.
    Images attachées Images attachées  

  2. #2
    Membre expérimenté
    Profil pro
    Développeur Web
    Inscrit en
    Mai 2008
    Messages
    185
    Détails du profil
    Informations personnelles :
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mai 2008
    Messages : 185
    Par défaut
    Bonjour,
    tu peux le faire en SQL une foi que tu as fait ton insert
    Ca devrais le faire :-) ( avec la table papier étant celle avec les infos sur chaque papier, pour avoir le prix unitaire, et papierID sa clef primaire )
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    "SELECT sum( d.quantiteDetailCommandePapier * p.tarifPapier ) FROM detailcommandepapier d INNER JOIN papier p ON d.papierID_papier = p.papierID WHERE CommandePapierID_CommandePapier = '$commandePapierID';";
    Bonne journée.

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 17
    Par défaut
    Ok, merci à toi de ta réponse je vais tester cela ce matin.

    Cordialement.

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 17
    Par défaut
    Genial LoveAngel cela fonctionne bien.

    Un grand merci à toi.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 3
    Dernier message: 02/06/2008, 16h37
  2. [Tableaux] Additionner les éléments d'un tableau
    Par The SorroW dans le forum Langage
    Réponses: 6
    Dernier message: 20/12/2007, 15h02
  3. Réponses: 4
    Dernier message: 09/08/2006, 11h05
  4. [Tableaux] Tester les éléments d'un tableau dans un if
    Par Leobaillard dans le forum Langage
    Réponses: 3
    Dernier message: 20/05/2006, 16h07
  5. Réponses: 10
    Dernier message: 27/03/2006, 18h38

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo