count help

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Erik m

erik m

19/12/2015 07:39:50
Quote Anchor link
hallo ik heb een database waar ik mijn record onder verdeeld heb in categorieën (cat).
ik heb nu wel een count script voor php dat alles telt.
is er een mogelijkheid dat ik met opgegeven categorieën kan weergeven hoeveel er per categorieën in de database zit?

dit is de script die ik gebruik om alles te tellen die word ingevoegd in een html file.

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
$con
= mysql_connect("localhost","user","pass");
if (!$con) {
  die('Could not connect: ' . mysql_error());
}


mysql_select_db("database", $con);

$result = mysql_query("select count(1) FROM tabel");
$row = mysql_fetch_array($result);

$total = $row[0];
echo "De collectie bestaat uit " . $total;
echo " items.";
mysql_close($con);
?>
 
PHP hulp

PHP hulp

16/11/2024 08:03:19
 
Randy vsf

Randy vsf

19/12/2015 10:09:40
Quote Anchor link
Je kan COUNT gebruiken i.c.m GROUP BY
Voorbeeld
Gewijzigd op 19/12/2015 10:16:50 door Randy vsf
 
Frank Nietbelangrijk

Frank Nietbelangrijk

19/12/2015 10:15:52
Quote Anchor link
Erik, als je van alle categorieën het aantal wilt weten dan doe je de GROUP BY van Randy.

Als je het aantal van één bepaalde categorie wilt weten dan voeg je gewoon een WHERE aan de query toe

Bijvoorbeeld:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
SELECT COUNT(*) FROM table WHERE category=5


Je weet dat alle mysql_ functies verdwenen zijn in PHP versie 7? Ik zou mysqli_ functies of PDO gebruiken.
 
Erik m

erik m

20/12/2015 07:18:05
Quote Anchor link
hallo
dit is niet echt wat ik zocht. maar ik heb al wat gevonden. ik gebruik een count van een zoekpagina die ik heb maar laat het data weergeven weg. zo kan ik de categorie selecteren die ik wil tellen.

de script:

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
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
<?php

$user
="";
$password="";
$database="";
$host="localhost";

  // Get the search variable from URL

  $var = @$_GET['q'] ;
  $trimmed = trim($var); //trim whitespace from the stored variable

// rows to return

$limit=1000;

// check for an empty string and display a message.
if ($trimmed == "")
  {

  echo "<p>Please enter a search...</p>";
  exit;
  }


// check for a search parameter
if (!isset($var))
  {

  echo "<p>We dont seem to have a search parameter!</p>";
  exit;
  }


//connect to your database
mysql_connect("$host","$user","$password"); //(host, username, password)

//specify database

mysql_select_db("$database") or die("Unable to select database"); //select which database we're using

// Build SQL Query  

$query = "SELECT field 1, NULL AS number, 'table' AS Type
# Suppose that the 'Number' column does not exist in this table
FROM   table
WHERE field 1  LIKE '%$trimmed%'
order by id "
;

 $numresults=mysql_query($query);
 $numrows=mysql_num_rows($numresults);

// next determine if s has been passed to script, if not use 0
  if (empty($s)) {
  $s=0;
  }


// get results
  $query .= " limit $s,$limit";
  $result = mysql_query($query) or die("Couldn't execute query");

// display what the person searched for
  echo "<p>Aantal " . $var . " in mijn collectie: $numrows</p><br>";



  $count++ ;
 
  
?>


deze pagina voeg ik toe in mijn index pagina met:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
<?php $_GET['q'] = categorie ;
  include('count.php') ?>


categorie= moet de benaming zijn wat je wilt selecteren.
dit werkt bij mij.
bedankt voor jullie reactie.

Toevoeging op 20/12/2015 07:18:18:

hallo
dit is niet echt wat ik zocht. maar ik heb al wat gevonden. ik gebruik een count van een zoekpagina die ik heb maar laat het data weergeven weg. zo kan ik de categorie selecteren die ik wil tellen.

de script:

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
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
<?php

$user
="";
$password="";
$database="";
$host="localhost";

  // Get the search variable from URL

  $var = @$_GET['q'] ;
  $trimmed = trim($var); //trim whitespace from the stored variable

// rows to return

$limit=1000;

// check for an empty string and display a message.
if ($trimmed == "")
  {

  echo "<p>Please enter a search...</p>";
  exit;
  }


// check for a search parameter
if (!isset($var))
  {

  echo "<p>We dont seem to have a search parameter!</p>";
  exit;
  }


//connect to your database
mysql_connect("$host","$user","$password"); //(host, username, password)

//specify database

mysql_select_db("$database") or die("Unable to select database"); //select which database we're using

// Build SQL Query  

$query = "SELECT field 1, NULL AS number, 'table' AS Type
# Suppose that the 'Number' column does not exist in this table
FROM   table
WHERE field 1  LIKE '%$trimmed%'
order by id "
;

 $numresults=mysql_query($query);
 $numrows=mysql_num_rows($numresults);

// next determine if s has been passed to script, if not use 0
  if (empty($s)) {
  $s=0;
  }


// get results
  $query .= " limit $s,$limit";
  $result = mysql_query($query) or die("Couldn't execute query");

// display what the person searched for
  echo "<p>Aantal " . $var . " in mijn collectie: $numrows</p><br>";



  $count++ ;
 
  
?>


deze pagina voeg ik toe in mijn index pagina met:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
<?php $_GET['q'] = categorie ;
  include('count.php') ?>


categorie= moet de benaming zijn wat je wilt selecteren.
dit werkt bij mij.
bedankt voor jullie reactie.
 
Randy vsf

Randy vsf

20/12/2015 10:03:03
Quote Anchor link
Quote:
dit is niet echt wat ik zocht. maar ik heb al wat gevonden.


Dat wat frank poste doet precies wat jij wilt. Heb je het weleens geprobeerd?

Voorbeeld

Dus je hebt geen andere scripts nodig, voeg gewoon een WHERE (met COUNT(*)) toe aan je query en dan werkt het ook.
Gewijzigd op 20/12/2015 11:36:00 door Randy vsf
 
Thomas van den Heuvel

Thomas van den Heuvel

20/12/2015 10:25:16
Quote Anchor link
Wat Randy zegt.

Tevens: als je met een query enkel een aantal wil bepalen, hoef je niet alle bijbehorende records op te vragen en vervolgens te kijken hoeveel records dit zijn, dit is mogelijk nogal inefficiënt.

Vergelijk dit met het opvragen van de gegevens van alle boeken (van een bepaalde categorie) in een bibliotheek (mogelijk honderden tot duizenden records) terwijl je eigenlijk alleen maar geïntereseerd bent in het aantal boeken (dit is meestal precies (of in ieder geval, ten hoogste) één record).
 



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.