Avatar billede xbobby Nybegynder
11. marts 2004 - 14:47 Der er 9 kommentarer og
1 løsning

Hente data fra en tabel i MySQL til PHP

Jeg har brug for lidt hjælp til MySQL i PHP

Jeg har brug for at hente svar fra en tabel i MySQL, lad os bare kalde den for ”tabel”, i tabellen er der en række, som vi kunne kalde for ”fornavn”.

Jeg ønsker så at alt hvad der er i den tabel, som ligger kolonnen ”fornavn” bliver hentet ind i et PHP dokument.

Derefter ønsker jeg at få PHP til at udskrive, det som den har hentet fra databasen på selve siden i et PHP dokument.

Hvordan gør jeg det?
Avatar billede Slettet bruger
11. marts 2004 - 14:56 #1
Den korte løsning:

<?php

$result=mysql_query("SELECT fornavn FROM tabel");
while($row=mysql_fetch_assoc($result)){
  echo $row['fornavn'];
  echo "\n";
}
?>
Avatar billede detox Nybegynder
11. marts 2004 - 14:59 #2
Og du skal selvfølgelig lige lave en forbindelse til databasen først:

$con = mysql_connect("HOST", "BRUGER", "PASSWORD") or die(mysql_error());
$db = mysql_select_db("DATABASENAVN") or die(mysql_error());
Avatar billede Slettet bruger
11. marts 2004 - 15:06 #3
*BONK* (Ja, det var lyden af mit hoved, der bankede ned i bordet.)

detox har helt ret.

Og bare for en ordens skyld kan det være en god ide at tilføje or die(mysql_error()) til mysql_query-linien også:

$result=mysql_query("SELECT fornavn FROM tabel") or die(mysql_error());
Avatar billede xbobby Nybegynder
11. marts 2004 - 16:08 #4
Hej sandbox - det var lige hvad jeg havde brug for - så der er 30 point på vej til dig - tak fra en :-) og tak også til dig detox uden forbindelse kommer man ikke så langt.

Hvis I har lyst - så har jeg et spørgsmål til som ligger ud over det spørgsmål som jeg stillede.

Hvis jeg nu i stedet for hele kolonnen "fornavn" kun ønsker fra f.eks nr 1 til nr 5, og lad os sige at der er en ekstra kolonne som hedder "id", id" og som så får værdien 1 for række 1 og værdien 2 for række 2 og så fremdeles for hver ny række.

Kan I så greje hvordan man gør det?

Hvis
Avatar billede detox Nybegynder
11. marts 2004 - 16:17 #5
Så kan du bruge "LIMIT startrække, antal" (første række er: 0):

$result=mysql_query("SELECT id, fornavn FROM tabel LIMIT 0,5");
Avatar billede xbobby Nybegynder
11. marts 2004 - 17:34 #6
TAK FOR HJÆLPEN detox - Det funker i stor stil :-)
Avatar billede detox Nybegynder
11. marts 2004 - 19:17 #7
Velbekommen
Avatar billede Slettet bruger
12. marts 2004 - 00:16 #8
MySQL garanterer ikke nogen bestemt orden, hvis man ikke selv beder den sortere, så nu vil jeg tillade mig at rette på detox's svar:

$result=mysql_query("SELECT id, fornavn FROM tabel ORDER BY id LIMIT 0,5");

Sålænge du er interesseret i at få dem i oprettelsesrækkefølge, så vil det normalt være de rigtige, du får, men i princippet kan man ikke være sikker uden at præcisere det.
Avatar billede detox Nybegynder
12. marts 2004 - 00:30 #9
sandbox -> Der var det vidst mig som sov ;o)
Avatar billede Slettet bruger
12. marts 2004 - 01:08 #10
Sålænge vi bare skiftes går det nok også. ;-) Så kan den anden fange fejlene.
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