Avatar billede jps2mt Nybegynder
14. august 2003 - 17:50 Der er 8 kommentarer og
1 løsning

Problemer med while og list

Kan dette ikke lade sig gøre??

  $sql = "SELECT ID, Dato, HPURL, HPTitle, EMail, Navn, ICQ, Content, IP, DATE_FORMAT(Dato, '%d-%m-%Y  %H:%i:%s') AS date from Guestbook ORDER BY Dato DESC LIMIT ".$lmtStart.",".$lstSize;

  $result = $dbconn->Execute($sql);
  while (list($_ID, $_Dato, $_HPURL, $_HPTitle, $_EMail, $_Navn, $_ICQ, $_Content, $_IP, $_date) = $result->fields) {

... PHP script ...

}

Med det får jeg bare en blank side, fjerner jeg while, og laver list... udenom en løkke virker det fint, bortset fra at den ikke gentager løkken så længe der er data i DB'en...

/BlackChart
Avatar billede detox Nybegynder
14. august 2003 - 17:58 #1
Hvis det er MySQL, skal du være opmærksom på, at 'date' er et reserveret ord.
Avatar billede erikjacobsen Ekspert
14. august 2003 - 18:00 #2
Avatar billede jakoba Nybegynder
14. august 2003 - 18:01 #3
nej. det du får tilbage fra en sql query er er 'result_resource' det er ikke et array (og slet ikke en enkelt række).

Jeg tror det du mener er:

while ( $row = mysql_fetch_row( $result ) ) { // test of hent een række
    list( $_ID, $_Dato, $_HPURL, $_HPTitle, $_EMail, $_Navn, $_ICQ, $_Content, $_IP, $_date) = $result->fields) = $row;
    // brug data fra den række ...
} //end of while

men det du skriver "$result->fields" kunne tyde på at det ikke er en standard result resource du får, så måske ikke.

mvh JakobA
Avatar billede detox Nybegynder
14. august 2003 - 18:06 #4
erikjacobsen-> Korrekt, der var jeg lidt for hurtigt ude.
Avatar billede jps2mt Nybegynder
14. august 2003 - 18:11 #5
Det er til PostNuke så dit forslag, jakoba, kan jeg desværre ikke bruge, og det er desuden sådan som du gør, at jeg under normale omstændigheder ville gøre...
Avatar billede jps2mt Nybegynder
14. august 2003 - 18:12 #6
http://www.blackchart.dk/index.php?module=BC_Guestbook <- Adressen på scriptet, så kan i selv se hvor meget (lidt!) den returnerer :(
Avatar billede erikjacobsen Ekspert
14. august 2003 - 18:47 #7
Husker du at sige

  $result->next();

eller hvad det nu hedder for at komme til næste række (jeg kender ikke
lige den klasse du bruger)
Avatar billede jps2mt Nybegynder
14. august 2003 - 19:18 #8
Fandt lige ud af at den class postnuke bruger til DB kald er ADODB version V2.50 14 Nov 2002...Hvis det er til nogen hjælp...

Synes også at få det ud af koden at fields returneres som et array...
Avatar billede jps2mt Nybegynder
14. august 2003 - 20:45 #9
Fik det til at virke...

Det her er den rigtige måde at formulere det på:

  $sql = "SELECT ID, Dato, HPURL, HPTitle, EMail, Navn, ICQ, Content, IP, DATE_FORMAT(Dato, '%d-%m-%Y  %H:%i:%s') AS date from Guestbook ORDER BY Dato DESC LIMIT ".$lmtStart.",".$lstSize;

  $result = $dbconn->Execute($sql);
  for (; !$result->EOF; $result->MoveNext()) {

      ...PHP-kode...

  }
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