begin process at 2012 05 31 06:45:02
  Trouver un code source :
 
dans
 
Accueil > Forum > 

PHP

 > 

Base de données

 > 

MySQL

 > 

probleme. Aidez-moi !


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

probleme. Aidez-moi !

mercredi 26 juillet 2006 à 16:57:07 | probleme. Aidez-moi !

thunderfear

Membre Club
Bonjour,

J'ai plusieurs tables et chacune des tables à un champs contenant le prix de l'objets. Par exemple, dans la table "voitures" il y a le champs prix_voiture. dans la table "livres" il y a le champs prix_livres.
Et j'aimerai par une requête mysql, afficher tous les produits de toutes les tables rangé par le prix le + bas au + haut.
Je ne sais pas vrmt comment faire. Il y a surement des jointure de tables et de champs à faire étant données que le champs ou le prix se trouve ne se nomme pas de la même facon.

Si quelqu'un peut m'aider?

merci
a bientot
mercredi 26 juillet 2006 à 17:50:32 | Re : probleme. Aidez-moi !

Anthomicro

Salut,

ce que tu peux faire, c'est par exemple tout d'abord récupérer les prix et les stocker dans un tableau.

mysql_connect('hote','user','passe');
mysql_select_db('base');
$req1 = mysql_query('SELECT prix FROM table1');
$req2 = mysql_query('SELECT prix FROM table2');
mysql_close();

$tab_prix   = array(); //ce tableau contiendra les prix de tous les articles

while($r = mysql_fetch_row($req1))
{
       $tab_prix[] = $r[0];
}

while($r = mysql_fetch_row($req2))
{
        $tab_prix[] = $r[0];
}

et ainsi de suite en fonction du nombre de tables ;)

ensuite pour trier les prix, tu peux utiliser la fonction sort() dont tu trouveras des infos ici : http://fr.php.net/manual/fr/function.sort.php (utilise l'option SORT_NUMERIC) :

sort($tab_prix, SORT_NUMERIC);

ensuite tu parcours le tableau prix et tu l'affiches :

foreach($prix AS $valeur)
{
    echo $valeur,'<br />';
}

a +

    mercredi 26 juillet 2006 à 22:00:19 | Re : probleme. Aidez-moi !

    sim51

    Membre Club
    Bonjour,
    oui c'est une solution en php, sinon en sql il existe ce que l'on appelle les requêtes unions. Elles permettent de concatener plusieurs tables.
    ex : SELECT voiture, prix FROM tableVoiture UNION SELECT livre, prix FROM tableLivre ORDER BY prix DESC

    Je pense que cela marche avec plus de deux tables. A toi de tester ...

    Bonne continuation.

    N'oubliez d'aller voir le règlement de C-S ici
    N'oubliez pas de cliquer sur réponse acceptée si la réponse vous convient !!!
    mercredi 26 juillet 2006 à 22:36:30 | Re : probleme. Aidez-moi !

    Anthomicro

    Ah ouais tiens j'y avais même pas pensé...


      mercredi 2 août 2006 à 17:48:51 | Re : probleme. Aidez-moi !

      thunderfear

      Membre Club
      Bonjour,
      J'ai donc pris la solution de Anthomicro car le nom du champs "prix" ne se nomme pas toujours prix :s et je ne pense pas que "SELECT voiture, prix FROM tableVoiture ORDER BY prix_voiture UNION SELECT livre, prix FROM tableLivre ORDER BY prix_livre DESC" fonctionne ..

      Mais le tableau contient juste le prix et j'aimerai par exemple y stocké l'id ?
      Par exemple que je puisse recupéré : id=25 prix = 1000.
      J'aimerai savoir si il existe une fonction pour afficher les 10 premier résultat du array ou les 20 autres résultat comme en mysql LIMIT 10,20?

      Merci de vos réponse,
      a bientot
      mercredi 2 août 2006 à 20:26:34 | Re : probleme. Aidez-moi !

      sim51

      Membre Club
      Re,
      Avec la requete union on peut aussi lui associer des alias, et donc tes colonnes auront le même nom :
      SELECT voiture as artcile, prix1 as prix FROM tableVoiture UNION SELECT livre as article, prix2 as prix FROM tableLivre ORDER BY prix DESC
      Et voilà maintenant cela marche nikel lol.
      Sinon pour avoir les 10 premier réultat il existe la fonction TOP sur certain serveur. SELECT TOP 10,* FROM (SELECT voiture as artcile, prix1 as prix FROM tableVoiture UNION SELECT livre as article, prix2 as prix FROM tableLivre ORDER BY prix DESC) et voilà !!!
      Bonne continuation.

      N'oubliez d'aller voir le règlement de C-S ici
      N'oubliez pas de cliquer sur réponse acceptée si la réponse vous convient !!!
      mercredi 2 août 2006 à 22:29:06 | Re : probleme. Aidez-moi !

      Anthomicro

      Tu peux faire un LIMIT 10 qui fonctionne partout.


        jeudi 3 août 2006 à 09:11:57 | Re : probleme. Aidez-moi !

        thunderfear

        Membre Club
        Merci beaucoup.
        je vais test ca. Je ne connaissait pas le mysql comme ca moi ^^

        a+


        Cette discussion est classée dans : table, probleme, champs, prix, tables


        Répondre à ce message

        Sujets en rapport avec ce message

        nombre de champs d'une table [ par scoder ] bonjour, je viens de réaliser un site en php, et j'aimerai réaliser une section admin. j'utilise mysql.pour lister toutes mes tables, j'utilise "show CREATION D'UN INDEX SUR UNE TABLE ET SUR LES CHAMPS [ par poupoly5 ] Slt à tous et à toutes.Je suis en train de créer une base de données et je suis débutant.J'aimerai ,lors de la création de tables, indexer les tables probleme de SQL [ par kangoo75 ] Salut à tous, voila mon petit probleme, j'ai 1 table qui represente une arborsence de repertoire "virrtuel" et une autre table "d'objet".J'aimerais re Base de données [ par crash34 ] salut, voila je vous expose mon probleme. Je cherche a mettre a jour une table d'une base de donnée mais que certains champs les autres restants tels affichage [ par GADSN ] salut voila j'ai un probleme d'affichage :lorsque un visiteur rempli un formulaire,des fois(des fois souligné  pas toujours)  j'arrive pas a afficher Insertion de données multi tables via un fichier CSV [ par jeremay ] Bonjour ,je suis un petit novice en PHP, et j'ai un gros souci sur un projet.Je m'explique :j'ai une base de données qui a 4 tables. Les quatres ta bl probleme mysql [ par boss59840 ] bonjour,comment peut t'on se connecter a une table bien precise ex:                                         |--------4 eme sous table                  probleme pour remettre a zero une colonne de table mysql [ par helleden ] bonjours a tous,je vous fait par de mon petit probleme en esperant que quelqu'un puisse m'aider car je l'avoue, je suis encore un peu novice dans l'ut supprimer des champs ? [ par brezoneg ] Bonjour,J'ai une table dont la stucture est la suivante :-- Structure de la table `datelevp`CREATE TABLE `datelevp` (  `id_nom` int(10) NOT NULL auto_ alimenter plusieurs champs d'une table en meme temps [ par badziz ] Bonjour, je dois réaliser une pointeuse en intranet et je rencontre quelques difficultés lors de la saisie. Donc dans ma page en php j'ai un tableau q


        Nos sponsors


        Sondage...

        Comparez les prix

        CalendriCode

        Mai 2012
        LMMJVSD
         123456
        78910111213
        14151617181920
        21222324252627
        28293031   

        Consulter la suite du CalendriCode

        Photothèque

        A découvrir



         
        Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
        CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
        CodeS-SourceS.com© est une marque déposée tous droits réservés

        Google Coop CodeS-SourceS Google Coop CodeS-SourceS
        Temps d'éxécution de la page : 0,437 sec (3)

        Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales