Avatar billede arj79 Nybegynder
02. marts 2004 - 08:38 Der er 7 kommentarer og
1 løsning

Hente fra mysql

Jeg sidder og er ved at blive sindsyg.
jeg har lavet en temlig stor side i php hvor jeg henter en masse ting fra en mysql db. jeg henter det ved at lave en select og så skriver jeg fx. echo $myrow[3];
hvis jeg vil vise celle 3.
jeg ville lige høre om der er nogen der har fundet en måde hvor på man kan få vist celle 3 (den hedder "fra") inhold ved at skrive echo $myrow[fra];
Avatar billede squashguy Nybegynder
02. marts 2004 - 08:42 #1
du bruger blot mysql_fetch_array() i stedet for mysql_fetch_row()
Avatar billede erikjacobsen Ekspert
02. marts 2004 - 08:51 #2
Og så hedder det ikke $myrow[fra]; men $myrow['fra'];
Avatar billede kgp43 Nybegynder
02. marts 2004 - 10:28 #3
Jeg bruger denne her:

$query = mysql_query("SELECT * FROM table");
while($row = mysql_fetch_array($query)) {

echo $row['fra'];
}

Herefter laver den et output over alt du har i rækken "fra".
Avatar billede kgp43 Nybegynder
02. marts 2004 - 10:28 #4
og det var et svar
Avatar billede Slettet bruger
02. marts 2004 - 12:57 #5
Og hvis du alligevel hellere vil bruge navne end numre på kolonnerne, kan jeg anbefale at bruge mysql_fetch_assoc() i stedet for mysql_fetch_array().

_array() sender nemlig indholdet dobbelt (medmindre man giver den besked om andet.) Når man bruger den, får man det både nummerbaseret og navnebaseret.
Avatar billede kgp43 Nybegynder
02. marts 2004 - 15:24 #6
Ahh... vil det sige at man spare noget trafik der?
Avatar billede Slettet bruger
02. marts 2004 - 23:12 #7
Det er nok mere RAM man sparer, men det kommer lidt an på, hvordan PHP håndterer arrayet internt. Der kan måske også være en lille tidsforskel, men det er nok så minimalt, at man skal lave en stor test for at måle det.

Den vigtigste fordel er nok, at det er lettere at arbejde med et array, der kun indeholder det, man har brug for. Se for eksempel denne søde lille funktion:

function lavTabel($sql){
  echo "<table>\n";
  $result=mysql_query($sql);
  $firstline=true;
  while($row=mysql_fetch_assoc($result)){
    if($firstline){
      echo "<tr>\n";
      foreach($row as $navn => $vaerdi){
        echo "<th>$navn</th>\n";
      }
      echo "</tr>\n";
      $firstline=false;
    }
    echo "<tr>\n";
    foreach($row as $vaerdi){
      echo "<td>$vaerdi</td>\n";
    }
    echo "</tr>\n";
  }
  echo "</table>\n";
}

Denne lille funktion kan udskrive en tabel af resultatet af enhver query med pæne overskrifter. (Hvis kolonnerne i tabellen ikke har pæne navne, kan du give dem et nyt alias i din query.) Den bruges f.eks. således:

lavTabel("SELECT navn AS Navn, tlf AS Telefon FROM kunder ORDER BY navn");
Avatar billede kgp43 Nybegynder
03. marts 2004 - 13:30 #8
det var jo smart :)
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