begin process at 2012 02 15 19:22:54
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive PHP

 > 

Archives

 > 

Bases de données

 > 

trier par WHERE avec une variable


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

trier par WHERE avec une variable

mercredi 2 mars 2005 à 14:26:47 | trier par WHERE avec une variable

benji86446

Bonjour tout le monde!

Voila, j'ai une petite question à propos des requetes SQL. J'aimerais trier les résultats lus sur une table par rapport aux résultats d'une autre table.
Je m'explique:

Je souhaites dans un premier temps lire des données sur une table

$sql = "SELECT  id FROM table1";
    $result = $db->sql_query($sql);
 while (list($id)=mysql_fetch_array($result)){}

Maintenant, j'aimerais afficher toutes les information d'une seconde table ayant leur id égal à $id (ci dessus). Voila ce que j'ai essayé:

$sql = "SELECT  id2 FROM table2 WHERE id2=$id";
    $result = $db->sql_query($sql);
 while (list($id2)=mysql_fetch_array($result)){}

Sauf que ça ce marche pas. Comment faire?

Merci d'avance pour toutes réponses

Benji
 
mercredi 2 mars 2005 à 14:45:56 | Re : trier par WHERE avec une variable

davwart

salut.
plusieurs choses:
1 - pourrais tu essayer de nous dire quelle est l'erreur?
parce que "ça marche pas", c'est trop binaire ;)
2 - tu peux faire des requetes sur plusieurs table en meme temps :

"select t1.id, t2.id2 FROM table1 t1, table2 t2 WHERE t1.id=t2.id2"




-------------------------------------
Les ordinateurs, plus on s'en sert moins, moins ça a de chance de mal marcher. [Les Shadoks]
mercredi 2 mars 2005 à 16:28:01 | Re : trier par WHERE avec une variable

benji86446

Oups désolé pour le message d'erreur (moi qui d'habitude suis le premier à raler quand on ne précise pas la message qui s'affiche quand il y en a un ^^). Le voici:

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /home/web43/html/kidlogis.com/modules/Live/index.php on line 50

Pour les requêtes sur plusieurs tables en même temps j'ai le même message d'erreur. Au lieu de vous donner un exemple comme je l'ai fait, je vais vous donner mon vrai code (il s'agit du code d'un live texte pour un match de foot):

$sql = "SELECT  idmatch, equipe1, score1, equipe2, score2 FROM nuke_live_match order by `idmatch` desc limit 1";
    $result = $db->sql_query($sql);
 while (list($idmatch, $equipe1, $score1, $equipe2, $score2)=mysql_fetch_array($result)){}

$sql = "SELECT idcom, nummatch, numminute, commentaire1, commentaire2, commentaire FROM nuke_live_access WHERE nummatch=$idmatch order by 'idcom' desc";
    $result = $db->sql_query($sql);
 while (list($idcom, $nummatch, $numminute, $commentaire1, $commentaire2, $commentaire)=mysql_fetch_array($result)){}

Comme vous pouvez le voir, j'essaye pour la premiere table d'afficher la derniere entrée uniquement (chaque entrée identifiée par idmatch) et dans la deuxieme table, j'essaye donc d'afficher tous les commentaires dont le numero du match (nummatch) est égal à l'idmatch de la premiere table.

Merci
mercredi 2 mars 2005 à 16:57:00 | Re : trier par WHERE avec une variable

davwart


re !
alors.. une solution tres simple de debuguage !
ajoute " or die(mysql_error())" apres ton sql query.
tu as un probleme avec ta requete, le mysql_error() va te sortir ton erreur ;)
-------------------------------------
Les ordinateurs, plus on s'en sert moins, moins ça a de chance de mal marcher. [Les Shadoks]
mercredi 2 mars 2005 à 17:13:54 | Re : trier par WHERE avec une variable

benji86446

Bon, j'ai modifié mon code par

$sql = "SELECT idcom, nummatch, numminute, commentaire1, commentaire2, commentaire FROM nuke_live_access WHERE nummatch=$idmatch order by 'idcom' desc";
    $result = $db->sql_query($sql) or die(mysql_error());
 while (list($idcom, $nummatch, $numminute, $commentaire1, $commentaire2, $commentaire)=mysql_fetch_array($result)){}

Et voila le message que j'obtiens:

You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near 'order by 'idcom' desc' at line 1
mercredi 2 mars 2005 à 17:16:45 | Re : trier par WHERE avec une variable

benji86446

Autre chose, lorsque je supprime le "WHERE nummatch=$idmatch" de la requete, le script marche, seulement j'ai les commentaires de tous les matchs qui s'affichent à la suite, et non pas seulement ceux du dernier match enregistré
mercredi 2 mars 2005 à 18:09:43 | Re : trier par WHERE avec une variable

tucsoufle

salut
essai de changer ta requete par celle ici :
$sql = "SELECT idcom, nummatch, numminute, commentaire1, commentaire2, commentaire FROM nuke_live_access WHERE nummatch=".$idmatch." order by 'idcom' desc";
c'est peut etre un probleme de concatenation !
autrement, verifie le nom de tout tes champs

Je te donne une idée, tu me donnes une idée, nous avons chacun deux idées.
Mon site Internet

mercredi 2 mars 2005 à 18:28:27 | Re : trier par WHERE avec une variable

benji86446

j'ai toujours le même message d'erreur. Pour ce qui est des noms des champs, ils doivent etre bons etant donné que dès que j'enleve WHERE nummatch=idmatch tout marche (même si j'ai tous les commentaires qui s'affichent et non plus ceux que je veux uniquement. Sinon si on fais la requete des deux tables en une fois, vous le coderiez comment? Parce qu'il est possible que je me sois trompé, j'avais mis

$sql = "SELECT t1.idmatch, t2.idcom, t2.nummatch, t2.numminute, t2.commentaire1, t2.commentaire2, commentaire FROM nuke_live_match t1, nuke_live_access t2 WHERE t2.nummatch=t1.idmatch order by 't2.idcom' desc";
    $result = $db->sql_query($sql) or die(mysql_error());
 while (list($idmatch, $idcom, $nummatch, $numminute, $commentaire1, $commentaire2, $commentaire)=mysql_fetch_array($result)){}

mercredi 2 mars 2005 à 19:48:09 | Re : trier par WHERE avec une variable

tucsoufle

donne nous le code sql de ta table !
et rajoute des ' comme ca : WHERE nummatch='".$idmatch."' order
ca doit pas etre ça mais bon...

Je te donne une idée, tu me donnes une idée, nous avons chacun deux idées.
Mon site Internet

mercredi 2 mars 2005 à 20:42:24 | Re : trier par WHERE avec une variable

benji86446

Je vous passe carement le script pour la créer (comme ça il me suffit de faire un exporter pour l'avoir ^^)

CREATE TABLE `nuke_live_match` (
  `idmatch` tinyint(4) NOT NULL auto_increment,
  `equipe1` varchar(50) NOT NULL default '',
  `score1` char(2) NOT NULL default '',
  `equipe2` varchar(50) NOT NULL default '',
  `score2` char(2) NOT NULL default '',
  PRIMARY KEY  (`idmatch`)
) TYPE=MyISAM AUTO_INCREMENT=3 ;

CREATE TABLE `nuke_live_access` (
  `idcom` tinyint(4) NOT NULL auto_increment,
  `nummatch` tinyint(4) NOT NULL default '0',
  `numminute` varchar(6) default NULL,
  `commentaire1` varchar(255) default NULL,
  `commentaire2` varchar(255) default NULL,
  `commentaire` varchar(255) default NULL,
  PRIMARY KEY  (`idcom`)
) TYPE=MyISAM AUTO_INCREMENT=17 ;


1 2

Cette discussion est classée dans : table, sql, id, trier, result


Répondre à ce message

Sujets en rapport avec ce message

Trier une table avec le contenu d'une variable [ par bullo95 ] Bonjour!! Voila mon probleme premiere page, un petit moteur de recherche par mots clefs. qui va a la page 2 page 2 la liste de tt les article compten Probleme recuperation de l'id d'une table pour insérer dans une autre par la methode update [ par Alpha911 ] Bonjour,Je test plusieurs methodes pour pouvoir prendre l'id d'une table qui et la recopier dans une autre table j'ai 2 tables UTILISATEUR et une autr Probleme Récursivité [ par Grogan ] Bonjour,Je suis entrain d'écrire une fonction qui me permet d'afficher tout les liens contenu dans une de mes tables de base de données. Ces liens son Création forum probleme requete sql [ par dendenis ] Mesdames, Messieurs Bonjour !je vous expose mon probleme.Je souhaiterais créer moi meme mon forum (non pas que je n'aime pas les forums tout fait, mai Checked sur input avec nom variable [ par eltyty ] Bonjour, je fais une lecture de deux table une client avec id, nom et champs dans laquelle les champs correspondent à des id (de la table logiciel) s Mise à jour Table phpMyAdmin depuis un formulaire html sélectionnant l'id [ par escabot ] Bonjour, J'essaie de créer un formulaire me permettant de mettre à jour les coordonnées des membres de mon site. J'ai beau simplifier le code comme c Probleme interogation 2 table [ par casper77610 ] Bonjour à tous, Voici mon code. Et je vous explique mon problème. [code=php] <?php $db = mysql_connect('localhost', 'root', '') or die('HOST ?'); mysq Probleme requete sql [ par moza2409 ] Bonjour à tous, J’ai un petit problème avec une requête sql, j’explique mon problème : J’ai un formulaire d’inscription avec les champs pseudo, ema requete sql [ par moza2409 ] Bonjour à tous, Je bloque sur un probleme de requete sql sur 2 tables. J'explique mon probleme : J'ai une table qui ce nome Client avec les champs id insertion dans la base [ par jolina87 ] bonjour, je génère un code automatiquement de client avec une fonction que je viens de la créer ([code=php]$code = newChaine(); //générer automatiquem


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

 
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,530 sec (3)

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