Avatar billede ofirpeter Nybegynder
04. juli 2006 - 16:00 Der er 7 kommentarer og
2 løsninger

Speciel sidste række i Sql kald

Hej eksperter, jeg hiver som så mange gange før en masse data ud af en tabel i MySQL. Mine data udskriver jeg som følger:

Data1 ,
Data2 ,
Data3 ,
Data4 ,
osv.

Jeg har dog et problem, jeg ønsker ikke at der skal komma efter den sidste række ( I dette tilfælde Data4). Hvordan undgår jeg det komma?

Jeg skriver ud på denne måde nu:
while(...){
  echo "$data , ";
}

Med venlig hilsen
Peter
Avatar billede pidgeot Nybegynder
04. juli 2006 - 16:40 #1
Hvad med den her?

$j=false;
while(...){
  if ($j)
    echo ' , ';
  else
    $j=true;
  echo "$data";
}
Avatar billede michael_stim Ekspert
04. juli 2006 - 16:40 #2
$i=0;
while(...){
  if($i==3){
  echo $data;
  }
  else{
  echo $data." , ";
  }
  $i++;
}
Avatar billede michael_stim Ekspert
04. juli 2006 - 16:46 #3
Hvis det er et dynamisk antal (hvilket det jo nok er), kan du bruge num_rows:
$num_rows = mysql_num_rows($result);
Hvilket giver antal räkker.
Avatar billede taskmgr Nybegynder
04. juli 2006 - 17:16 #4
Eller blot:

$arr = array();
while(...){
  $arr[] = $data;
}
echo implode(" ,", $array);
Avatar billede taskmgr Nybegynder
04. juli 2006 - 17:17 #5
Det var:
echo implode(" ,", $arr);
Avatar billede Slettet bruger
05. juli 2006 - 02:20 #6
Det er temmelig meget hurtigere, hvis koden i stedet for at udskrive løbende samler udskriften i en streng, som så udskrives bagefter. (Forskellen mærkes naturligvis bedst ved lange udskrifter.) Dette kan i dette tilfælde gøres med taskmgrs metode. En anden (men meget lignende) er:

$samlet='';
while(...){
  $samlet .= $data . " , ";
}
echo substr($samlet, 0, -3);
Avatar billede ofirpeter Nybegynder
05. juli 2006 - 10:38 #7
Tak for alle svarene. Jeg brugte til dels sandbox og michael_stims løsninger, i må begge gerne smide et svar. Tak.
Avatar billede michael_stim Ekspert
05. juli 2006 - 11:12 #8
You're welcome ;o)
Avatar billede Slettet bruger
05. juli 2006 - 15:30 #9
Velbekomme
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