count help
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)
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
$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);
?>
$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);
?>
Als je het aantal van één bepaalde categorie wilt weten dan voeg je gewoon een WHERE aan de query toe
Bijvoorbeeld:
Je weet dat alle mysql_ functies verdwenen zijn in PHP versie 7? Ik zou mysqli_ functies of PDO gebruiken.
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)
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
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++ ;
?>
$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:
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)
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
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++ ;
?>
$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:
categorie= moet de benaming zijn wat je wilt selecteren.
dit werkt bij mij.
bedankt voor jullie reactie.
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
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).