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

PHP & Base de données Discussion :

12 select consécutif php/mysql [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Futur Membre du Club
    Homme Profil pro
    chef d'entrerprise
    Inscrit en
    Octobre 2015
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Indre (Centre)

    Informations professionnelles :
    Activité : chef d'entrerprise

    Informations forums :
    Inscription : Octobre 2015
    Messages : 2
    Par défaut 12 select consécutif php/mysql
    Bonjour à tous ,

    j'ai une grande question de débutant
    Comme vous le verrez ci dessous, je fais une addition avec une requête. Mais je fais une requête à chaque fois que le nom change ...

    Cela fonctionne très bien , mais je demande :
    - est il possible de faire plus simple ?
    - ce type de code ne va pas encombré MYSQL inutilement ?

    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
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
     
     
    $sql2 = $base->query("SELECT SUM(montant) AS loyer FROM $table1 WHERE id_bien='$bien_id'AND nom= 40 ");
              $somme = $sql2->fetch(PDO::FETCH_ASSOC);
              {
              	echo "<th> <td colspan = 5 > <h6> Le total des : des loyers est de " .$somme['loyer']. "€ <h6> </td> </th> ";
              	$loyer = $somme['loyer'];
              }
    $sql2 = $base->query("SELECT SUM(montant) AS apl FROM $table1 WHERE id_bien='$bien_id'AND nom= 190 ");
              $somme = $sql2->fetch(PDO::FETCH_ASSOC);
              {
              	echo "<th> <td colspan = 5 > <h6> Le total des : des apl est de " .$somme['apl']. "€ <h6> </td> </th> ";
              	$apl =$somme['apl'];
              }
     
    $sql2 = $base->query("SELECT SUM(montant) AS foncier FROM $table1 WHERE id_bien='$bien_id'AND nom= 50 ");
              $somme = $sql2->fetch(PDO::FETCH_ASSOC);
              {
              	echo "<th> <td colspan = 5 > <h6> Le total des : des foncier est de " .$somme['foncier']. "€ <h6> </td> </th> ";
              	$foncier =$somme['foncier'];
              }
     
    $sql2 = $base->query("SELECT SUM(montant) AS compte FROM $table1 WHERE id_bien='$bien_id'AND nom= 170 ");
              $somme = $sql2->fetch(PDO::FETCH_ASSOC);
              {
              	echo "<th> <td colspan = 5 > <h6> Le total des : frais de compte est de " .$somme['compte']. "€ <h6> </td> </th> ";
              	$compte =$somme['compte'];
              }
    $sql2 = $base->query("SELECT SUM(montant) AS hab FROM $table1 WHERE id_bien='$bien_id'AND nom= 60 ");
              $somme = $sql2->fetch(PDO::FETCH_ASSOC);
              {
              	echo "<th> <td colspan = 5 > <h6> Le total des : de la assurance habitation est de " .$somme['hab']. "€ <h6> </td> </th> ";
              	$hab =$somme['hab'];
              }
    $sql2 = $base->query("SELECT SUM(montant) AS impaye FROM $table1 WHERE id_bien='$bien_id'AND nom= 70 ");
              $somme = $sql2->fetch(PDO::FETCH_ASSOC);
              {
              	echo "<th> <td colspan = 5 > <h6> Le total des : de la taxe assurance loyer impaye est de " .$somme['impaye']. "€ <h6> </td> </th> ";
              	$impaye =$somme['impaye'];
              }
    $sql2 = $base->query("SELECT SUM(montant) AS emprunteur FROM $table1 WHERE id_bien='$bien_id'AND nom= 140 ");
              $somme = $sql2->fetch(PDO::FETCH_ASSOC);
              {
              	echo "<th> <td colspan = 5 > <h6> Le total des : assurance emprunteur est de " .$somme['emprunteur']. "€ <h6> </td> </th> ";
              	$emprunteur =$somme['emprunteur'];
              }
    $sql2 = $base->query("SELECT SUM(montant) AS credit FROM $table1 WHERE id_bien='$bien_id'AND nom= 80 ");
              $somme = $sql2->fetch(PDO::FETCH_ASSOC);
              {
              	echo "<th> <td colspan = 5 > <h6> Le total des : de votre crédit est de " .$somme['credit']. "€ <h6> </td> </th> ";
              	$credit =$somme['credit'];
              }   
    $sql2 = $base->query("SELECT SUM(montant) AS interet FROM $table1 WHERE id_bien='$bien_id'AND nom= 90 ");
              $somme = $sql2->fetch(PDO::FETCH_ASSOC);
              {
              	echo "<th> <td colspan = 5 > <h6> Le total des : le montant des interets est de " .$somme['interet']. "€ <h6> </td> </th> ";
              	$interet =$somme['interet'];
              }
    $sql2 = $base->query("SELECT SUM(montant) AS travaux FROM $table1 WHERE id_bien='$bien_id'AND nom= 100 ");
              $somme = $sql2->fetch(PDO::FETCH_ASSOC);
              {
              	echo "<th> <td colspan = 5 > <h6> Le total des : travaux est de " .$somme['travaux']. "€ <h6> </td> </th> ";
              	$travaux =$somme['travaux'];
              }
    $sql2 = $base->query("SELECT SUM(montant) AS syndics FROM $table1 WHERE id_bien='$bien_id'AND nom= 160 ");
              $somme = $sql2->fetch(PDO::FETCH_ASSOC);
              {
              	echo "<th> <td colspan = 5 > <h6> Le total des : syndics est de " .$somme['syndics']. "€ <h6> </td> </th> ";
              	$syndics =$somme['syndics'];
              }
    $sql2 = $base->query("SELECT SUM(montant) AS charge_recu FROM $table1 WHERE id_bien='$bien_id'AND nom= 10 ");
              $somme = $sql2->fetch(PDO::FETCH_ASSOC);
              {
              	echo "<th> <td colspan = 5 > <h6> Le total des : charges perçus est de " .$somme['charge_recu']. "€ <h6> </td> </th> ";
              	$charge_recu =$somme['charge_recu'];
              }                          
    $sql2 = $base->query("SELECT SUM(montant) AS charge_paye FROM $table1 WHERE id_bien='$bien_id'AND nom= 20 ");
              $somme = $sql2->fetch(PDO::FETCH_ASSOC);
              {
              	echo "<th> <td colspan = 5 > <h6> Le total des : des charges payées par le propriétaire  est de " .$somme['charge_paye']. "€ <h6> </td> </th> ";
              	$charge_paye =$somme['charge_paye'];
              }
    Un grand merci !!

  2. #2
    Modératrice
    Avatar de Celira
    Femme Profil pro
    Développeuse PHP/Java
    Inscrit en
    Avril 2007
    Messages
    8 633
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeuse PHP/Java
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 8 633
    Par défaut
    Je pense que tu peux faire la même chose avec une seule requête et un group by :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    $sql2 = $base->query("SELECT nom, SUM(montant) AS somme  FROM $table1 WHERE id_bien='$bien_id' group by nom ");
    $sommes = $sql2->fetchAll(PDO::FETCH_KEY_PAIR);
     
    echo "<th> <td colspan = 5 > <h6> Le total des : des loyers est de " .$sommes['40']. "€ <h6> </td> </th> ";
    echo "<th> <td colspan = 5 > <h6> Le total des : des apl est de " .$somme['190']. "€ <h6> </td> </th> ";
    echo "<th> <td colspan = 5 > <h6> Le total des : des foncier est de " .$somme['50']. "€ <h6> </td> </th> ";
    On peux noter que j'ai utilisé la récupération par paire, qui est assez méconnue mais très pratique quand on veut récupérer des données sous la forme d'un couple clé/valeur. : Attention, l'ordre des colonnes dans la requête est important dans ce cas arrow: https://www.php.net/manual/fr/pdo.co...fetch-key-pair
    Modératrice PHP
    Aucun navigateur ne propose d'extension boule-de-cristal : postez votre code et vos messages d'erreurs. (Rappel : "ça ne marche pas" n'est pas un message d'erreur)
    Cherchez un peu avant poser votre question : Cours et Tutoriels PHP - FAQ PHP - PDO une soupe et au lit !.

    Affichez votre code en couleurs : [CODE=php][/CODE] (bouton # de l'éditeur) et [C=php][/C]

  3. #3
    Futur Membre du Club
    Homme Profil pro
    chef d'entrerprise
    Inscrit en
    Octobre 2015
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Indre (Centre)

    Informations professionnelles :
    Activité : chef d'entrerprise

    Informations forums :
    Inscription : Octobre 2015
    Messages : 2
    Par défaut YOUPI JOIE !!
    Merci beaucoup !!!! c'est exactement ça !!!
    Encore merci

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

Discussions similaires

  1. [MySQL] <select><option> + PHP + MySQL
    Par Goldo974 dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 11/06/2015, 17h55
  2. [MySQL] SELECT puis UPDATE PHP / MySQL
    Par lemage34b dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 10/11/2013, 18h07
  3. [MySQL] Problème de doublons en créant un form select en php/mysql
    Par onoff_5 dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 17/09/2012, 11h25
  4. [MySQL] Problém de selection PHP Mysql
    Par outasga dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 02/12/2009, 10h22
  5. [MySQL] php, mysql, select,et je vous interdis de rigoler
    Par ixce35 dans le forum PHP & Base de données
    Réponses: 9
    Dernier message: 27/06/2008, 16h39

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