If-statement stopper WHILE-loop

Tags:    php

Hej udviklere

Jeg er igang med at lave noget databasearbejde i PHP og MySql. Når jeg henter noget fra min database, så bruger jeg et WHILE-loop til at hente alt den data, som ligger i min database. Mit problem er så, at jeg gerne vil undlade de første 5 resultater. Dette har jeg gjort ved at indsætte et if-statement i mit while loop. Det kan se ud som dette: (Bare en lille skitse for at vise mit scripts opbygning)

Fold kodeboks ind/udKode 


Mit problem er nu, at hvis mit IF-statement får et negativt output. Altså hvis $Row i mit eksempel rent faktisk er mindre end 5, så printer den ikke noget ud, som den skal. Men den stopper tilsyneladende også mit script, for jeg får ikke noget output ud af mit script, når jeg gør dette.

Hvis jeg til gengæld siger at $Row skal være mindre end 5, så virker det fint. Det giver mig bare et output med de første fem rækker af data (Dem jeg ville undgå)

Er der nogen, der kan hjælpe mig med det?



Indlæg senest redigeret d. 30.06.2008 14:34 af Bruger #13254
5 svar postet i denne tråd vises herunder
2 indlæg har modtaget i alt 4 karma
Sorter efter stemmer Sorter efter dato
Jeg tror du gør det for indviklet for dig selv, istedet for at hive al data ud og finde rundt i det, burde du måske nøjes med kun at hive det data ud som du rent faktisk skal bruge.

Du kan f.eks. bruge en LIMIT i din SQL:

$result = mysql_query("SELECT * FROM " . $DBnavn . " ORDER BY $order LIMIT $PB,$P");

Edit: Bemærk N bliver forhøjet i din if-sætning. Hvis forhøjelsen er betinget, kan du ikke altid regne med at N er det samme som den row du er nået til i den overordnede løkke. Derfor er din kode 100% afhængig af N's værdi.



Indlæg senest redigeret d. 30.06.2008 15:37 af Bruger #955
Wildcards fungerer lige som alle andre wildcards, eller asterix som jeg nok hellere ville kalde det.



Kan ikke umiddelbart se nogen fejl med det, måske du kan poste noget mere kode? Ellers hvis du bare vil springe nogle "rows" over, kan du bruge mysql_data_seek()http://dk2.php.net/manual/en/function.mysql-data-seek.php



Det her må være det, som den er gal med:

Fold kodeboks ind/udKode 




Ah tak!!!! Jeg elsker, når noget bare virker! Et par ændringer og lidt læsen om LIMIT, og så var den der :D

Tusind tak for det.

Hm... Jeg har også et andet problem, som det kan være at du kan hjælpe mig med. Jeg har lavet en lille søgemaskine, som søger i min MySql database. Men mit problem er, at det virker til, at den kun godtager, hvis ordet, som jeg har søgt på, ligger midt inde i en sætning eller et ord??? Jeg tror måske, at det kan have noget at gøre med at jeg har brugt MySql WILDCARDS til søgningen, og jeg ikke har gjort det korrekt. Men jeg kunne simpelthend ikke finde nogen artikler om dem noget sted på nettet. Min Query er:

Fold kodeboks ind/udKode 


Ved du noget om hvordan WILDCARDS fungerer?



t