SELECTION A PARTIR DE LA LIGNE 2 ! comment ? [Php] - PHP - Programmation
Marsh Posté le 06-06-2002 à 18:21:08
ben quoi j'ai pas tapé un post aussi jolie pour rien qd meme
Marsh Posté le 07-06-2002 à 12:15:52
$sqlar = "SELECT * FROM sys_articles ORDER BY id DESC LIMIT 2, $resar ";
ca marche ça ?
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
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.
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
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 |
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.
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 :-/
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 )
car ca commence a me gonflé moi ki croyais ke ct juste un chtit problem :-/
j'attend toutes propositions
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
}
.....
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 ??
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.
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
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
Rainckill
Message édité par rainckill le 06-07-2002 à 12:02:27