Een zoekfunctie op meerdere criteria.
Pagina: « vorige 1 2 3 4 volgende »
PHPerik:
En de ASC en DESC onthoud je wel gewoon :) ?
Quote:
SUF WOL hanteer ik: :-)
En de ASC en DESC onthoud je wel gewoon :) ?
Hmm. Nu je het zegt :D
kan het zijn dat ik de criteria in mijn database anders moet instellen als ik erop wil zoeken?
Ook niet als ik in de bron kijk.. das wel heel vreemd.. ik zie hem niet in IE en ook niet in FF.. zou ook niets uit moeten maken ;)
hmmm de query staat op de result.php
http://members.lycos.nl/interfoon/mettoestel.php
criteria invul, dan zie ik echt geen query op:
http://members.lycos.nl/interfoon/result.php
Ik snap er niets van.. als ik hier: criteria invul, dan zie ik echt geen query op:
http://members.lycos.nl/interfoon/result.php
ik heb dat ook maar enkel als ik er meer dan 1 invoer
als ik er 1 kies komt het wel
dat is ook zegmaar het probleem
ELke keer na if ($and){
staat er $voorwaarden = maar dat moet .= zijn, dus met een punt voor het is-teken.
dat gaan we even testen
nu nog het aantal resultaten beperken :D
Maak van de query eens dit:
Code (php)
1
2
3
4
5
2
3
4
5
<?php
$sql = "
SELECT merk, model, kort, prijs, leverbaar, kleur, link
FROM products" . $voorwaarden." LIMIT".$begin.",".$eind;
?>
$sql = "
SELECT merk, model, kort, prijs, leverbaar, kleur, link
FROM products" . $voorwaarden." LIMIT".$begin.",".$eind;
?>
Dit is nog niet het hele script voor de nummering, maar dat komt zo ;)
gedaan maar dan geeft ie niets weer
Bestaat $begin, $eind wel?
Nog niet.. dat moet nog komen :) Dat hoort weer bij het pagina nummeringssysteem wat erin gaat komen.. dat wil ik stapje voor stapje gaan doen. :)
EDIT:
De reden hiervoor is is dat ik denk dat Michael er dan veel meer van zal leren. En dat is juist de bedoeling.. ik kan wel ineens een heel stuk code erin gooien, maar dan is het nog maar de vraag of die het begrijpt. (werken zal het wel :P)
@Michael
Zet dan eens bovenaan je stukje php script dit neer:
$begin = 0;
$eind = 10;
Test het dan nog eens, als het goed is krijg je 10 records, en niet meer. Die $begin en $eind gaan we straks zo regelen, dat je die met een vorige, volgende knop kan "instellen".
Gewijzigd op 31/01/2006 17:40:00 door Robert Deiman
gedaan :D
ziet er nu zo uit
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
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
<?php
$begin = 0;
$eind = 10;
// connect script
$db_host = 'localhost';
$db_user = 'interfoon';
$db_pass = '';
$db_name = 'interfoon_nl_db';
mysql_connect ($db_host, $db_user, $db_pass);
@mysql_select_db ($db_name) or die ('Fout bij het selecteren van de database');
unset ($db_host, $db_user, $db_pass, $db_name);
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
if ($_POST['merk'] == 'geen voorkeur') {
$voorwaarden .= "";
$and = false;
}
else {
$voorwaarden .= " WHERE merk LIKE '".$_POST['merk']."'";
$and = true;
}
if (isset ($_POST['camera'])) {
if ($and) {
$voorwaarden .= ' AND camera = 1';
}
else {
$voorwaarden .= ' WHERE camera = 1';
$and = true;
}
}
if (isset ($_POST['bluetooth'])) {
if ($and) {
$voorwaarden .= ' AND bluetooth = 1';
}
else {
$voorwaarden .= ' WHERE bluetooth = 1';
$and = true;
}
}
if (isset ($_POST['umts'])) {
if ($and) {
$voorwaarden .= ' AND umts = 1';
}
else {
$voorwaarden .= ' WHERE umts = 1';
$and = true;
}
}
$sql = "
SELECT merk, model, kort, prijs, leverbaar, kleur, link
FROM products" . $voorwaarden." LIMIT".$begin.",".$eind;
// hierna je query uitvoeren
}
$result=mysql_query($sql);
echo "<table border=1>\n";
echo "<tr><b><td>Merk</td><td>Model</td><td>Prijs in €</td><td>Extra's</td><td>Kleur</td><td>Leverbaar</td><td>Meer info</td><b></tr>\n";
while ($myrow = mysql_fetch_row($result)) {
printf("<tr><td>%s</td> <td>%s</td><td>%s</td><td>%s</td><td>%s</td><td>%s</td><td>%s</td></tr>\n",
$myrow[0], $myrow[1], $myrow[3], $myrow[2], $myrow[5], $myrow[4], $myrow[6]);
}
echo $query."\n";
?>
$begin = 0;
$eind = 10;
// connect script
$db_host = 'localhost';
$db_user = 'interfoon';
$db_pass = '';
$db_name = 'interfoon_nl_db';
mysql_connect ($db_host, $db_user, $db_pass);
@mysql_select_db ($db_name) or die ('Fout bij het selecteren van de database');
unset ($db_host, $db_user, $db_pass, $db_name);
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
if ($_POST['merk'] == 'geen voorkeur') {
$voorwaarden .= "";
$and = false;
}
else {
$voorwaarden .= " WHERE merk LIKE '".$_POST['merk']."'";
$and = true;
}
if (isset ($_POST['camera'])) {
if ($and) {
$voorwaarden .= ' AND camera = 1';
}
else {
$voorwaarden .= ' WHERE camera = 1';
$and = true;
}
}
if (isset ($_POST['bluetooth'])) {
if ($and) {
$voorwaarden .= ' AND bluetooth = 1';
}
else {
$voorwaarden .= ' WHERE bluetooth = 1';
$and = true;
}
}
if (isset ($_POST['umts'])) {
if ($and) {
$voorwaarden .= ' AND umts = 1';
}
else {
$voorwaarden .= ' WHERE umts = 1';
$and = true;
}
}
$sql = "
SELECT merk, model, kort, prijs, leverbaar, kleur, link
FROM products" . $voorwaarden." LIMIT".$begin.",".$eind;
// hierna je query uitvoeren
}
$result=mysql_query($sql);
echo "<table border=1>\n";
echo "<tr><b><td>Merk</td><td>Model</td><td>Prijs in €</td><td>Extra's</td><td>Kleur</td><td>Leverbaar</td><td>Meer info</td><b></tr>\n";
while ($myrow = mysql_fetch_row($result)) {
printf("<tr><td>%s</td> <td>%s</td><td>%s</td><td>%s</td><td>%s</td><td>%s</td><td>%s</td></tr>\n",
$myrow[0], $myrow[1], $myrow[3], $myrow[2], $myrow[5], $myrow[4], $myrow[6]);
}
echo $query."\n";
?>
Quote:
Heb je wel in de gaten dat het 5 body tags zijn die je opent? Dat kan in één body tag, nee dat moet in één body tag. En nog beter: los het in je Style-Sheets op.<body>
<body text="#668014">
<body link="#009ACD">
<body vlink="#556B2F">
<body alink="#009ACD">
<body text="#668014">
<body link="#009ACD">
<body vlink="#556B2F">
<body alink="#009ACD">
$sql = "
SELECT merk, model, kort, prijs, leverbaar, kleur, link
FROM products" . $voorwaarden." LIMIT ".$begin.",".$eind;
Let op dat er een spatie moet na het woord LIMIT en voor de quotes ("). Dan zou het wel moeten werken.
maar de rest van de resultaten zijn nu niet zichtbaar.
Het ging er eerst voor mij even om dat de query goed is. Je snapt de werking ook van het deel wat we hebben toegevoegd neem ik aan?
Het is dan namelijk veel gemakkelijker, om ook het telsysteem te begrijpen.
:D
ik stel je hulp op prijs
tot zo