{MySQL} classement à l'aide d'un champs
JJBlow
Messages postés
44
Date d'inscription
Statut
Membre
Dernière intervention
-
imw Messages postés 233 Date d'inscription Statut Membre Dernière intervention -
imw Messages postés 233 Date d'inscription Statut Membre Dernière intervention -
Bonjour ou bonsoir, voilà, je fait un petit site actuellement et je suis en local, j'apprends le PHP et MySQL mais la pratique reste encore un peu difficile, enfin, voici donc mon problème:
je recherche à faire une sorte de classement, j'ai mes membres par exemple qui une fois inscrits se voient attribuer un ID en Auto-increment, et je voudrais pour faire une sorte de classement pour les autres visiteurs ou membres. Je vous explique plus clairement; si un visiteur veut voir les messages et QUE les messages de tel ou tel membre, je souhaiterai que ce ne soit que les message de ce membre qui soit affiché.
Une sorte de moteur de recherche, enfin, plus un classement qu'autre chose pour moi.
Je souhaite donc, qu'avec une liste déroulante par exemple, on ai un aperçut de tous les membres, et qu'ensuite en en sélectionnant un tous les messages associé à son nom (enfin, pour que ce soit plus facile et clair, ceux associés à son ID en fait) soient affichés, après l'ordre sa m'importe moins, du plus ancien au plus récent ou inverse.
Alors voilà, je bloque complètement et j'ai besoin d'aide.
Merci de votre aide et je vous souhaite à tous de passer une excellente journée.
je recherche à faire une sorte de classement, j'ai mes membres par exemple qui une fois inscrits se voient attribuer un ID en Auto-increment, et je voudrais pour faire une sorte de classement pour les autres visiteurs ou membres. Je vous explique plus clairement; si un visiteur veut voir les messages et QUE les messages de tel ou tel membre, je souhaiterai que ce ne soit que les message de ce membre qui soit affiché.
Une sorte de moteur de recherche, enfin, plus un classement qu'autre chose pour moi.
Je souhaite donc, qu'avec une liste déroulante par exemple, on ai un aperçut de tous les membres, et qu'ensuite en en sélectionnant un tous les messages associé à son nom (enfin, pour que ce soit plus facile et clair, ceux associés à son ID en fait) soient affichés, après l'ordre sa m'importe moins, du plus ancien au plus récent ou inverse.
Alors voilà, je bloque complètement et j'ai besoin d'aide.
Merci de votre aide et je vous souhaite à tous de passer une excellente journée.
A voir également:
- {MySQL} classement à l'aide d'un champs
- Logiciel de classement de photos gratuit - Guide
- Mysql community server - Télécharger - Bases de données
- Bp classement foot - Forum Réseaux sociaux
- Signifié les abrévations des titres au classement de foot - Forum Loisirs / Divertissements
- Logiciel de classement de documents gratuit - Télécharger - Bureautique
3 réponses
Il faut déjà que tu récupère la liste des membres
pour afficher ton select
Ensuite quand le membre est sélectionné, tu recherche que ses messages
Bien sur, tu remplace le nécessaire.
Je t'ai mis un ORDRE BY ... si tu as un champ contenant la date du post. Sinon, tu peux toujours trier avec l'auto incrément (qui normalement est dans l'ordre).
Le DESC à la fin, c'est pour trier du plus Grand au plus Petit ) (ou du plus récent au plus vieux)
SELECT * FROM `TableMembres`
pour afficher ton select
Ensuite quand le membre est sélectionné, tu recherche que ses messages
SELECT * FROM `TableMessages` WHERE `ChampIdDuMembre`=$id ORDER BY `DateDePost` DESC
Bien sur, tu remplace le nécessaire.
Je t'ai mis un ORDRE BY ... si tu as un champ contenant la date du post. Sinon, tu peux toujours trier avec l'auto incrément (qui normalement est dans l'ordre).
Le DESC à la fin, c'est pour trier du plus Grand au plus Petit ) (ou du plus récent au plus vieux)
Bonjour, alors merci beaucoup d'avoir bien voulu répondre et m'aider.
Sinon, je n'ai pas trop compris la première "étape":
Il faut déjà que tu récupère la liste des membres
SELECT * FROM `TableMembres`
Car je ne peut donc pas faire la suite:
Ensuite quand le membre est sélectionné, tu recherche que ses messages
SELECT * FROM `TableMessages` WHERE `ChampIdDuMembre`=$id ORDER BY `DateDePost` DESC
Voici ce que moi je pensait faire, évidement sa n'est pas ça et ça ne fonctionne pas:
Comment donc puis-je faire ?
Sachant que j'ai en fait, 2 tables pour cela, l'une qui contient les membres et leurs infos, c'est la table membres_tbl et l'autre c'est celle qui contient les messages, elle s'appelle minichat.
Dans membres_tbl il y a les champs id et pseudo, là l'ID c'est pour identifier les membres.
Dans minichat il y a les champs id et message, et ici l'ID c'était pour les classer grâce à l'auto-increment.
Voilà, donc merci encore pour l'aide apportée.
Excellente journée.
Sinon, je n'ai pas trop compris la première "étape":
Il faut déjà que tu récupère la liste des membres
SELECT * FROM `TableMembres`
Car je ne peut donc pas faire la suite:
Ensuite quand le membre est sélectionné, tu recherche que ses messages
SELECT * FROM `TableMessages` WHERE `ChampIdDuMembre`=$id ORDER BY `DateDePost` DESC
Voici ce que moi je pensait faire, évidement sa n'est pas ça et ça ne fonctionne pas:
$requete = mysql_query("SELECT * FROM `minichat` WHERE `id`=$id ORDER BY `id` DESC"); mysql_close(); while($resultat = mysql_fetch_assoc($requete)) { echo $resultat; }
Comment donc puis-je faire ?
Sachant que j'ai en fait, 2 tables pour cela, l'une qui contient les membres et leurs infos, c'est la table membres_tbl et l'autre c'est celle qui contient les messages, elle s'appelle minichat.
Dans membres_tbl il y a les champs id et pseudo, là l'ID c'est pour identifier les membres.
Dans minichat il y a les champs id et message, et ici l'ID c'était pour les classer grâce à l'auto-increment.
Voilà, donc merci encore pour l'aide apportée.
Excellente journée.
Tu as dit dans ton premier post, que tu voulais pouvoir choisir d'afficher les messages que d'un seul membre.
Pour pouvoir sélectionner ce membre, il faut bien l'afficher (des liens, ou un input select). La première requête sert à ça. Dans ton cas :
SELECT * FROM membres_tbl;
bien sur tu fait le while qui va bien pour afficher tous les membres disponibles.
Pour afficher les messages d'un seul membre, il te manque une information dans ta table de minichat.
Il faut que tu rajoute un champ dans lequel sera identifié l'auteur du message (ex : idMembre )
une fois que tu as choisi le membre qui t'intéresse, tu peux afficher seulement ses messages :
SELECT * FROM minichat WHERE idMembre=$id ORDER BY id DESC
Et voilà
Pour pouvoir sélectionner ce membre, il faut bien l'afficher (des liens, ou un input select). La première requête sert à ça. Dans ton cas :
SELECT * FROM membres_tbl;
bien sur tu fait le while qui va bien pour afficher tous les membres disponibles.
Pour afficher les messages d'un seul membre, il te manque une information dans ta table de minichat.
Il faut que tu rajoute un champ dans lequel sera identifié l'auteur du message (ex : idMembre )
une fois que tu as choisi le membre qui t'intéresse, tu peux afficher seulement ses messages :
SELECT * FROM minichat WHERE idMembre=$id ORDER BY id DESC
Et voilà