count het aantal rows
Code (php)
1
2
3
4
5
6
7
8
9
2
3
4
5
6
7
8
9
<?php
$query = "SELECT COUNT(nummer) FROM users";
$result = mysql_query($query) or die("Database SELECT Error");
mysql_close();
echo "<b>$result</b> Accounts";
?>
$query = "SELECT COUNT(nummer) FROM users";
$result = mysql_query($query) or die("Database SELECT Error");
mysql_close();
echo "<b>$result</b> Accounts";
?>
Resource id #3 Accounts
dit krijg ik als result.
Tevens zou ik willen weten of er ook een manier is om het totaal van een rij zo kan uitlezen zonder gebruik te maken van een while loop, maar dat wil volgens mij niet?
Je vergeet te fetchen, dan is het logisch dat het fout gaat. Een alias voor de COUNT() is ook handig, maar niet noodzakelijk. Fetchen is wel noodzakelijk.
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<?php
$query = "SELECT COUNT(nummer) FROM users";
$result = mysql_query($query) or die("Database SELECT Error");
$count = mysql_fetch_row($result);
mysql_close();
$i = 1;
$total= 0;
while ($i <= $count[0]) {
echo $count[$i];
$i++;
}
echo "<br><br><b>$count[0]</b> Accounts";
?>
$query = "SELECT COUNT(nummer) FROM users";
$result = mysql_query($query) or die("Database SELECT Error");
$count = mysql_fetch_row($result);
mysql_close();
$i = 1;
$total= 0;
while ($i <= $count[0]) {
echo $count[$i];
$i++;
}
echo "<br><br><b>$count[0]</b> Accounts";
?>
het enige wat die daar nog niet doet is de waardes weergeven in die array...
Code (php)
1
2
3
4
5
6
7
8
9
2
3
4
5
6
7
8
9
<?php
$query = "SELECT COUNT(nummer) FROM users";
$result = mysql_query($query) or die('Database SELECT Error');
$row = mysql_fetch_assoc($result);
$count = $row['COUNT(nummer)'];
mysql_close();
echo '<br><br><b>'.$count.'</b> Accounts';
?>
$query = "SELECT COUNT(nummer) FROM users";
$result = mysql_query($query) or die('Database SELECT Error');
$row = mysql_fetch_assoc($result);
$count = $row['COUNT(nummer)'];
mysql_close();
echo '<br><br><b>'.$count.'</b> Accounts';
?>
netter en begrijpelijker
Code (php)
1
2
3
4
5
6
7
8
9
2
3
4
5
6
7
8
9
<?php
$query = "SELECT COUNT(nummer) totalAccounts FROM users";
$result = mysql_query($query) or die('Database SELECT Error');
$row = mysql_fetch_assoc($result);
$count = $row['totalAccounts'];
mysql_close();
echo '<br><br><b>'.$count.'</b> Accounts';
?>
$query = "SELECT COUNT(nummer) totalAccounts FROM users";
$result = mysql_query($query) or die('Database SELECT Error');
$row = mysql_fetch_assoc($result);
$count = $row['totalAccounts'];
mysql_close();
echo '<br><br><b>'.$count.'</b> Accounts';
?>
En gebruik geen or die, maar een fatsoenlijke foutafhandeling waarbij je mysql_error() en het SQL-Statement kan bekijken
Edit: moet je wel correcte voorbeelde geven: $count[0] omgezet naar $count
@Jezpur, waar heb je het over........
Gewijzigd op 01/01/1970 01:00:00 door Noppes
@Noppes: nog correcter door die variabele buiten de quotes te halen ;-).
Ik probeer ook het toaal aantal in 'nummer' te weten te komen zodat ik tot een gemiddelde kan komen (totaal/accounts) dat was mijn vraag bij de tweede post.
De rest is al voorgekauwd
Klaasjan Boven schreef op 08.06.2008 21:21:
Ik denk niet dat die gemiddelde hoeft, want volgens mij is nummer een soort van id. De TS'er wilt nammelijk weten hoeveel accounts er zijn.
pgFrank schreef op 09.06.2008 06:36:
Resource id #3
krijg ik dan als uitkomst.
en de andere manieren lukte me ook niet :s
Folkert schreef op 10.06.2008 17:12:
Fetch het resultset nou eens....
Code (php)
1
2
3
4
5
6
7
2
3
4
5
6
7
<?php
$query = "SELECT * FROM users";
$res = mysql_query($query, connection('u db');
$aantal = mysql_num_rows($res);
echo $aantal;
?>
$query = "SELECT * FROM users";
$res = mysql_query($query, connection('u db');
$aantal = mysql_num_rows($res);
echo $aantal;
?>
output:
Het aantal rijen dat die query heeft
Gewijzigd op 01/01/1970 01:00:00 door Mr.Moe
Ja, dat alleen mist er nog foutafhandeling.
Jezpur schreef op 10.06.2008 17:16:
zal wel aan mij liggen maar ik heb verschillende fetches geprobeerd maar het lukt me niet :s
Maar nog steeds hebben we hier gene PHP code gezien dat jij iets fetcht.
$result3 = $row['gemiddelde'];
$result4 = mysql_fetch_row($result);
is wat ik probeerde
Maar goed, mij is nu eigenlijk nog steeds niet echt duidelijk wat je probeert te bereiken of met welke code...
Ik probeer op dit moment het gemiddelde van en rij te krijgen.
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
2
3
4
5
6
7
8
9
10
11
12
<?php
$query = "SELECT AVG(nummer) AS gemiddelde FROM users";
$result = mysql_query($query) or die("Database SELECT Error");
$result2 = mysql_fetch_assoc ($result);
// $result3 = $row['gemiddelde'];
// $result4 = mysql_fetch_row($result);
mysql_close();
echo "<br><br><b>$result2</b> Average";
?>
$query = "SELECT AVG(nummer) AS gemiddelde FROM users";
$result = mysql_query($query) or die("Database SELECT Error");
$result2 = mysql_fetch_assoc ($result);
// $result3 = $row['gemiddelde'];
// $result4 = mysql_fetch_row($result);
mysql_close();
echo "<br><br><b>$result2</b> Average";
?>
RemeysenThomas schreef op 10.06.2008 17:44:
Kan zijn dat ik helemaal verkeerd zit hoor, maar volgens mij gaat het zo ook
output:
Het aantal rijen dat die query heeft
Code (php)
1
2
3
4
5
6
7
2
3
4
5
6
7
<?php
$query = "SELECT * FROM users";
$res = mysql_query($query, connection('u db');
$aantal = mysql_num_rows($res);
echo $aantal;
?>
$query = "SELECT * FROM users";
$res = mysql_query($query, connection('u db');
$aantal = mysql_num_rows($res);
echo $aantal;
?>
output:
Het aantal rijen dat die query heeft
Je zit inderdaad verkeerd.
Het resultaat zal wel goed zijn. Maar hier vertel je tegen MySQL dat deze alle rijen uit de tabel moet halen. De enige juiste queries zijn:
Hiermee vertel je dat MySQL alle rijen moet gaan tellen.
In PHP is dat dan:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<?php
// Hier boven is al verbinding gemaakt met de database
$sQry = 'SELECT COUNT(1) FROM gebruikers';
if( !$rQuery = mysql_query($sQry) )
{
// die() is misschien niet al te netjes...
die(mysql_error());
}
list($iAantalRijen) = mysql_fetch_row($rQuery);
echo 'Aantal rijen in tabel gebruikers is: ', $iAantalRijen;
?>
// Hier boven is al verbinding gemaakt met de database
$sQry = 'SELECT COUNT(1) FROM gebruikers';
if( !$rQuery = mysql_query($sQry) )
{
// die() is misschien niet al te netjes...
die(mysql_error());
}
list($iAantalRijen) = mysql_fetch_row($rQuery);
echo 'Aantal rijen in tabel gebruikers is: ', $iAantalRijen;
?>
Gewijzigd op 01/01/1970 01:00:00 door Martijn B
Folkert schreef op 10.06.2008 19:22:
nee dat waren een paar van de dingen die ik geprobeerd had.
Ik probeer op dit moment het gemiddelde van en rij te krijgen.
Ik probeer op dit moment het gemiddelde van en rij te krijgen.
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
2
3
4
5
6
7
8
9
10
11
12
<?php
$query = "SELECT AVG(nummer) AS gemiddelde FROM users";
$result = mysql_query($query) or die("Database SELECT Error");
$result2 = mysql_fetch_assoc ($result);
// $result3 = $row['gemiddelde'];
// $result4 = mysql_fetch_row($result);
mysql_close();
echo "<br><br><b>$result2</b> Average";
?>
$query = "SELECT AVG(nummer) AS gemiddelde FROM users";
$result = mysql_query($query) or die("Database SELECT Error");
$result2 = mysql_fetch_assoc ($result);
// $result3 = $row['gemiddelde'];
// $result4 = mysql_fetch_row($result);
mysql_close();
echo "<br><br><b>$result2</b> Average";
?>
iemand een idee waarom ik hiermee niet het gemiddelde krijg?