count het aantal rows

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Pagina: 1 2 volgende »

Folkert

Folkert

08/06/2008 18:39:00
Quote Anchor link
Ik zou graag willen weten hoeveel rijen er zijn zonder een while loop te doen, ik dacht dat het zo moest nadat ik het ergens op een site zag maar het werkt niet

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
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";
?>


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?
 
PHP hulp

PHP hulp

08/01/2025 23:29:34
 
Frank -

Frank -

08/06/2008 18:43:00
Quote Anchor link
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.
 
Folkert

Folkert

08/06/2008 19:13:00
Quote Anchor link
Bedankt het fetchen heeft gewerkt op het totaal.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
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";
?>


het enige wat die daar nog niet doet is de waardes weergeven in die array...
 
Noppes

Noppes

08/06/2008 19:28:00
Quote Anchor link
Wat is dat voor een oplossing?
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
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';
?>


netter en begrijpelijker
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
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';
?>


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
 
Jesper Diovo

Jesper Diovo

08/06/2008 19:46:00
Quote Anchor link
@Noppes: nog correcter door die variabele buiten de quotes te halen ;-).
 
Folkert

Folkert

08/06/2008 19:59:00
Quote Anchor link
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.
 
Noppes

Noppes

08/06/2008 20:08:00
Quote Anchor link
SELECT nummer,COUNT(*) totalN FROM users GROUP BY nummer

De rest is al voorgekauwd
 
Klaasjan Boven

Klaasjan Boven

08/06/2008 21:21:00
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
SELECT COUNT(*), COUNT(*)/SUM(nummer) AS gemiddelde FROM users
GROUP BY nummer
 

08/06/2008 22:47:00
Quote Anchor link
Klaasjan Boven schreef op 08.06.2008 21:21:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
SELECT COUNT(*), COUNT(*)/SUM(nummer) AS gemiddelde FROM users
GROUP BY nummer

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.
Gewijzigd op 01/01/1970 01:00:00 door
 
Frank -

Frank -

09/06/2008 06:36:00
Quote Anchor link
Gemiddelde? Zie de functie AVG() in SQL:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
SELECT
  AVG(kolomnaam) AS gemiddelde
FROM
  tabelnaam
 
Folkert

Folkert

10/06/2008 17:12:00
Quote Anchor link
pgFrank schreef op 09.06.2008 06:36:
Gemiddelde? Zie de functie AVG() in SQL:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
SELECT
  AVG(kolomnaam) AS gemiddelde
FROM
  tabelnaam


Resource id #3

krijg ik dan als uitkomst.

en de andere manieren lukte me ook niet :s
 
Jesper Diovo

Jesper Diovo

10/06/2008 17:16:00
Quote Anchor link
Folkert schreef op 10.06.2008 17:12:
pgFrank schreef op 09.06.2008 06:36:
Gemiddelde? Zie de functie AVG() in SQL:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
SELECT
  AVG(kolomnaam) AS gemiddelde
FROM
  tabelnaam


Resource id #3

krijg ik dan als uitkomst.

en de andere manieren lukte me ook niet :s


Fetch het resultset nou eens....
 
Mr.Moe

Mr.Moe

10/06/2008 17:44:00
Quote Anchor link
Kan zijn dat ik helemaal verkeerd zit hoor, maar volgens mij gaat het zo ook

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
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;
?>


output:
Het aantal rijen dat die query heeft
Gewijzigd op 01/01/1970 01:00:00 door Mr.Moe
 
Jurgen assaasas

Jurgen assaasas

10/06/2008 17:51:00
Quote Anchor link
Ja, dat alleen mist er nog foutafhandeling.
 
Folkert

Folkert

10/06/2008 18:16:00
Quote Anchor link
Jezpur schreef op 10.06.2008 17:16:
Folkert schreef op 10.06.2008 17:12:
pgFrank schreef op 09.06.2008 06:36:
Gemiddelde? Zie de functie AVG() in SQL:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
SELECT
  AVG(kolomnaam) AS gemiddelde
FROM
  tabelnaam


Resource id #3

krijg ik dan als uitkomst.

en de andere manieren lukte me ook niet :s


Fetch het resultset nou eens....


zal wel aan mij liggen maar ik heb verschillende fetches geprobeerd maar het lukt me niet :s
 
Jurgen assaasas

Jurgen assaasas

10/06/2008 18:20:00
Quote Anchor link
Maar nog steeds hebben we hier gene PHP code gezien dat jij iets fetcht.
 
Folkert

Folkert

10/06/2008 18:54:00
Quote Anchor link
$result2 = mysql_fetch_assoc ($result);
$result3 = $row['gemiddelde'];
$result4 = mysql_fetch_row($result);

is wat ik probeerde
 
Joren de Wit

Joren de Wit

10/06/2008 19:00:00
Quote Anchor link
Twee keer dezelfde result set fetchen? Dat gaat natuurlijk niet werken.

Maar goed, mij is nu eigenlijk nog steeds niet echt duidelijk wat je probeert te bereiken of met welke code...
 
Folkert

Folkert

10/06/2008 19:22:00
Quote Anchor link
nee dat waren een paar van de dingen die ik geprobeerd had.

Ik probeer op dit moment het gemiddelde van en rij te krijgen.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
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";
?>
 
Martijn B

Martijn B

10/06/2008 19:23:00
Quote Anchor link
RemeysenThomas schreef op 10.06.2008 17:44:
Kan zijn dat ik helemaal verkeerd zit hoor, maar volgens mij gaat het zo ook

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
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;
?>


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:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
SELECT COUNT(*) FROM gebruikers

of

SELECT COUNT(1) FROM gebruikers


Hiermee vertel je dat MySQL alle rijen moet gaan tellen.

In PHP is dat dan:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
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;
?>
Gewijzigd op 01/01/1970 01:00:00 door Martijn B
 
Folkert

Folkert

11/06/2008 19:06:00
Quote Anchor link
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.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
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";
?>


iemand een idee waarom ik hiermee niet het gemiddelde krijg?
 

Pagina: 1 2 volgende »



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.