[Php] SELECTION A PARTIR DE LA LIGNE 2 ! comment ?

SELECTION A PARTIR DE LA LIGNE 2 ! comment ? [Php] - PHP - Programmation

Marsh Posté le 06-06-2002 à 10:19:46    

erf alors par ou commencé :)
 
bon comme vous allez le voir avec le morceau de code ci joint, je cherche a affiché toutes les données d'une table sql à partir de la ligne 2...
 
g voulu faire cela :

$sqlar = "SELECT * FROM sys_articles ORDER BY id DESC LIMIT 2, '$resar'";
$reqar = mysql_query($sqlar) or die('Erreur SQL !<br>'.$sqlar.'<br>'.mysql_error());  
$resar = mysql_num_rows($reqar);

 
enfait cela disé bien sélectionne a partir de 2 jusquà $resar ki contient le nombre total de donnée a affiché...
 
Il me semblé que cela marcherai étant donné ke si je rentre à la place de $resar un nombre (6 par expl) cela marche tres bien et ke lorsque je fais un echo de $resar il m'affiche bien un nombre...  
 
cependant il me dit avec cette structure :
 
 
Erreur SQL !
SELECT * FROM sys_articles ORDER BY id DESC LIMIT 2, ''
Something is wrong in your syntax près de '''' à la ligne 1

 
on diré que $resar na aps de valeur... alors que ci... peut etre est ce parce que sa valeur n'est donné qu'apres la requette pour sélectionné ?? (mais si je chance de plac eil y aura tjs des probleme car toute dépende de quelqun !!)
 
Merci de m'aider :jap:
 
Rainckill


Message édité par rainckill le 06-07-2002 à 12:02:27
Reply

Marsh Posté le 06-06-2002 à 10:19:46   

Reply

Marsh Posté le 06-06-2002 à 18:21:08    

ben quoi j'ai pas tapé un post aussi jolie pour rien qd meme  :o   :D

Reply

Marsh Posté le 07-06-2002 à 12:03:00    

Î up Î

Reply

Marsh Posté le 07-06-2002 à 12:15:52    

$sqlar = "SELECT * FROM sys_articles ORDER BY id DESC LIMIT 2, $resar ";
 
ca marche ça ?

Reply

Marsh Posté le 07-06-2002 à 12:21:00    

nop :(
 
Erreur SQL !
SELECT * FROM sys_articles ORDER BY id DESC LIMIT 2,  
Something is wrong in your syntax près de '' à la ligne 1

Reply

Marsh Posté le 07-06-2002 à 12:28:15    

c'est la valeur de ta vairable $resar qui foire, elle est vide. Regarde pourquoi elle ne contient pas de donnée.

Reply

Marsh Posté le 07-06-2002 à 12:32:29    

mais je voit bien kelle est vide...
 
mais si je fais un echo apres avoir donné sa valeur, il me dit : 4 ... c corretc donc !
 
parcontr,e le SELECT '$sqlar)  est avant le num_rows ($resar) donc il trouve aps la valuer de la variable $resar (car sa valuer est annoncé apres...)
 
Tout ca est dit dans le premeir post il me semble...
 
Je demandé comment résoudre c eprobleme...
 
merci  :hello:

Reply

Marsh Posté le 07-06-2002 à 12:50:21    

Ah d'accord g compris ton prob.
V chercher ça si je peux  ;)

Reply

Marsh Posté le 07-06-2002 à 13:11:43    

rainckill a écrit a écrit :

mais je voit bien kelle est vide...
 
mais si je fais un echo apres avoir donné sa valeur, il me dit : 4 ... c corretc donc !
 
parcontr,e le SELECT '$sqlar)  est avant le num_rows ($resar) donc il trouve aps la valuer de la variable $resar (car sa valuer est annoncé apres...)
 
Tout ca est dit dans le premeir post il me semble...
 
Je demandé comment résoudre c eprobleme...
 
merci  :hello:  




 
juste j'avais pas vu la fin. Mais si tu n'initialise ta variable qu'après avoir écrit ton string, c'est normal que ca ne marche pas. Je te rappelle que le PHP est INTERPRETE, donc il n'y a pas d'optimisation via déplacement de variable ou autre. Une fois que ton string est évalué, il est stoké et on n'y touche plus, et si tu change la valeur de $resar après, ca n'a pas d'impact.

Reply

Marsh Posté le 07-06-2002 à 13:24:49    

[:content]

Reply

Marsh Posté le 07-06-2002 à 13:24:49   

Reply

Marsh Posté le 07-06-2002 à 20:46:41    

gizmo a écrit a écrit :

 
 
juste j'avais pas vu la fin. Mais si tu n'initialise ta variable qu'après avoir écrit ton string, c'est normal que ca ne marche pas. Je te rappelle que le PHP est INTERPRETE, donc il n'y a pas d'optimisation via déplacement de variable ou autre. Une fois que ton string est évalué, il est stoké et on n'y touche plus, et si tu change la valeur de $resar après, ca n'a pas d'impact.  




 
oui mais je voit aps de solution avec un autre ordre :-/
 
mais je voit aps du tout :-/

Reply

Marsh Posté le 07-06-2002 à 20:47:50    

Je@nb a écrit a écrit :

Ah d'accord g compris ton prob.
V chercher ça si je peux  ;)  




 
merci j'espère que tu trouveras le temps ;) (et ma soluce par la même :D )
 
car ca commence a me gonflé moi ki croyais ke ct juste un chtit problem :-/
 
j'attend toutes propositions :)

Reply

Marsh Posté le 07-06-2002 à 21:39:02    

C'est une solution pas très esthétique mais bon, pour l'instant je pense que on va faire comme ça :
 
//requete
$sqlar = "SELECT * FROM sys_articles ORDER BY id DESC";
if($reqar = mysql_query($sqlar)) {
//mise dans le table du permier élement
data=mysql_fetch_array($reqar);
//on fait rien avec le premier et on passe avec le 2ème direct
whyle(data=mysql_fetch_array($reqar))
{
ce que je veux
}
 .....

Reply

Marsh Posté le 07-06-2002 à 23:32:03    

oula, g vrément pas compris ton systeme la :-/
 
pourrais tu mettre plus de commentaire et expliké a fond ;) ?
 
 
et aufait, je voit un if{} et pas de else{} ... c normal ??  :heink:

Reply

Marsh Posté le 07-06-2002 à 23:44:55    

mysql_fetch_array tu c ce que c ?
C'est une fonction renvoyant à chaque fois que tu l'appelle la ligne suivante du résultat mysql ou false si il n'y a plus de lignes.
Alors là, je l'appelle une fois pour remplir $data de la première ligne, puis je le réappelle pour passer à la deuxième ligne du résultat lors du while. Quand la boucle du while se finit, ça repasse un tour et $data contient la ligne 3 ......
jusqu'à qu'il n'y est plus de ligne.
 
Après un if n'est pas obligé de contenir un else.

Reply

Marsh Posté le 08-06-2002 à 12:53:44    

euh... wé euh... enfin... euh...

Reply

Marsh Posté le 08-06-2002 à 12:53:57    

deja y auré pas un } mankant pour montré la fin du if ?

Reply

Marsh Posté le 08-06-2002 à 14:11:29    

oui il manque le } en effet.
Lit la doc sur la fonction sur php.net si tu comprend pas

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed