mailliam
Messages postés261Date d'inscriptionmardi 2 juillet 2002StatutMembreDernière intervention10 mars 2014
-
7 févr. 2010 à 21:22
syndrael
Messages postés2378Date d'inscriptionlundi 4 février 2002StatutMembreDernière intervention29 décembre 2012
-
20 févr. 2010 à 06:37
Hello les Loulous !
Dans une table je peux avoir plusieurs fois le même mail, donc pour récupérer une liste de mail unique je fais :
sql = "SELECT DISTINCT mail FROM matable WHERE mail"
Mon problème c'est que comme ça je ne récupère que "mail" et en fait j'aimerais pouvoir avoir le contenu des autres champs, comment on fait?
On ne peut pas utiliser DISTINCT? Comment faire autrement
(car sql = "SELECT DISTINCT mail,prenom,nom FROM matable WHERE mail ca me renvoie toute la liste.. idem si je mets SELECT * ...)
mailliam
Messages postés261Date d'inscriptionmardi 2 juillet 2002StatutMembreDernière intervention10 mars 20143 19 févr. 2010 à 22:47
J'ai trouvé une astuce
Il y a surement un moyen mieux de faire que se reconnecter à la base de donnée je ne sait combien de fois dans une boucle, mais bon j'ai rien trouvé d'autre..
J'ai utilisé bêtement LIMIT 1 dans la boucle while:
mysql_query("SELECT date FROM matable WHERE forum='$forum' AND sujet='$sujet' ORDER BY date DESC LIMIT 1");
comme ca il me l'affiche qu'une fois..
Bref je sais pas si je suis clair, mais bon ca marche donc j'suis content..
Si qqun a le même problème qu'il me le dise et je m'expliquerai mieux
merci quand même pour votre aide!!
A++ et bonne prog :)
mailliam
Messages postés261Date d'inscriptionmardi 2 juillet 2002StatutMembreDernière intervention10 mars 20143 8 févr. 2010 à 22:45
Coucou, merci d'avoir répondu :)
et fait je simplifais un peu avec mon histoire de mail, mais c'est pareil..
et fait j'ai un problème avec mon forum:
j'ai une table (ici matable) qui contient le nom de l'auteur, le forum, le titre du sujet, le message et la date.
J'aimerai classer la liste des sujets par la date du + récent message.
et évidement que le sujet n'apparaisse qu'une seule fois..
j'arrive pas à classer par date mes sujets, ni à afficher la date du message le + récent
Voici mon code: (pour afficher la liste des sujet du $forum="mécanique")
$reponse = mysql_query("SELECT DISTINCT sujet FROM matable WHERE forum='$forum' ORDER BY date DESC");
// Puis on fait une boucle pour afficher tous les résultats :
while ($donnees = mysql_fetch_array($reponse) )
{
?>
<?php echo $donnees['sujet']; ?>
Le dernier message date du <?php echo $donnees['date']; ?>
<?
}
// Fin de la boucle
-Donc pourquoi il ne se classe pas par date?
-et comment je peux aller chercher la date? car si je fais SELECT * ca marche pas..
mais raconté comme ça, je ne sais pas si c'est bcp + clair
Vous n’avez pas trouvé la réponse que vous recherchez ?
neigedhiver
Messages postés2480Date d'inscriptionjeudi 30 novembre 2006StatutMembreDernière intervention14 janvier 201119 8 févr. 2010 à 22:52
Salut,
date est un mot réservé à MySQL qu'il n'est pas possible d'utiliser pour un nom de table sans l'échapper préalablement.
Il faut faire ORDER BY `date` DESC
Les guillemets ` sont importants, ce n'est pas ' ni "
--
Neige
Souvent la réponse à votre question se trouve dans la doc. Commencez par là ;)
Gr3g69
Messages postés27Date d'inscriptiondimanche 6 décembre 2009StatutMembreDernière intervention13 février 2010 13 févr. 2010 à 11:46
Hello,
Je ne pense pas que celà soit possible avec DISTINCT.
Mais là, j'vois pas comment faire pour afficher ce que tu veux.
J'y réfléchi ...
As-tu regardé sur les sources d'un petit forum (genre fluxBB par exemple) pour voir comment ils affichent leurs données pour générer ce genre de page ?
syndrael
Messages postés2378Date d'inscriptionlundi 4 février 2002StatutMembreDernière intervention29 décembre 201220 20 févr. 2010 à 06:37
C'est bien si tu as trouvé 'une' solution, l'essentiel est que ça puisse te faire avancer.
Par contre la connexion/déconnexion n'est pas la bonne solution techniquement, je te confirme.. LOL !!
Malgré mes efforts je ne suis pas arrivé à comprendre ton besoin, pourtant j'avais essayé.
S.