Limiter le nb de lignes d'un listing.

Résolu
myn0thor Messages postés 67 Date d'inscription   Statut Membre Dernière intervention   -  
myn0thor Messages postés 67 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

Je souhaiterais limiter l'affichage de mon listing à 30 lignes.
J'ai essayé avec un LIMIT dans la partie ORDER BY de ma reuqète mais ça m'indique SQL error.

Voici ma requête de base:

$sql="SELECT gammes_of.DATE_FIN_OPER AS 'Fin Oper',
gammes_of.OFDA AS 'OF/DA',
centres.DESIGNATION AS 'Operation',
gammes_of.TEMPS_ALLOUE AS 'Tps',
gammes_of.TEMPS_REEL AS 'Tps réel',
of_da.PRODUIT AS 'Produit',
LOWER(of_da.DESIGNATION) AS 'Désignation',
of_da.QUANTITE_DEMANDEE AS 'Qté',
of_da.BLOQUE,
of_da.CUMUL_ENTREES AS 'Cumul',
clients.CODE_CLIENT AS 'Client',
of_da.AFFAIRE AS 'Commande',
of_da.COMMENTAIRES AS 'Commentaires'
FROM gpao.centres centres,
gpao.clients clients,
gpao.gammes_of gammes_of,
gpao.of_da of_da
WHERE of_da.NUMERO_OFDA = gammes_of.OFDA AND
centres.ATELIER = gammes_of.ATELIER AND
centres.CENTRE = gammes_of.CENTRE AND
of_da.CLIENT = clients.CODE_CLIENT AND
((of_da.NUMERO_OFDA=gammes_of.ofda) AND
(centres.ATELIER=gammes_of.atelier) AND
(centres.CENTRE=gammes_of.centre) AND
(gammes_of.CLOTURE<>1)AND
(of_da.BLOQUE='0') AND
(VW_FGET_STATUT_OP_PRECEDENTE(gammes_of.ofda,gammes_of.sequence)=1) AND
(gammes_of.ATELIER='PL'))
ORDER BY of_da.COMMENTAIRES DESC,
gammes_of.DATE_FIN_OPER ASC";

Merci d'avance pour votre aide.


A voir également:

13 réponses

Nhay Messages postés 838 Date d'inscription   Statut Membre Dernière intervention   126
 
Logiquement, le limit ne pose pas de problème :
ORDER BY of_da.COMMENTAIRES DESC,
gammes_of.DATE_FIN_OPER ASC
Limit 0,30";
0
myn0thor Messages postés 67 Date d'inscription   Statut Membre Dernière intervention   1
 
Bah logiquement oui, mais dans la pratique ça me retourne une erreur.
0
Freedomsoul Messages postés 509 Date d'inscription   Statut Membre Dernière intervention   97
 
Erreur qui est ? ...
0
myn0thor Messages postés 67 Date d'inscription   Statut Membre Dernière intervention   1
 
Error in SQL

Voici l'ensemble de ma requête:

<?php
//connexion à la base de donnnées
$conn=odbc_connect('excalibur','gpao','bob');

//test de connexion
if ($conn==false)
{die("échec de la connexion");}

$sql="SELECT gammes_of.DATE_FIN_OPER AS 'Fin Oper',
gammes_of.OFDA AS 'OF/DA',
centres.DESIGNATION AS 'Operation',
gammes_of.TEMPS_ALLOUE AS 'Tps',
gammes_of.TEMPS_REEL AS 'Tps réel',
of_da.PRODUIT AS 'Produit',
LOWER(of_da.DESIGNATION) AS 'Désignation',
of_da.QUANTITE_DEMANDEE AS 'Qté',
of_da.BLOQUE,
of_da.CUMUL_ENTREES AS 'Cumul',
clients.CODE_CLIENT AS 'Client',
of_da.AFFAIRE AS 'Commande',
of_da.COMMENTAIRES AS 'Commentaires'
FROM gpao.centres centres,
gpao.clients clients,
gpao.gammes_of gammes_of,
gpao.of_da of_da
WHERE of_da.NUMERO_OFDA = gammes_of.OFDA AND
centres.ATELIER = gammes_of.ATELIER AND
centres.CENTRE = gammes_of.CENTRE AND
of_da.CLIENT = clients.CODE_CLIENT AND
((of_da.NUMERO_OFDA=gammes_of.ofda) AND
(centres.ATELIER=gammes_of.atelier) AND
(centres.CENTRE=gammes_of.centre) AND
(gammes_of.CLOTURE<>1)AND
(of_da.BLOQUE='0') AND
(VW_FGET_STATUT_OP_PRECEDENTE(gammes_of.ofda,gammes_of.sequence)=1) AND
(gammes_of.ATELIER='PL'))
ORDER BY of_da.COMMENTAIRES DESC,
gammes_of.DATE_FIN_OPER ASC";
$rs=odbc_exec($conn,$sql);
if (!$rs)
{exit("Error in SQL");}
?>
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Freedomsoul Messages postés 509 Date d'inscription   Statut Membre Dernière intervention   97
 
$conn=odbc_connect('excalibur','gpao','bob') or die;



Tu es sur que y'a pas de problème du coté de ton odbc_exec ?
la connexion est bien faite ?

ça ne serait pas plutot:

$query = odbc_prepare($conn, $sql);
$rs= odbc_execute($query);


?
0
myn0thor Messages postés 67 Date d'inscription   Statut Membre Dernière intervention   1
 
Ben tout fonctionne parfaitement sans le Limit...
0
Utilisateur anonyme
 
Bonjour

Il me semble bien que LIMIT ne fait pas partie du SQL standard. Es-tu sûr que ton SGBD le supporte ?
0
myn0thor Messages postés 67 Date d'inscription   Statut Membre Dernière intervention   1
 
Je n'en ai pas la moindre idée, comment le savoir?
0
myn0thor Messages postés 67 Date d'inscription   Statut Membre Dernière intervention   1
 
Et des commentaires utiles tu en as? car sinon bah tu peux te taire aussi c'est une option pas mal quand on a rien à dire.
0
Utilisateur anonyme
 
Tu le prends mal si tu veux, je t'ai simplement dit comment je faisais d'habitude car ça me semble être une évidence. Je ne me crois pas assez calé pour programmer sans manuel, mais toi tu fais comme tu veux.
Quel SGBD utilises-tu ?
0
Freedomsoul Messages postés 509 Date d'inscription   Statut Membre Dernière intervention   97
 
0
myn0thor Messages postés 67 Date d'inscription   Statut Membre Dernière intervention   1
 
ça y est j'ai réglé mon problème à l'aide d'une boucle...

Pour la connection elle ne pose aucun problème.
Et pour le SGBD c'est en SQLAnywhere qui à priori n'accepte pas Le LIMIT (du moins su la version de notre logiciel...


Merci à tous pour votre aide je marque en résolu.
0
Utilisateur anonyme
 
En regardant dans le manuel, quelle question.
Personnellement, c'est ce que je fais avant de poser une question ici. C'est peut-être pour ça que je n'ai jamais posé de question, d'ailleurs.
-1