Galere avec une requete

Résolu/Fermé
inizar Messages postés 207 Date d'inscription mercredi 30 janvier 2008 Statut Membre Dernière intervention 3 juillet 2014 - 6 juil. 2008 à 02:21
inizar Messages postés 207 Date d'inscription mercredi 30 janvier 2008 Statut Membre Dernière intervention 3 juillet 2014 - 7 juil. 2008 à 20:20
Bonsoir ,

j'ai plusieurs tables avec la meme structure genre :

international :

**************
-id
-titre
-presentation
-article
-date
**************
je voudrais qui m'affiche le dernier post de chaque table ,

exemple:

---titre depuis la table international (dernier de la table le nouveau )
---titre depuis la table politique (dernier de la table le nouveau )
--titre depuis la table economique (dernier de la table le nouveau )


j'ai mis une requete mais ça marrche pas la voila :

$sql='SELECT international.id, international.titre, politique.id, politique.titre
FROM international, politique ORDER BY international.id, politique.id DESC ' ;

puis j'ai mis une autre avec UNION mais ça na pas marché :( ,peu etre j'ai oublié quelque chose !!?

SVpl si vous avez une solution Je serais reconnaissant car j’ai bien galéré

Merci :)

4 réponses

vignemail1 Messages postés 1246 Date d'inscription vendredi 8 octobre 2004 Statut Contributeur Dernière intervention 13 septembre 2019 259
6 juil. 2008 à 07:40
Si tes tables ont exactement les mêmes structures, alors pourquoi ne pas avoir juste mis un champ type pour faire la différences entre politique, économique, .... ?
Enfin bref, tu as essayé ceci ?

SELECT * FROM international ORDER BY date DESC limit 1
UNION
SELECT * FROM economique ORDER BY date DESC limit 1
UNION
SELECT * FROM politique ORDER BY date DESC limit 1

0
inizar Messages postés 207 Date d'inscription mercredi 30 janvier 2008 Statut Membre Dernière intervention 3 juillet 2014 15
6 juil. 2008 à 17:13
Bonjour ,

merci pour votre réponse, vraiment c'est une bonne idée ^^ ,j'ai pas pensé a ça , mais si je mets juste une seule table et qui il va enregistré tout c'est pas trop dur pour le serveur , je me suis dis si je sépare les tables la charge va etre moin !! mais si je dois faire une seule je dois refaire tout mes codes :( .... ça va me prendre du temp ayaya lol

alors pour la requete de selection je pense que je n'ai pas chance lol ,je viens de la faire comme ça :

$sql="SELECT * FROM international ORDER BY date DESC limit 1
UNION
SELECT * FROM economique ORDER BY date DESC limit 1
UNION
SELECT * FROM politique ORDER BY date DESC limit 1
" ;


et j'ai l'erreur suivante :

Erreur : Incorrect usage of UNION and ORDER BY



en local j'ai la version 5 normalment UNION ça marche avec la version 4 ou plus ; c'est bizzar ou bien je dois activé une extension !! ou juste la requete n'est pas valide !!!

:)







0
vignemail1 Messages postés 1246 Date d'inscription vendredi 8 octobre 2004 Statut Contributeur Dernière intervention 13 septembre 2019 259
7 juil. 2008 à 11:22
J'ai peut être était trop rapide, j'ai pu oublié les parenthèses autour des select. Personnellement je n'ai jamais eu besoin de faire ce type de commandes mais selon la doc MySQL cela devrait marcher. Essaie avec des ( ) autour de tes select pour voir si cela marche.
0
inizar Messages postés 207 Date d'inscription mercredi 30 janvier 2008 Statut Membre Dernière intervention 3 juillet 2014 15
7 juil. 2008 à 20:20
Bonjour ^^ ,

j'ai mis un SELECT MAX(id) AS ID....UNION 2em table et la ça marche très bien
merci :)

@+

0