export MUIBase
10 sujets de 1 à 10 (sur un total de 10)
-
Je suis en train de remplir ma base de données et j’ai à peu près compris comment faire une requete. Par contre, truc tout bête, je voudrais avoir une numérotation de la liste des résultats (et avoir ainsi le total de lignes dans la liste de résultats). J’ai regardé le manuel mais je ne comprends pas trop comment y arriver. Si quelqu’un pouvait m’aider, maerci!
En entrée, j’ai une liste de jeux avec plusieurs données pour chaque jeu (titre, machine, genre, etc). Le tout dans une seule table.
En sortie, je génère une liste de jeux sur certains critères (par exemple tous les jeux CD32). J’arrive à gérer les requêtes mais quand le résultat est important, j’aimerai avoir une numérotation des résultats (et de ce fait le nombre total). Par exemple, je fais une requête pour extraire tous les jeux CD32, et j’aimerais qu’il me mette un numéro incrémenté devant chaque ligne de la liste renvoyée.
Admin Fenrix : jeune padawan, si tu utilise MySQL, regarde du côté de COUNT() qui est utilisable de plusieurs façons.
La plus simple avec un exemple tiré directement du célèbrissime « Site du zéro » :
SELECT COUNT(*) AS nbjeux FROM jeux_video WHERE possesseur='Florent'Source : page 182 du livre Concevez votre site web avec php et mysql …
Les vieux Jedi se rapporteront plutôt sur les normes SQL, les docs des sites MysQL/PostgreSQL/Oracle ou des bible comme le pavé SQL Syntex qui devrait prochainement (juin ?) être réactualisé…
Je ne connais pas MUIBase. Je ne maîtrise que mySQL.
Dans ton cas, en principe, tu dois faire la numérotation des résultats pendant ton fetch.
Maintenant, je peux te donner une technique mySQL qui ne fonctionnera peut-être pas sur MUIBase mais sait-on jamais.
Pour cela, il faut utiliser les variables. Exemple:
SELECT @newid:=@newid+1 AS id,a.champ1,a.champ2FROM (SELECT @newid:=0) AS newid, table AS a
WHERE
Si tu veux faire un fetch sur une section, tu utilises LIMIT (je ne sais pas si MUIBase supporte). Exemple:
SELECT *
FROM table a
WHERE
LIMIT 123,200 /* récupère 200 résultats à partir du 123ème */
C’est pratique pour gérer une pagination.
Tu peux coupler ton compteur si dessus en n’oubliant pas d’initialiser newid à 123. Exemple:
SELECT @newid:=@newid+1 AS id,a.champ1,a.champ2FROM (SELECT @newid:=123) AS newid, table AS a
WHERE
LIMIT 123,200
Pour le compteur global, il est classique de le faire en parallèle. Donc, tu aurais 2 requêtes: une pour tes résultats et une autre pour le comptage. Voici la deuxième:
SELECT COUNT(*) AS cntFROM table
WHERE
Si tu peux rebondir là dessus et trouver les réponses à tes problèmes…
10 sujets de 1 à 10 (sur un total de 10)
- Vous devez être connecté pour répondre à ce sujet.
› Forums › AmigaOS, MorphOS et AROS › Général › export MUIBase
