Avatar billede cpfrande Nybegynder
17. februar 2003 - 20:31 Der er 13 kommentarer og
1 løsning

Delvis løkke til at tælle nedaf...

Hey !

Hvorfor vil denne løkke ikke virke?
Den skriver bare variablen $kom_left_id ud og gør den ikke mindre...

<?
$antal_kommentarer = 20;
$kom_start = 0;

$res_kommentar = mysql_query("SELECT id FROM kommentarer WHERE nyhedsid='$uid' ORDER BY id DESC LIMIT $kom_start,$kom_pr_side")or die(mysql_error());
while($db_kommentar = mysql_fetch_array($res_kommentar)) {

$kom_left_id = $antal_kommentarer - $kom_start;

$kom_id = $kom_left_id;

print"$kom_id";
}
?>
Avatar billede nyhjem Nybegynder
17. februar 2003 - 20:43 #1
Du trække ikke noget fra nogensteder, og du bruger ikke dit database udtræk til noget?
Avatar billede rzj Nybegynder
17. februar 2003 - 20:47 #2
i while-løkken:

$kom_left_id = 20 - 0;
$kom_left_id = 20;
$kom_id = 20;
print "20";
}
$kom_start ændres ikke i løkkens gennemløb
$antal_kommentarer ændres ikke i løkkens gennemløb
--> derfor er $kom_id altid 20.
/raz
Avatar billede rzj Nybegynder
17. februar 2003 - 20:47 #3
nå, ja og det var jo sådan set et svar ;-)
Avatar billede cpfrande Nybegynder
17. februar 2003 - 22:06 #4
ups, min fejl... jeg skrev min egen kode ind...
Denne linie "$kom_id = $kom_left_id;" ser sådan her ud:
$kom_id = $kom_left_id--;

nyhjem =>> Mit database udtræk bruges, du ser det bare ikke fordi jeg har forkortet min kode!
Avatar billede rzj Nybegynder
18. februar 2003 - 10:49 #5
aha, ja så ser det jo sådan ud:
$kom_left_id = 20 - 0;
$kom_left_id = 20;
$kom_id = 20--;
print "19";
}
næste gennemløb nøjagtigt de samme tal => print "19";
du bruger jo 'konstanterne' her:
$kom_left_id = $antal_kommentarer - $kom_start;
og deres værdi ændres jo ikke i løkken, vel ;-)
altså er $kom_left_id = 20 - 0;
for hvert gennemløb og derfor får du print "19" hvergang.
/raz
Avatar billede nyhjem Nybegynder
18. februar 2003 - 17:22 #6
Tilføj $kom_start++; efter denne linie, så virker det.

$kom_left_id = $antal_kommentarer - $kom_start;
Avatar billede cpfrande Nybegynder
18. februar 2003 - 17:38 #7
Nej, nyhjem =>> Så lægger den til... den skal vel trække fra ?
Avatar billede nyhjem Nybegynder
18. februar 2003 - 17:44 #8
$kom_left_id = $antal_kommentarer - $kom_start; // kom_left_id = 20-0
$kom_start++; // kom_start = 1
$kom_id = $kom_left_id; // kom_id = 20

Næste gang:
$kom_left_id = $antal_kommentarer - $kom_start; // kom_left_id = 20-1
$kom_start++; // kom_start = 2
$kom_id = $kom_left_id; // kom_id = 19

Den trækker altså fra :)
Avatar billede cpfrande Nybegynder
18. februar 2003 - 17:47 #9
:)
du har jo ret... hehe, tjoooo, lav det da lige til et svar :))

takker for hjælpen alle !

| frande
| www.frande.dk
Avatar billede nyhjem Nybegynder
18. februar 2003 - 17:54 #10
Det var da så lidt :)
Avatar billede rzj Nybegynder
18. februar 2003 - 19:36 #11
nå, ok  - du ville også have at vide HVORDAN den rigtige løkke skulle se ud....
Det fremgå IKKE af dit spg. ;-)
flot nok...
/raz
Avatar billede cpfrande Nybegynder
18. februar 2003 - 19:41 #12
Sorry rzj, havde faktisk ikke set dit svar !

| frande
Avatar billede rzj Nybegynder
18. februar 2003 - 19:50 #13
det går nok. Det er bare ikke altid at spg. er så præcist formuleret herinde. Nogen gange kan det jo godt være at folk bare vil vide lidt om hvordan de kan debugge og aå arbejde videre med at få løst problemet selv. Så hvis spg. ikke lægger tydeligt op til at jeg også skal komme med et løsningsforslag så gør jeg det som regel ikke....men det er min holdning...
/raz
Avatar billede cpfrande Nybegynder
18. februar 2003 - 19:52 #14
Jeg har heller ikke bedt om et direkte løsningsforslag, men at få afvide om der var en fejl i min kodning osv... :)

Men takker for hjælpen !
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