Avatar billede krk Nybegynder
04. april 2005 - 12:39 Der er 12 kommentarer og
1 løsning

antal rækker i databasen

Hovrdan tæller man hvor mange rækker der er i databasen ?

Skal jeg have kørt hele databasen i gennem et loop for at finde tallet ?
Avatar billede barklund Nybegynder
04. april 2005 - 12:41 #1
Du kan gøre det som:

$antal_rækker = mysql_result(mysql_query("SELECT COUNT(1) from tabel"), 0);

Men du mener nok at du vil tælle antal rækker i en tabel - og ikke i en database. :)

--
Morten Barklund
Avatar billede michael_stim Ekspert
04. april 2005 - 12:41 #2
mysql_num_rows()
Avatar billede krk Nybegynder
04. april 2005 - 12:43 #3
ja, lille skrive fejl. Selvfølgelig fra en tabel :-)
Avatar billede michael_stim Ekspert
04. april 2005 - 12:44 #4
$result = mysql_query("SELECT * FROM table1", $link);
$num_rows = mysql_num_rows($result);

echo "$num_rows Rows\n";

//Taget fra php.net ;o)
Avatar billede barklund Nybegynder
04. april 2005 - 12:50 #5
Jeg vil nu - hvis man ikke skal bruge rækkerne men kun antallet - klart rekommandere at man bruger COUNT - det er højst sandsynligt hurtigere for både PHP og MySQL :)
Avatar billede michael_stim Ekspert
04. april 2005 - 12:57 #6
Hvorfor er det hurtigere barklund, den skal vel tälle räkkerne lige meget hvad (ikke fordi jeg ikke tror på dig, kan bare ikke se hvorfor).
Avatar billede barklund Nybegynder
04. april 2005 - 13:03 #7
Hvis du beder om alle rækkerne (som SELECT * gør), så vil MySQL forberede at du skal til at modtage alle rækkerne og lægge dem klar i en eller anden forstand. At du så ikke henter dem men bare spørger MySQL om, hvor mange den nu engang har lagt klar til dig ændrer ikke på, at de er hentet frem.

Men hvis du kun beder om, at du vil have at vide, hvor mange rækker der er, så vil MySQL (der er ganske optimeret til den slags) blot kigge på, hvor mange der er og kun lægge dette tal klar til PHP'en - og ikke andet.

Jeg skal ikke kunne sige, at jeg ved hvordan MySQL virker internt - men jeg tror nu, at det ikke er helt ved siden af :)

--
Morten Barklund
Avatar billede michael_stim Ekspert
04. april 2005 - 13:06 #8
OK, kan godt se at det vil väre noget hurtigere, hvis man har 100000-vis tupler i sin tabel. Ellers er der vist ikke den store forskel (tror jeg).

//Michael
Avatar billede krk Nybegynder
04. april 2005 - 13:08 #9
Jeg har fået begge løsninger til at virke så i må dele point .  ;-)
Tak for hjælpen
Avatar billede michael_stim Ekspert
04. april 2005 - 13:11 #10
Bare giv dem til barklund, han var först med lösningen.
Avatar billede barklund Nybegynder
04. april 2005 - 13:11 #11
Helt fint :)
Avatar billede krk Nybegynder
04. april 2005 - 13:12 #12
Det bestemmer I.
Avatar billede barklund Nybegynder
04. april 2005 - 13:39 #13
Tark for points :)
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