begin process at 2012 05 28 08:27:24
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive PHP

 > 

Archives

 > 

AU SECOURS !!!

 > 

Comment remplacer un LIMIT avec une base Access ?


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Comment remplacer un LIMIT avec une base Access ?

mercredi 7 septembre 2005 à 01:40:11 | Comment remplacer un LIMIT avec une base Access ?

timisan

Bonjour,
je fais une petite application en PHP avec une base de données Access. D'habitude j'utilise MySQL et pour afficher mes enregistrements par page avec un numéro de page j'utilise cette requete :
SELECT * FROM table LIMIT $limit, $enreg_par_pg
($limit : à partir de quel enregistrement on affiche la page
$ enreg_par_pg : nombre d'enregistrement par page)
pour afficher les enregistrements d'une table par ex par 8 enregistrements affichés par pages. Là je voudrais faire la même chose mais la fonction LIMIT n'existe pas en SQL , connaissez vous autre chose ?
Merci beaucoup pour votre aide....
Isabelle

mercredi 7 septembre 2005 à 05:02:35 | Re : Comment remplacer un LIMIT avec une base Access ?

Zlub

Membre Club



Salut Isabelle,


Par le code tu peux limitter le nombre de valeur en utilisant un compteur et en sortant de ta boucle de parcours du RecordSet ... Vu que j'ignore la méthode de connexion que tu utilises, je ne peux pas te donner de code d'exemple.

En PHP, tu peux utiliser SelectLimit 
avec ADOdb

Mais si tu préféres le faire dans une requête SQL alors la synthaxe c'est avec TOP suivit du nb de lignes.
Par exemple, pour afficher 5 lignes :


ligne012.gif
SELECT TOP 5 champ1, champ2 FROM table ...



++

Zlub
mercredi 7 septembre 2005 à 22:57:59 | Re : Comment remplacer un LIMIT avec une base Access ?

timisan


Bonjour ! Merci beaucoup pour ta réponse je fais des tests tout de suite !
PS : je suis en Nouvelle Calédonie alors les jours et temps de réponses sont décalés ....
Isabelle

mercredi 7 septembre 2005 à 23:24:30 | Re : Comment remplacer un LIMIT avec une base Access ?

Zlub

Membre Club



Salut Isabelle,


Pas de problème, je suis moi aussi "décalé" ... LOL

Tiens moi au courrant,


++

Zlub
jeudi 8 septembre 2005 à 18:04:46 | Re : Comment remplacer un LIMIT avec une base Access ?

aurelien0306

salut,
la solution donnée est une solution pour les premiers enregistrements mais pour les suivants?
car TOP 8 prend toujours les 8 premiers résultats... (du num 1 au num 8). Mais quand on passe à la page suivante et que l'on souhaite donc visualiser les résultats de 9 à 16, la solution de substitution ne marche pas à mon avis...

jeudi 8 septembre 2005 à 18:18:03 | Re : Comment remplacer un LIMIT avec une base Access ?

Zlub

Membre Club



Salut,

Bien evidament que non ... ça limite le nombre de résultats dans le RecordSet à X lignes ... Pour afficher par "tranche" de X lignes ... quelque soit le langage, je ne vois pas la difficultée ...

Je demande à un RecordSet de me rappatrier les données, apres tout se qui est affichage doit être, selon moi, géré par le code ...


++

Zlub
jeudi 8 septembre 2005 à 18:50:09 | Re : Comment remplacer un LIMIT avec une base Access ?

aurelien0306

ok donc on est d'accord que ce n'est pas une solution pour la question d'Isabelle...
jeudi 8 septembre 2005 à 19:29:08 | Re : Comment remplacer un LIMIT avec une base Access ?

Zlub

Membre Club



Salut,


Il n'existe pas de correspondance exacte avec LIMIT de MySQL sous MS ACCESS ...


users
users
id nom prenom
10 Big Bang
3 bob le marin
7 Bond James
5 Dubois alain
2 martin alain
1 martin paul
8 Poiuy Anlk
4 ponce pierre
9 Woila Jean
11 rata alain

Avec la clause WHERE, elle peut simuler le LIMIT par exemple en conservant l'id de la last ligne affichée et lorque l'utilisateur demande la page suivante alors :

SELECT TOP 2 users.id, users.nom, users.prenom
FROM users
WHERE id > 2


A condition, bien sûre, que les données précédement affichées soient triées par ID croissant (cas par défaut). Sinon, faut completer la clause where en utilisant un max d'infos possibles. Par exemple pour un tri par nom ASC

SELECT TOP 2 users.id, users.nom, users.prenom
FROM users
WHERE nom > 'martin'
ORDER BY users.nom, users.prenom ASC;


Cette stratégie peux poser probléme en cas de doublons ... donc faut sans doute préciser un autre argument dans le WHERE soit p
ar exemple pour un tri par nom, prénom ASC

SELECT TOP 2 users.id, users.nom, users.prenom
FROM users
WHERE nom > 'martin' or (nom = 'martin' and prenom <> 'paul')
ORDER BY users.nom, users.prenom ASC;


Au final, TOP est la correspondance la plus proche de LIMIT, bien que l'impémentation de Microsoft soit imcompléte.


++

Zlub
jeudi 8 septembre 2005 à 19:37:19 | Re : Comment remplacer un LIMIT avec une base Access ?

aurelien0306

ok
c'est déjà + complet et une manière "alternative"

jeudi 8 septembre 2005 à 19:46:01 | Re : Comment remplacer un LIMIT avec une base Access ?

Zlub

Membre Club



Salut,


B'hein, je pensais qu'elle allais pouvoir se débrouiller comme une grande avec TOP ...
Mais bon c'est vrai que c'est plus complet ...

++

Zlub

1 2

Cette discussion est classée dans : access, base, page, enregistrements, limit


Répondre à ce message

Sujets en rapport avec ce message

Pagination de page... [ par AgentSmith ] Salut à tous,Je souhaiterai avoir quelque indicationpour savoir si il y a une possibilité depaginer des pages avec la sortie de la base de donnée. Exe access >> mysql ? [ par guiguimac ] bonsoir,j'aimerais savoir l'un d'entre vous connait un moyen simple d'exporte une table d'une base access vers ma base mysql chez mon hebergeur.il y a PHP et Access [ par iubito ] s@lut @ tous!Il me semble avoir vu une fois mé chépluoù k'on peut attaquer une base Access avec du PHP.Donc j'v envoyer ma base sur l'hébergeur (c 1 f base comptant une page [ par singlator ] j aimerais comment cree un compteur sur une page bien precise et qu'un autre page s'ouvre au bout de X ouverture de la premiere pagemerci exportation de Outlook vers Access ! [ par Spence ] Lorsque j'exporte les fichiers de Outlook vers Access une nouvelle table ce crée dans la base Access mais comment faire pour que la base de données Ac Probleme avec ID [ par Morgiver ] Je suis en train de faire une partie privée pour mon site je dois donc faire une page d'inscription ce que j'ai fais. Bon quand j'inscri un membre il Mise en Forme HTML [ par CouB ] Je m'explique :J'ai un script qui doit me permettre de mettre a jour du text et des images sur une page php.Les données sont saisies via un formulaire Gestion sessions [ par elanspeech ] Salut,J'ai des difficultes a resoudre la gestion de session.quand un utilisateur se logue, je met ma base a jour, s'il se deconnecte, je fais de meme. Affichage de données [ par must ] Salut,j'ai une base de données avec 5 enregistrements dans la baseComment faire pour faire ceci:a gauche:afficher une case à coherau milieu:résumé mes Site html/php avec base Access [ par guylux ] Salut collegueVoila je connais rien en php et je dois faire des modifications sur une application avec access2000 . Cela concerne des modifications de


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

Photothèque

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,045 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales