Requete SQL complexe et problème de tableau

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Requete SQL complexe et problème de tableau

par analfabete » 03 févr. 2007, 13:37

En partant d'une requete avec jointure voilà ce que j'ai essayer de faire :
'SELECT i.idmembre,i.login,p.date_inscription 
			FROM membre_info i JOIN membre_profils p ON i.idmembre=p.idmembre ORDER BY p.date_inscription DESC LIMIT 0,3
			WHERE i.idmembre=???';
Mon problème est d'indiquer l'idmembre de chaque filleuls.
Je dois faire une requete pour cela du type :
SELECT idmembre FROM mebre_info WHERE idparrain=\''.$_SESSION['idmembre'].'\''
Mais je ne sais aps du tout comment faire pour l'intégrer... :cry:

par analfabete » 03 févr. 2007, 13:04

A oui oups je n'avais pas vu cependant je vais me tourner vers les jointure...
Je me redocumente car les jointures c'est aps très bien assimilés :lol:
Et je vous tient au courant en espérant que j'y arriver tout seul !

par Ajoloca » 03 févr. 2007, 13:04

Re,

Je ne suis pas sur que même avec la correction de $req ta requête fonctionne.

La syntaxe LIMIT avant le AND me semble bizarre :?:

par Ajoloca » 03 févr. 2007, 13:00

Bonjour,

$req est une ressource, elle ne contient pas de valeurs directement exploitables.
Tu devras extraire idmembre de $req et utiliser idmembre à la place de req.

EDIT :
Grillé :twisted:

par Cyrano » 03 févr. 2007, 12:59

Normal : ta variable $req est une ressource, pas un résultat. Entre ton $req = mysql_query(etc...) et la seconde requête, il faut récupérer la valeur reqournée.

Autre option : ne faire qu'une seule requête avec une jointure. Fais des tests, c'est parfaitement possible et ce sera en outre plus rapide à exécuter.

Requete SQL complexe et problème de tableau

par analfabete » 03 févr. 2007, 12:56

Bonjour à tous je suis actuellement en train de réaliser un site avec des jeux ou les membre en s'inscrivant peuvent etre les filleuls d'autre membre.
Je cherche ainsi a afficher les 2 derniers filleuls inscrit --> leur date d'inscription et leur pseudo.
J'ai deux tables:
_membre_info --> idmembre ,idparrain
_membre_profils--> idmembre,date_inscription

Ainsi je n'arrive pas a faire ma requete suivante:
"choisir idmembre et pseudo ou idparrain=idmembre dans membre_info et avec cette idmembre on recupere date_inscription dans membre_profils"

Voilà mon code:
$req=mysql_query('SELECT idmembre FROM membre_info WHERE idparrain=\''.$_SESSION['idmembre'].'\'') or die(mysql_error());
$sql='SELECT i.login, p.date_inscription 
			FROM membre_info AS i ,membre_profils AS p 
			WHERE p.idmembre='.$req.' ORDER BY date_inscription DESC LIMIT 0,3 AND i.idmembre='.$req.'';
$req=mysql_query($sql) or die(mysql_error());
Et l'erreur que j'ai:
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 'id #4 ORDER BY date_inscription DESC LIMIT 0,3 AND i.idmembre=R
Merci d'avance !