Avatar billede Bjarne Novice
02. juni 2006 - 21:33 Der er 6 kommentarer og
1 løsning

While-loop

Hej,

Jeg bruger en while-løkke til at udskrive nogle rækker i en MySQL-tabel. Jeg ønsker, at udskrive de fem nyeste rækker, og det fungere fint vha. "ORDER BY id DESC LIMIT 5".

Problemet opstår, når der ikke er fem rækker i tabellen. Jeg vil have udskrevet fem rækker uanset om der er fem eller flere rækker i tabellen eller ej. Dvs. hvis der ikke er nok rækker, skal løkken fortsætte til fem ved fx at udskrive "tom" på siden.

Hvorledes kan det gøres?
Avatar billede iss Novice
02. juni 2006 - 21:35 #1
Lav en $i=0 får løkken i løkken lav en $i++;

Efter løkken lav en if ($i<5) Lav en løkke der udskriver resten.
Avatar billede intenz Novice
02. juni 2006 - 21:42 #2
Uddyber lige med et eksempel:

$i = 0;
while ($sql_blabla) {
// gør en masse ting med hver linje
$i++;
}

while ($i <= 5) {
// skriv de resterende linjer
$i++;
}
Avatar billede Bjarne Novice
02. juni 2006 - 23:59 #3
jaah... det var ikke nogen nem løsning, når man har flere ting i betragtning i løkken, som må køre x antal gange.

Men det virker, så det er jo fint :)

iss: smid et svar.
intenz: smid et svar, hvis du ønsker point for dit eksempel.
Avatar billede iss Novice
03. juni 2006 - 00:01 #4
.
Avatar billede nielle Nybegynder
03. juni 2006 - 07:03 #5
02/06-2006 23:59:09> I stedet for at skrive den samme kode 2 gange, en i hver løkke, kan du eventuelt anbrunge den i en funktion som så kaldes fra hver løkke:

function GoerEnMasseTing()
{
    // gør en masse ting
}

$i = 0;
while ($sql_blabla) {
    // Gør det der er specifikt for det du får ud fra databasem
    GoerEnMasseTing();
    $i++;
}

while ($i <= 5) {
    GoerEnMasseTing();
    $i++;
}
Avatar billede intenz Novice
03. juni 2006 - 10:18 #6
Bare giv iss point
Avatar billede Bjarne Novice
04. juni 2006 - 20:12 #7
Go ide, nielle :)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester