tæl antal rækker i tabel?

Tags:    databaser

<< < 12 > >>
Hej allesammen... Jeg leder efter et lille "MySQL-script", som tæller hvor mange rækker der er i en tabel hvor eksempelvis "number" = 3... altså

prøvede lige lidt selv, men det skal siges at jeg er 100% nybegynder :D... håber I kan bære over med mig :P

Fold kodeboks ind/udKode 


...og det virkede da overhovedet ikke :P hehe
På forhånd tak :D



14 svar postet i denne tråd vises herunder
4 indlæg har modtaget i alt 5 karma
Sorter efter stemmer Sorter efter dato
<?include("config.php");
$res =mysql_query("select COUNT(*) from testtable where number = 3") or die(mysql_error());
list($antal)=mysql_fetch_row($res);
echo $antal;

?>



forstår jeg dig ret, vil du i en tabel tælle antal forekomster der kommer af din forespørgsel..

her er en "flot" tabel.

Fold kodeboks ind/udKode 


skriver jeg her:

SELECT COUNT(*) as antal where number = 3;

vil antal være = 3.

SELECT COUNT(*) as antal where number = 2;

vil antal være = 1.

SELECT COUNT(*) as antal where number = 1;

vil antal være = 2.

Leg eventuelt lidt med det selv i phpmyadmin eller et eller andet program til at køre querys. Hvis det er php delen du forventer jeg laver, så stil det i php forummet i stedet :)

Hvis det ikke er count du mener, eller jeg har misforstået dig, skal du lige beskrive yderligere.




Indlæg senest redigeret d. 19.02.2007 20:59 af Bruger #5789
<?php include("config.php");

$query = mysql_query("SELECT * FROM testtable WHERE NUMBER = '3'");
$row = mysql_num_rows($query);

echo $row;

?>

Sådan ville jeg gøre.

Jokke Jensen, husk i php så gør " og ' ting tekst.

Dvs. echo "$row"; skriver bare $row og ikke varibalen :)



I er faktisk på sporet, men du får jo returneret et array i $row, så hvis du vil kende værdien af "antal", skal du referere til $row["antal"].

Fold kodeboks ind/udKode 


Alternativt kan du faktisk returnere helt dataset'et og benytte funktionen mysql_num_rows til at få antallet af rækker i datasettet. Således kan du få både antal og dataset på een gang, hvilket er smart i mange sammenhænge.

Lad os høre hvad du finder ud af.



Indlæg senest redigeret d. 20.02.2007 13:12 af Bruger #8448
select count(*) as antal .....



select count(*) as antal .....


Fold kodeboks ind/udKode 




Indlæg senest redigeret d. 19.02.2007 19:54 af Bruger #5789
"antal"? ska der bare stå det? eller ska jeg skifte det ud?



jeg ved ikke om det behøves..

Men normalt skal man kende navnet på kolonnen..

skriver du select count(*) from testtabel

så ved du ikke hvad du skal hente ud..

Jeg kender nada til php, og ved ikke om det forventer man kender kolonne navnet..

i c#

ville jeg så efterfølgende skrive:

int i = System.Convert.ToInt32(Row("antal")); , der skal jeg altså kende den.. eller skrive Row(0) udfra index nummeret..

Antal er nok ikke nødvendigt i dit tilfælde..



tror måske du har misforstået mig (eller også har jeg formuleret mig forkert :P)
den skal tælle hvor mange rækker der er som fx har 2 "hits" eller et eller andet andet ...



ja præcis :D
tak, men ka ikke lige få det til at virke :P



<< < 12 > >>
t