Max aantal rows in Mysql, drop down list filter
Pagina: « vorige 1 2 3 volgende »
Code (php)
1
2
3
4
5
6
7
8
9
10
11
2
3
4
5
6
7
8
9
10
11
<?php
// Hier je check voor de 20 records
// Haal alle data waar de datum 2012-01-18 is uit de DB en tel deze records dmv de COUNT
$qQuery = "SELECT * COUNT(datum) AS datum_count FROM contact WHERE datum = '10-02-2012'";
$mQuery = mysql_query($qQuery);
$fQuery = mysql_fetch_array($mQuery);
// Echo het aantal records in de tabel
echo $fQuery['datum_count'];
?>
// Hier je check voor de 20 records
// Haal alle data waar de datum 2012-01-18 is uit de DB en tel deze records dmv de COUNT
$qQuery = "SELECT * COUNT(datum) AS datum_count FROM contact WHERE datum = '10-02-2012'";
$mQuery = mysql_query($qQuery);
$fQuery = mysql_fetch_array($mQuery);
// Echo het aantal records in de tabel
echo $fQuery['datum_count'];
?>
<option value="">Selecteer uw voorkeursdatum..</option>
<option value="27-01-2012">27-01-2012</option>
<option value="03-02-2012">03-02-2012</option>
<option value="10-02-2012">10-02-2012</option>
<option value="17-02-2012">17-02-2012</option>
<option value="24-02-2012">24-02-2012</option>
</select>
Dit is nu de situatie, ik heb 3 entries in de database staan met 10-02-2012, echter ik zie nergens het aantal verschijnen. How come?
Je zult eens moeten kijken wat er nou uit $fQuery['datum_count'] komt, en daar een vergelijking mee doen, om vervolgens te bepalen of de select-box mag tonen.
Warning: mysql_query() [function.mysql-query]: Access denied for user 'ODBC'@'127.0.0.1' (using password: NO) in C:\domains\iamthesource.nl\wwwroot\fakro\index.php on line 21
Warning: mysql_query() [function.mysql-query]: A link to the server could not be established in C:\domains\iamthesource.nl\wwwroot\fakro\index.php on line 21
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in C:\domains\iamthesource.nl\wwwroot\fakro\index.php on line 22
Heeft dit iets met rechten te maken?
Heb je wel een connectie met MySQL gemaakt?
De gebruiker gebruikt geen wachtwoord en gebruiker zelf is: ODBC
De database waar je naartoe gaat is een lokaale host, in dit geval de 127.0.0.1, ookwel localhost genoemd.
Zoiets dacht ik, maar wederom geen resultaat:
INDEX.PHP
<body>
<div id="contact">
<div id="top">
<div id="white"></div>
<div id="green"></div>
<div id="empty"></div>
<div id="logo"></div>
</div>
<div id="tekst"><b>FAKRO DAKRAMEN SCHIETEN</b><br /><br />Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec eu quam libero. Mauris quis odio est, non porta lacus. Aliquam bibendum urna quam. Fusce nec leo magna. Integer facilisis tincidunt risus, nec sollicitudin sapien porttitor et. Suspendisse nisi velit, commodo non cursus eu, tempor ac massa. Donec a vehicula magna. Etiam vestibulum dapibus augue id tristique. Sed pulvinar eleifend sollicitudin. In auctor, ipsum ut accumsan aliquet, tortor velit iaculis leo, et vulputate diam eros in ante. Curabitur quis metus ante<br /><br />
<div class="tekst"></div>
</div>
<div id="formulierarea">
<div id="leftspace"> </div>
<div id="formulierruimte">
<form id="ContactForm" action="">
<p>
<label>Naam</label>
<input id="name" name="name" class="inplaceError" maxlength="120" type="text" autocomplete="off"/>
<span class="error" style="display:none;"></span>
</p>
<p>
<label>Bedrijfsnaam</label>
<input id="bedrijfsnaam" name="bedrijfsnaam" class="inplaceError" maxlength="120" type="text" autocomplete="off"/>
<span class="error" style="display:none;"></span>
</p>
<p>
<label>E-mail</label>
<input id="email" name="email" class="inplaceError" maxlength="120" type="text" autocomplete="off"/>
<span class="error" style="display:none;"></span>
</p>
<p>
<label>Datum</label>
<select name="datum" id="datum" class="inplaceError">
<option value="">Selecteer uw voorkeursdatum..</option>
<option value="27-01-2012">27-01-2012</option>
<option value="03-02-2012">03-02-2012</option>
<option value="10-02-2012">10-02-2012</option>
<option value="17-02-2012">17-02-2012</option>
<option value="24-02-2012">24-02-2012</option>
</select>
<span class="error" style="display:none;"></span>
<input id="send" type="button" value="Verstuur"/>
<span id="loader" class="loader" style="display:none;"></span>
</p>
<p>
<span id="success_message" class="success"></span>
</p>
<input id="newcontact" name="newcontact" type="hidden" value="1"></input>
</form>
</div>
</div>
</div>
<!-- The JavaScript -->
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"></script>
<script src="javascript/jquery.contact.js" type="text/javascript"></script>
</body>
CONTACT PHP - WAARIN DE VALIDATIE PLAATS VINDT
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
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
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
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
<?php
require_once("db.php"); /* Database Class */
require_once('utils/is_email.php'); /* Email Validation Script */
/* Handle Ajax Request */
if(isset($_POST['newcontact'])){
$contact = new Contact();
unset($contact);
}
else{
header('Location: /');
}
/* Class Contact */
class Contact{
private $db; /* the database obj */
private $errors = array(); /* holds error messages */
private $num_errors; /* number of errors in submitted form */
public function __construct(){
$this->db = new DB();
if(isset($_POST['newcontact']))
$this->processNewMessage();
else
header("Location: /");
}
public function processNewMessage(){
$email = $_POST['email'];
$name = $_POST['name'];
$bedrijfsnaam = $_POST['bedrijfsnaam'];
$datum = $_POST['datum'];
/* Server Side Data Validation */
/* Email Validation */
if(!$email || mb_strlen($email = trim($email)) == 0)
$this->setError('email','Vul uw e-mail in');
else{
if(!is_email($email))
$this->setError('email', 'Vul een correct email adres in');
else if(mb_strlen($email) > 120)
$this->setError('email', 'Te lang! 120 karakters max.');
}
/* Name Validation */
if(!$name || mb_strlen($name = trim($name)) == 0)
$this->setError('name', 'Vul uw naam in');
else if(mb_strlen(trim($name)) > 120)
$this->setError('name', 'Te lang! 120 karakters max.');
/* Bedrijfsnaam Validation */
if(!$bedrijfsnaam || mb_strlen($bedrijfsnaam = trim($bedrijfsnaam)) == 0)
$this->setError('bedrijfsnaam', 'Vul uw bedrijfsnaam in');
else if(mb_strlen(trim($bedrijfsnaam)) > 120)
$this->setError('bedrijfsnaam', 'Te lang! 120 karakters max.');
/* Errors exist */
if($this->countErrors() > 0){
$json = array(
'result' => -1,
'errors' => array(
array('name' => 'email' ,'value' => $this->error_value('email')),
array('name' => 'name' ,'value' => $this->error_value('name')),
array('name' => 'bedrijfsnaam' ,'value' => $this->error_value('bedrijfsnaam'))
)
);
$encoded = json_encode($json);
echo $encoded;
unset($encoded);
}
/* No errors, insert in db*/
else{
if(($ret = $this->db->dbNewMessage($email, $name, $bedrijfsnaam, $datum)) > 0){
$json = array('result' => 1);
if(SEND_EMAIL)
$this->sendEmail($email,$name,$bedrijfsnaam,$datum);
}
else
$json = array('result' => -2); /* something went wrong in database insertion */
$encoded = json_encode($json);
echo $encoded;
unset($encoded);
}
}
public function sendEmail($email,$name,$bedrijfsnaam,$datum){
/* Just format the email text the way you want ... */
$message_body = "Hallo,\n\n"
.$name." (".$bedrijfsnaam.") heeft zich aangemeld op Fakro.nl\n\n"
."E-mail: ".$email."\n"
."Datum: ".$datum."\n"
.$message;
$headers = "From: ".EMAIL_FROM_NAME." <".EMAIL_FROM_ADDR.">";
return mail(EMAIL_TO,MESSAGE_SUBJECT,$message_body,$headers);
}
public function setError($field, $errmsg){
$this->errors[$field] = $errmsg;
$this->num_errors = count($this->errors);
}
public function error_value($field){
if(array_key_exists($field,$this->errors))
return $this->errors[$field];
else
return '';
}
public function countErrors(){
return $this->num_errors;
}
};
?>
require_once("db.php"); /* Database Class */
require_once('utils/is_email.php'); /* Email Validation Script */
/* Handle Ajax Request */
if(isset($_POST['newcontact'])){
$contact = new Contact();
unset($contact);
}
else{
header('Location: /');
}
/* Class Contact */
class Contact{
private $db; /* the database obj */
private $errors = array(); /* holds error messages */
private $num_errors; /* number of errors in submitted form */
public function __construct(){
$this->db = new DB();
if(isset($_POST['newcontact']))
$this->processNewMessage();
else
header("Location: /");
}
public function processNewMessage(){
$email = $_POST['email'];
$name = $_POST['name'];
$bedrijfsnaam = $_POST['bedrijfsnaam'];
$datum = $_POST['datum'];
/* Server Side Data Validation */
/* Email Validation */
if(!$email || mb_strlen($email = trim($email)) == 0)
$this->setError('email','Vul uw e-mail in');
else{
if(!is_email($email))
$this->setError('email', 'Vul een correct email adres in');
else if(mb_strlen($email) > 120)
$this->setError('email', 'Te lang! 120 karakters max.');
}
/* Name Validation */
if(!$name || mb_strlen($name = trim($name)) == 0)
$this->setError('name', 'Vul uw naam in');
else if(mb_strlen(trim($name)) > 120)
$this->setError('name', 'Te lang! 120 karakters max.');
/* Bedrijfsnaam Validation */
if(!$bedrijfsnaam || mb_strlen($bedrijfsnaam = trim($bedrijfsnaam)) == 0)
$this->setError('bedrijfsnaam', 'Vul uw bedrijfsnaam in');
else if(mb_strlen(trim($bedrijfsnaam)) > 120)
$this->setError('bedrijfsnaam', 'Te lang! 120 karakters max.');
/* Errors exist */
if($this->countErrors() > 0){
$json = array(
'result' => -1,
'errors' => array(
array('name' => 'email' ,'value' => $this->error_value('email')),
array('name' => 'name' ,'value' => $this->error_value('name')),
array('name' => 'bedrijfsnaam' ,'value' => $this->error_value('bedrijfsnaam'))
)
);
$encoded = json_encode($json);
echo $encoded;
unset($encoded);
}
/* No errors, insert in db*/
else{
if(($ret = $this->db->dbNewMessage($email, $name, $bedrijfsnaam, $datum)) > 0){
$json = array('result' => 1);
if(SEND_EMAIL)
$this->sendEmail($email,$name,$bedrijfsnaam,$datum);
}
else
$json = array('result' => -2); /* something went wrong in database insertion */
$encoded = json_encode($json);
echo $encoded;
unset($encoded);
}
}
public function sendEmail($email,$name,$bedrijfsnaam,$datum){
/* Just format the email text the way you want ... */
$message_body = "Hallo,\n\n"
.$name." (".$bedrijfsnaam.") heeft zich aangemeld op Fakro.nl\n\n"
."E-mail: ".$email."\n"
."Datum: ".$datum."\n"
.$message;
$headers = "From: ".EMAIL_FROM_NAME." <".EMAIL_FROM_ADDR.">";
return mail(EMAIL_TO,MESSAGE_SUBJECT,$message_body,$headers);
}
public function setError($field, $errmsg){
$this->errors[$field] = $errmsg;
$this->num_errors = count($this->errors);
}
public function error_value($field){
if(array_key_exists($field,$this->errors))
return $this->errors[$field];
else
return '';
}
public function countErrors(){
return $this->num_errors;
}
};
?>
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
2
3
4
5
6
7
8
9
10
11
12
13
14
<?php
class Tekst{
// Hier je check voor de 20 records
// Haal alle data waar de datum 2012-01-18 is uit de DB en tel deze records dmv de COUNT
$qQuery = "SELECT * COUNT(datum) AS datum_count FROM contact WHERE datum = '10-02-2012'";
$mQuery = mysql_query($qQuery);
$fQuery = mysql_fetch_array($mQuery);
// Echo het aantal records in de tabel
echo $fQuery['datum_count'];
};
?>
class Tekst{
// Hier je check voor de 20 records
// Haal alle data waar de datum 2012-01-18 is uit de DB en tel deze records dmv de COUNT
$qQuery = "SELECT * COUNT(datum) AS datum_count FROM contact WHERE datum = '10-02-2012'";
$mQuery = mysql_query($qQuery);
$fQuery = mysql_fetch_array($mQuery);
// Echo het aantal records in de tabel
echo $fQuery['datum_count'];
};
?>
Gewijzigd op 18/01/2012 15:28:56 door - Ariën -
Wat adviseer je me aan de hand van bovenstaande code?
Wat wil je bereiken?
Dan kunnen wij misschien een stuk script schrijven, want zo kom je nergens.
En idd wat - Aar - zegt.. Leer eerst de basis van PHP, en ga je daarna verdiepen in bepaalde dingen.
Anyway, mijn doelstelling is, ik heb een formulier met daarin naam, bedrijfsnaam, e-mail en een drop down list.
In de drop down list komen X aantal data te staan die genodigden kunnen selecteren en vervolgens versturen.
Nu is het zo dat per datum maar 20 mensen zich mogen aanmelden, daarna moet deze datum niet meer beschikbaar zijn.
Begrijpen jullie wat ik bedoel?
Dan wil ik graag de opbouw van de datum hebben. Zoals hij in je DB staat natuurlijk.
Benodigheden:
Datum hoe hij eruit ziet in de DB
tabelnamen waar de data staat
Dan ga ik wel ff stukje script schrijven, word hier gek van :P
http://iamthesource.nl/fakro/ online demo
Het gaat dus om de kolum "datum"
Voorbeeld datum in Database
-- phpMyAdmin SQL Dump
-- version 2.11.10.1
-- http://www.phpmyadmin.net
--
-- Host: localhost
-- Generatie Tijd: 18 Jan 2012 om 15:45
-- Server versie: 4.1.22
-- PHP Versie: 5.2.17
SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO";
--
-- Database: `contactform`
--
-- --------------------------------------------------------
--
-- Tabel structuur voor tabel `contact`
--
CREATE TABLE IF NOT EXISTS `contact` (
`pk_contact` int(10) unsigned NOT NULL auto_increment,
`name` varchar(120) NOT NULL default '',
`email` varchar(120) NOT NULL default '',
`bedrijfsnaam` varchar(120) NOT NULL default '',
`datum` varchar(120) NOT NULL default '',
`added_date` timestamp NOT NULL default CURRENT_TIMESTAMP,
PRIMARY KEY (`pk_contact`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=24 ;
--
-- Gegevens worden uitgevoerd voor tabel `contact`
--
INSERT INTO `contact` (`pk_contact`, `name`, `email`, `bedrijfsnaam`, `datum`, `added_date`) VALUES
(19, 'Sebastian Veldman', '[email protected]', 'Q-International', '10-02-2012', '2012-01-18 14:05:08'),
(20, 'Rob Pelgrum', '[email protected]', 'Fakro', '10-02-2012', '2012-01-18 14:05:46'),
(21, 'Sebastian', '[email protected]', 'test', '10-02-2012', '2012-01-18 14:46:42'),
(22, 'Test persoon 1', '[email protected]', 'Test bedrijf 1', '27-01-2012', '2012-01-18 15:44:04'),
(23, 'Test persoon 2', '[email protected]', 'Test bedrijf 2', '03-02-2012', '2012-01-18 15:45:20');
Toevoeging op 18/01/2012 15:49:05:
Dit is mijn formulier die staat in de INDEX.PHP
<div id="formulierruimte">
<form id="ContactForm" action="">
<p>
<label>Naam</label>
<input id="name" name="name" class="inplaceError" maxlength="120" type="text" autocomplete="off"/>
<span class="error" style="display:none;"></span>
</p>
<p>
<label>Bedrijfsnaam</label>
<input id="bedrijfsnaam" name="bedrijfsnaam" class="inplaceError" maxlength="120" type="text" autocomplete="off"/>
<span class="error" style="display:none;"></span>
</p>
<p>
<label>E-mail</label>
<input id="email" name="email" class="inplaceError" maxlength="120" type="text" autocomplete="off"/>
<span class="error" style="display:none;"></span>
</p>
<p>
<label>Datum</label>
<select name="datum" id="datum" class="inplaceError">
<option value="">Selecteer uw voorkeursdatum..</option>
<option value="27-01-2012">27-01-2012</option>
<option value="03-02-2012">03-02-2012</option>
<option value="10-02-2012">10-02-2012</option>
<option value="17-02-2012">17-02-2012</option>
<option value="24-02-2012">24-02-2012</option>
</select>
<span class="error" style="display:none;"></span>
<input id="send" type="button" value="Verstuur"/>
<span id="loader" class="loader" style="display:none;"></span>
</p>
<p>
<span id="success_message" class="success"></span>
</p>
<input id="newcontact" name="newcontact" type="hidden" value="1"></input>
</form>
</div>
Toevoeging op 18/01/2012 15:49:54:
Er komen nog meer data in het drop down menu, maar deze gebruik om het systeem te testen. Bedankt man dat je me zo wilt helpen.
Het gaat dus om de kolum "datum"
Voorbeeld datum in Database
-- phpMyAdmin SQL Dump
-- version 2.11.10.1
-- http://www.phpmyadmin.net
--
-- Host: localhost
-- Generatie Tijd: 18 Jan 2012 om 15:45
-- Server versie: 4.1.22
-- PHP Versie: 5.2.17
SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO";
--
-- Database: `contactform`
--
-- --------------------------------------------------------
--
-- Tabel structuur voor tabel `contact`
--
CREATE TABLE IF NOT EXISTS `contact` (
`pk_contact` int(10) unsigned NOT NULL auto_increment,
`name` varchar(120) NOT NULL default '',
`email` varchar(120) NOT NULL default '',
`bedrijfsnaam` varchar(120) NOT NULL default '',
`datum` varchar(120) NOT NULL default '',
`added_date` timestamp NOT NULL default CURRENT_TIMESTAMP,
PRIMARY KEY (`pk_contact`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=24 ;
--
-- Gegevens worden uitgevoerd voor tabel `contact`
--
INSERT INTO `contact` (`pk_contact`, `name`, `email`, `bedrijfsnaam`, `datum`, `added_date`) VALUES
(19, 'Sebastian Veldman', '[email protected]', 'Q-International', '10-02-2012', '2012-01-18 14:05:08'),
(20, 'Rob Pelgrum', '[email protected]', 'Fakro', '10-02-2012', '2012-01-18 14:05:46'),
(21, 'Sebastian', '[email protected]', 'test', '10-02-2012', '2012-01-18 14:46:42'),
(22, 'Test persoon 1', '[email protected]', 'Test bedrijf 1', '27-01-2012', '2012-01-18 15:44:04'),
(23, 'Test persoon 2', '[email protected]', 'Test bedrijf 2', '03-02-2012', '2012-01-18 15:45:20');
Toevoeging op 18/01/2012 15:49:05:
Dit is mijn formulier die staat in de INDEX.PHP
<div id="formulierruimte">
<form id="ContactForm" action="">
<p>
<label>Naam</label>
<input id="name" name="name" class="inplaceError" maxlength="120" type="text" autocomplete="off"/>
<span class="error" style="display:none;"></span>
</p>
<p>
<label>Bedrijfsnaam</label>
<input id="bedrijfsnaam" name="bedrijfsnaam" class="inplaceError" maxlength="120" type="text" autocomplete="off"/>
<span class="error" style="display:none;"></span>
</p>
<p>
<label>E-mail</label>
<input id="email" name="email" class="inplaceError" maxlength="120" type="text" autocomplete="off"/>
<span class="error" style="display:none;"></span>
</p>
<p>
<label>Datum</label>
<select name="datum" id="datum" class="inplaceError">
<option value="">Selecteer uw voorkeursdatum..</option>
<option value="27-01-2012">27-01-2012</option>
<option value="03-02-2012">03-02-2012</option>
<option value="10-02-2012">10-02-2012</option>
<option value="17-02-2012">17-02-2012</option>
<option value="24-02-2012">24-02-2012</option>
</select>
<span class="error" style="display:none;"></span>
<input id="send" type="button" value="Verstuur"/>
<span id="loader" class="loader" style="display:none;"></span>
</p>
<p>
<span id="success_message" class="success"></span>
</p>
<input id="newcontact" name="newcontact" type="hidden" value="1"></input>
</form>
</div>
Toevoeging op 18/01/2012 15:49:54:
Er komen nog meer data in het drop down menu, maar deze gebruik om het systeem te testen. Bedankt man dat je me zo wilt helpen.
Gewijzigd op 18/01/2012 15:48:13 door Sebas V
varchar 120 voor het veld 'datum', waarom?
<form id="ContactForm" action="">
<p>
<label>Naam</label>
<input id="name" name="name" class="inplaceError" maxlength="120" type="text" autocomplete="off"/>
<span class="error" style="display:none;"></span>
</p>
<p>
<label>Bedrijfsnaam</label>
<input id="bedrijfsnaam" name="bedrijfsnaam" class="inplaceError" maxlength="120" type="text" autocomplete="off"/>
<span class="error" style="display:none;"></span>
</p>
<p>
<label>E-mail</label>
<input id="email" name="email" class="inplaceError" maxlength="120" type="text" autocomplete="off"/>
<span class="error" style="display:none;"></span>
</p>
<p>
<label>Datum</label>
<select name="datum" id="datum" class="inplaceError">
<option value="">Selecteer uw voorkeursdatum..</option>
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<?php
// Haal alle data waar de datum 2012-01-18 is uit de DB en tel deze records dmv de COUNT
$qQuery = 'SELECT * FROM contact GROUP BY datum';
$mQuery = mysql_query($qQuery);
// Haal alle data er 1 voor 1 uit
while($fQuery = mysql_fetch_array($mQuery)){
// Doe nu een query naar het bepaalde item, als deze dus minder dan 20x voorkomt dan mag hij nog worden weergegeven anders niet
$qCheckRecords = 'SELECT * FROM contact, COUNT(datum) AS dateCount WHERE datum = "'.$fQuery['datum'].'"';
$mCheckRecords = mysql_query($qCheckRecords);
$fCheckRecords = mysql_fetch_array($mCheckRecords);
if($fCheckRecords['dateCount'] < 20){
echo '<option value="'.$fQuery['datum'].'">'.$fQuery['datum'].'</option>';
}
}
?>
// Haal alle data waar de datum 2012-01-18 is uit de DB en tel deze records dmv de COUNT
$qQuery = 'SELECT * FROM contact GROUP BY datum';
$mQuery = mysql_query($qQuery);
// Haal alle data er 1 voor 1 uit
while($fQuery = mysql_fetch_array($mQuery)){
// Doe nu een query naar het bepaalde item, als deze dus minder dan 20x voorkomt dan mag hij nog worden weergegeven anders niet
$qCheckRecords = 'SELECT * FROM contact, COUNT(datum) AS dateCount WHERE datum = "'.$fQuery['datum'].'"';
$mCheckRecords = mysql_query($qCheckRecords);
$fCheckRecords = mysql_fetch_array($mCheckRecords);
if($fCheckRecords['dateCount'] < 20){
echo '<option value="'.$fQuery['datum'].'">'.$fQuery['datum'].'</option>';
}
}
?>
<option value="27-01-2012">27-01-2012</option>
<option value="03-02-2012">03-02-2012</option>
<option value="10-02-2012">10-02-2012</option>
<option value="17-02-2012">17-02-2012</option>
<option value="24-02-2012">24-02-2012</option>
</select>
<span class="error" style="display:none;"></span>
<input id="send" type="button" value="Verstuur"/>
<span id="loader" class="loader" style="display:none;"></span>
</p>
<p>
<span id="success_message" class="success"></span>
</p>
<input id="newcontact" name="newcontact" type="hidden" value="1"></input>
</form>
Komt een update aan.
-- EDIT --
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<?php
// Haal alle data waar de datum 2012-01-18 is uit de DB en tel deze records dmv de COUNT
$qQuery = 'SELECT * FROM contact GROUP BY datum';
$mQuery = mysql_query($qQuery);
// Haal alle data er 1 voor 1 uit
while($fQuery = mysql_fetch_array($mQuery)){
// Doe nu een query naar het bepaalde item, als deze dus minder dan 20x voorkomt dan mag hij nog worden weergegeven anders niet
$qCheckRecords = 'SELECT * FROM contact, COUNT(datum) AS dateCount WHERE datum = "'.$fQuery['datum'].'"';
$mCheckRecords = mysql_query($qCheckRecords);
$fCheckRecords = mysql_fetch_array($mCheckRecords);
if($fCheckRecords['dateCount'] < 20){
echo '<option value="'.$fQuery['datum'].'">'.$fQuery['datum'].' ('.$fCheckRecords['dateCount'].')</option>';
}
}
?>
// Haal alle data waar de datum 2012-01-18 is uit de DB en tel deze records dmv de COUNT
$qQuery = 'SELECT * FROM contact GROUP BY datum';
$mQuery = mysql_query($qQuery);
// Haal alle data er 1 voor 1 uit
while($fQuery = mysql_fetch_array($mQuery)){
// Doe nu een query naar het bepaalde item, als deze dus minder dan 20x voorkomt dan mag hij nog worden weergegeven anders niet
$qCheckRecords = 'SELECT * FROM contact, COUNT(datum) AS dateCount WHERE datum = "'.$fQuery['datum'].'"';
$mCheckRecords = mysql_query($qCheckRecords);
$fCheckRecords = mysql_fetch_array($mCheckRecords);
if($fCheckRecords['dateCount'] < 20){
echo '<option value="'.$fQuery['datum'].'">'.$fQuery['datum'].' ('.$fCheckRecords['dateCount'].')</option>';
}
}
?>
Er word nu getoond hoeveel mensen zich hebben aangemeld daar.
<option value="">Selecteer uw voorkeursdatum..</option>
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<?php
// Haal alle data waar de datum 2012-01-18 is uit de DB en tel deze records dmv de COUNT
$qQuery = 'SELECT * FROM contact GROUP BY datum';
$mQuery = mysql_query($qQuery);
// Haal alle data er 1 voor 1 uit
while($fQuery = mysql_fetch_array($mQuery)){
// Doe nu een query naar het bepaalde item, als deze dus minder dan 20x voorkomt dan mag hij nog worden weergegeven anders niet
$qCheckRecords = 'SELECT * FROM contact, COUNT(datum) AS dateCount WHERE datum = "'.$fQuery['datum'].'"';
$mCheckRecords = mysql_query($qCheckRecords);
$fCheckRecords = mysql_fetch_array($mCheckRecords);
if($fCheckRecords['dateCount'] < 20){
echo '<option value="'.$fQuery['datum'].'">'.$fQuery['datum'].' ('.$fCheckRecords['dateCount'].')</option>';
}
}
?>
// Haal alle data waar de datum 2012-01-18 is uit de DB en tel deze records dmv de COUNT
$qQuery = 'SELECT * FROM contact GROUP BY datum';
$mQuery = mysql_query($qQuery);
// Haal alle data er 1 voor 1 uit
while($fQuery = mysql_fetch_array($mQuery)){
// Doe nu een query naar het bepaalde item, als deze dus minder dan 20x voorkomt dan mag hij nog worden weergegeven anders niet
$qCheckRecords = 'SELECT * FROM contact, COUNT(datum) AS dateCount WHERE datum = "'.$fQuery['datum'].'"';
$mCheckRecords = mysql_query($qCheckRecords);
$fCheckRecords = mysql_fetch_array($mCheckRecords);
if($fCheckRecords['dateCount'] < 20){
echo '<option value="'.$fQuery['datum'].'">'.$fQuery['datum'].' ('.$fCheckRecords['dateCount'].')</option>';
}
}
?>
<option value="27-01-2012">27-01-2012</option>
<option value="03-02-2012">03-02-2012</option>
<option value="10-02-2012">10-02-2012</option>
<option value="17-02-2012">17-02-2012</option>
<option value="24-02-2012">24-02-2012</option>
</select>
Dit heb ik nu staan, maar ik zie nog geen cijfers? Heeft dit iets met de code hier te maken, of moet ik het type veld in de database aanpassen waar de datum staan (dat is nu VARCHAR)?
De aantallen hoef je ook niet te zien. Hij filtert alle data's eruit die vol zitten.
Toevoeging op 18/01/2012 16:19:44:
<select name="datum" id="datum" class="inplaceError">
<option value="">Selecteer uw voorkeursdatum..</option>
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<?php
// Haal alle data waar de datum 2012-01-18 is uit de DB en tel deze records dmv de COUNT
$qQuery = 'SELECT * FROM contact GROUP BY datum';
$mQuery = mysql_query($qQuery);
// Haal alle data er 1 voor 1 uit
while($fQuery = mysql_fetch_array($mQuery)){
// Doe nu een query naar het bepaalde item, als deze dus minder dan 20x voorkomt dan mag hij nog worden weergegeven anders niet
$qCheckRecords = 'SELECT * FROM contact, COUNT(datum) AS dateCount WHERE datum = "'.$fQuery['datum'].'"';
$mCheckRecords = mysql_query($qCheckRecords);
$fCheckRecords = mysql_fetch_array($mCheckRecords);
if($fCheckRecords['dateCount'] < 2){
echo '<option value="'.$fQuery['datum'].'">'.$fQuery['datum'].' ('.$fCheckRecords['dateCount'].')</option>';
}
}
?>
// Haal alle data waar de datum 2012-01-18 is uit de DB en tel deze records dmv de COUNT
$qQuery = 'SELECT * FROM contact GROUP BY datum';
$mQuery = mysql_query($qQuery);
// Haal alle data er 1 voor 1 uit
while($fQuery = mysql_fetch_array($mQuery)){
// Doe nu een query naar het bepaalde item, als deze dus minder dan 20x voorkomt dan mag hij nog worden weergegeven anders niet
$qCheckRecords = 'SELECT * FROM contact, COUNT(datum) AS dateCount WHERE datum = "'.$fQuery['datum'].'"';
$mCheckRecords = mysql_query($qCheckRecords);
$fCheckRecords = mysql_fetch_array($mCheckRecords);
if($fCheckRecords['dateCount'] < 2){
echo '<option value="'.$fQuery['datum'].'">'.$fQuery['datum'].' ('.$fCheckRecords['dateCount'].')</option>';
}
}
?>
<option value="27-01-2012">27-01-2012</option>
<option value="03-02-2012">03-02-2012</option>
<option value="10-02-2012">10-02-2012</option>
<option value="17-02-2012">17-02-2012</option>
<option value="24-02-2012">24-02-2012</option>
</select>
Dit heb ik nu staan, ik heb de filter op max 2 gezet om ff te testen. Datum 17-02-2012 is 4x aanwezig in de database maar blijft nog steeds zichtbaar in de dropdown. Wat klopt er niet?
Al is het maar een tijdelijke en alleen op de map waar het bestand in staat.
Dan kan ik ff testen en de fout voor eens en altijd uithalen.
Zoja, stuur me een PM. Ik rotzooi niet met gegeven o.i.d
Probeer alleen te helpen