Hulp voor mijn vergelijkingssite
Ik ben nieuw hier en ben niet zo ervaren met programeren. Alles wat ik doe doe ik met een wysiwyg editor (dreamweaver) en af en toe kijk ik dan mee met de code. Het resultaat implementeer ik als ik klaar ben in mijn joomla site. Nu ben ik bezig met een soort vergelijkingstabel in 3 stappen:
1. Een selectieformulier op www.schaatstest.nl/form3.php
2. Een eerste resultatenscherm met checkboxes op www.schaatstest.nl/result3a.php
3. Een tweede resultatenscherm met meer details op www.schaatstest.nl/result3b.php
Ik krijg twee dingen niet voor elkaar.
Het eerste probleem is dat het tweede resultatenscherm wel reageert op de submit knop door alle resultaten te tonen, maar niet goed reageert op het aanklikken van de checkboxes want dan worden plots geen resultaten meer getoond.
Het tweede probleem is dat de resultaten op het tweede resultatenscherm in rijen herhaald worden maar ik wil dat in kolommen. Ik heb de volgende code in mijn script van het tweede resultatenscherm staan. Deze regelt volgens mij de herhaling van de rijen? Kan ik dat herhalen zodat het in kolommen herhaald wordt?
Een wens is verder dat je in scherm 2 slechts 3 of 4 checkboxes kan aanvinken.
Is er iemand die me hier mee kan helpen? Zie onderstaande scripts van resultatenscherm 1 en resultatenscherm 2:
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
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
<?php
function CheckboxToevoeging ($Name)
{
$val = $_REQUEST[$Name];
if ($val){
$query .= "\nAND ( ";
foreach ($val as $m){
if ($i){ $query .= 'OR ';} else {$i=true;}
$query .= $Name." = '".mysql_real_escape_string($m)."' ";
}
$query .= ')';
}
return $query;
}
function MinMaxToevoeging ($Name,$Column,$MinMax)
{
if(ereg('^[0-9]+$', $_REQUEST[$Name])) {$val = $_REQUEST[$Name];}
if ($val){
$query .= "\nAND ( ";
$query .= $Column.' ';
if ($MinMax == 'Min'){$query .= '>= ';}
if ($MinMax == 'Max'){$query .= '<= ';}
$query .= mysql_real_escape_string($val)." ";
$query .= ')';
}
return $query;
}
?>
<?php
mysql_select_db($database_schaatstabel, $schaatstabel);
// fout: $query_rsresultaat = "SELECT * FROM jos_schaatstabel";
$query_rsresultaat="SELECT *
FROM jos_schaatstabel
WHERE typenaam IS NOT NULL ";
$query_rsresultaat.= CheckboxToevoeging('Merknaam');
$query_rsresultaat.= CheckboxToevoeging('soort');
$query_rsresultaat.= CheckboxToevoeging('Categorie');
$query_rsresultaat.= MinMaxToevoeging('Minimumprijs','Adviesprijs','Min');
$query_rsresultaat.= MinMaxToevoeging('Maximumprijs','Adviesprijs','Max');
$rsresultaat = mysql_query($query_rsresultaat, $schaatstabel) or die(mysql_error());
$row_rsresultaat = mysql_fetch_assoc($rsresultaat);
$totalRows_rsresultaat = mysql_num_rows($rsresultaat);
?>
<form action="result3b.php" method="get" name="chart1" target="_self" id="chart1">
<p>
<input name="submit" type="submit" id="submit" value="Vergelijk Schaatsen">
</p>
<table border="0" align="left" cellpadding="2" cellspacing="0" bordercolor="#CCCCCC" bgcolor="#FFFFFF">
<tr>
<td>Vergelijk</td>
<td>Foto</td>
<td>Soort</td>
<td>Merk</td>
<td>Type</td>
<td><p>Adviesprijs</p></td>
</tr>
<?php do { ?>
<tr>
<td><input name="Merknaam[]" type="checkbox" id="cb1" value="Merknaam"></td>
<td><?php echo '<img src="' . $row_rsresultaat['Foto'] . '" width="115"/>'; ?> </td>
<td><?php echo $row_rsresultaat['soort']; ?></td>
<td><?php echo $row_rsresultaat['Merknaam']; ?></td>
<td><?php echo $row_rsresultaat['Typenaam']; ?></td>
<td>€ <?php echo $row_rsresultaat['Adviesprijs']; ?></td>
</tr>
<?php } while ($row_rsresultaat = mysql_fetch_assoc($rsresultaat)); ?>
</table>
<p> </p>
<p> </p>
</form>
function CheckboxToevoeging ($Name)
{
$val = $_REQUEST[$Name];
if ($val){
$query .= "\nAND ( ";
foreach ($val as $m){
if ($i){ $query .= 'OR ';} else {$i=true;}
$query .= $Name." = '".mysql_real_escape_string($m)."' ";
}
$query .= ')';
}
return $query;
}
function MinMaxToevoeging ($Name,$Column,$MinMax)
{
if(ereg('^[0-9]+$', $_REQUEST[$Name])) {$val = $_REQUEST[$Name];}
if ($val){
$query .= "\nAND ( ";
$query .= $Column.' ';
if ($MinMax == 'Min'){$query .= '>= ';}
if ($MinMax == 'Max'){$query .= '<= ';}
$query .= mysql_real_escape_string($val)." ";
$query .= ')';
}
return $query;
}
?>
<?php
mysql_select_db($database_schaatstabel, $schaatstabel);
// fout: $query_rsresultaat = "SELECT * FROM jos_schaatstabel";
$query_rsresultaat="SELECT *
FROM jos_schaatstabel
WHERE typenaam IS NOT NULL ";
$query_rsresultaat.= CheckboxToevoeging('Merknaam');
$query_rsresultaat.= CheckboxToevoeging('soort');
$query_rsresultaat.= CheckboxToevoeging('Categorie');
$query_rsresultaat.= MinMaxToevoeging('Minimumprijs','Adviesprijs','Min');
$query_rsresultaat.= MinMaxToevoeging('Maximumprijs','Adviesprijs','Max');
$rsresultaat = mysql_query($query_rsresultaat, $schaatstabel) or die(mysql_error());
$row_rsresultaat = mysql_fetch_assoc($rsresultaat);
$totalRows_rsresultaat = mysql_num_rows($rsresultaat);
?>
<form action="result3b.php" method="get" name="chart1" target="_self" id="chart1">
<p>
<input name="submit" type="submit" id="submit" value="Vergelijk Schaatsen">
</p>
<table border="0" align="left" cellpadding="2" cellspacing="0" bordercolor="#CCCCCC" bgcolor="#FFFFFF">
<tr>
<td>Vergelijk</td>
<td>Foto</td>
<td>Soort</td>
<td>Merk</td>
<td>Type</td>
<td><p>Adviesprijs</p></td>
</tr>
<?php do { ?>
<tr>
<td><input name="Merknaam[]" type="checkbox" id="cb1" value="Merknaam"></td>
<td><?php echo '<img src="' . $row_rsresultaat['Foto'] . '" width="115"/>'; ?> </td>
<td><?php echo $row_rsresultaat['soort']; ?></td>
<td><?php echo $row_rsresultaat['Merknaam']; ?></td>
<td><?php echo $row_rsresultaat['Typenaam']; ?></td>
<td>€ <?php echo $row_rsresultaat['Adviesprijs']; ?></td>
</tr>
<?php } while ($row_rsresultaat = mysql_fetch_assoc($rsresultaat)); ?>
</table>
<p> </p>
<p> </p>
</form>
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
121
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
121
<?php
function CheckboxToevoeging ($Name)
{
$val = $_REQUEST[$Name];
if ($val){
$query .= "\nAND ( ";
foreach ($val as $m){
if ($i){ $query .= 'OR ';} else {$i=true;}
$query .= $Name." = '".mysql_real_escape_string($m)."' ";
}
$query .= ')';
}
return $query;
}
function MinMaxToevoeging ($Name,$Column,$MinMax)
{
if(ereg('^[0-9]+$', $_REQUEST[$Name])) {$val = $_REQUEST[$Name];}
if ($val){
$query .= "\nAND ( ";
$query .= $Column.' ';
if ($MinMax == 'Min'){$query .= '>= ';}
if ($MinMax == 'Max'){$query .= '<= ';}
$query .= mysql_real_escape_string($val)." ";
$query .= ')';
}
return $query;
}
?>
<?php
mysql_select_db($database_schaatstabel, $schaatstabel);
// fout: $query_rsresultaat = "SELECT * FROM jos_schaatstabel";
$query_rsresultaat="SELECT *
FROM jos_schaatstabel
WHERE typenaam IS NOT NULL ";
$query_rsresultaat.= CheckboxToevoeging('Merknaam');
$rsresultaat = mysql_query($query_rsresultaat, $schaatstabel) or die(mysql_error());
$row_rsresultaat = mysql_fetch_assoc($rsresultaat);
$totalRows_rsresultaat = mysql_num_rows($rsresultaat);
?>
<table width="242" border="0" align="left" cellpadding="2" cellspacing="0" bordercolor="#CCCCCC" bgcolor="#FFFFFF">
<tr>
<td colspan="2"><span class="style4">Resultaat van je selectie </span></td>
</tr>
<tr>
<td> </td>
<td> </td>
</tr>
<?php do { ?>
<tr>
<td>Foto</td>
<td><?php echo '<img src="' . $row_rsresultaat['Foto'] . '" width="130"/>'; ?></td>
</tr>
<tr>
<td>Merk</td>
<td><strong><?php echo $row_rsresultaat['Merknaam']; ?></strong></td>
</tr>
<tr>
<td>Type</td>
<td><?php echo $row_rsresultaat['Typenaam']; ?></td>
</tr>
<tr>
<td>Adviesprijs</td>
<td>€ <?php echo $row_rsresultaat['Adviesprijs']; ?></td>
</tr>
<tr>
<td>Categorie</td>
<td><?php echo $row_rsresultaat['Categorie']; ?></td>
</tr>
<tr>
<td>Zool</td>
<td><?php echo $row_rsresultaat['Zool']; ?></td>
</tr>
<tr>
<td>Materie Schoen </td>
<td><?php echo $row_rsresultaat['Leersoort']; ?></td>
</tr>
<tr>
<td>Contrefort</td>
<td><?php echo $row_rsresultaat['Contrefort']; ?></td>
</tr>
<tr>
<td>Sluiting</td>
<td><?php echo $row_rsresultaat['Sluiting']; ?></td>
</tr>
<tr>
<td>Materie buis </td>
<td><?php echo $row_rsresultaat['Materie Buis']; ?></td>
</tr>
<tr>
<td>Hoogte</td>
<td><?php echo $row_rsresultaat['Hoogte']; ?></td>
</tr>
<tr>
<td>Materie Met </td>
<td><?php echo $row_rsresultaat['Materie Mes']; ?></td>
</tr>
<tr>
<td>Hardheid (HRC) </td>
<td><?php echo $row_rsresultaat['Hardheid (HRC)']; ?></td>
</tr>
<tr>
<td>Review</td>
<td> <a href="<?php echo $row_rsresultaat['Review']; ?>" target="_blank">review</a></td>
</tr>
<?php } while ($row_rsresultaat = mysql_fetch_assoc($rsresultaat)); ?>
</table>
function CheckboxToevoeging ($Name)
{
$val = $_REQUEST[$Name];
if ($val){
$query .= "\nAND ( ";
foreach ($val as $m){
if ($i){ $query .= 'OR ';} else {$i=true;}
$query .= $Name." = '".mysql_real_escape_string($m)."' ";
}
$query .= ')';
}
return $query;
}
function MinMaxToevoeging ($Name,$Column,$MinMax)
{
if(ereg('^[0-9]+$', $_REQUEST[$Name])) {$val = $_REQUEST[$Name];}
if ($val){
$query .= "\nAND ( ";
$query .= $Column.' ';
if ($MinMax == 'Min'){$query .= '>= ';}
if ($MinMax == 'Max'){$query .= '<= ';}
$query .= mysql_real_escape_string($val)." ";
$query .= ')';
}
return $query;
}
?>
<?php
mysql_select_db($database_schaatstabel, $schaatstabel);
// fout: $query_rsresultaat = "SELECT * FROM jos_schaatstabel";
$query_rsresultaat="SELECT *
FROM jos_schaatstabel
WHERE typenaam IS NOT NULL ";
$query_rsresultaat.= CheckboxToevoeging('Merknaam');
$rsresultaat = mysql_query($query_rsresultaat, $schaatstabel) or die(mysql_error());
$row_rsresultaat = mysql_fetch_assoc($rsresultaat);
$totalRows_rsresultaat = mysql_num_rows($rsresultaat);
?>
<table width="242" border="0" align="left" cellpadding="2" cellspacing="0" bordercolor="#CCCCCC" bgcolor="#FFFFFF">
<tr>
<td colspan="2"><span class="style4">Resultaat van je selectie </span></td>
</tr>
<tr>
<td> </td>
<td> </td>
</tr>
<?php do { ?>
<tr>
<td>Foto</td>
<td><?php echo '<img src="' . $row_rsresultaat['Foto'] . '" width="130"/>'; ?></td>
</tr>
<tr>
<td>Merk</td>
<td><strong><?php echo $row_rsresultaat['Merknaam']; ?></strong></td>
</tr>
<tr>
<td>Type</td>
<td><?php echo $row_rsresultaat['Typenaam']; ?></td>
</tr>
<tr>
<td>Adviesprijs</td>
<td>€ <?php echo $row_rsresultaat['Adviesprijs']; ?></td>
</tr>
<tr>
<td>Categorie</td>
<td><?php echo $row_rsresultaat['Categorie']; ?></td>
</tr>
<tr>
<td>Zool</td>
<td><?php echo $row_rsresultaat['Zool']; ?></td>
</tr>
<tr>
<td>Materie Schoen </td>
<td><?php echo $row_rsresultaat['Leersoort']; ?></td>
</tr>
<tr>
<td>Contrefort</td>
<td><?php echo $row_rsresultaat['Contrefort']; ?></td>
</tr>
<tr>
<td>Sluiting</td>
<td><?php echo $row_rsresultaat['Sluiting']; ?></td>
</tr>
<tr>
<td>Materie buis </td>
<td><?php echo $row_rsresultaat['Materie Buis']; ?></td>
</tr>
<tr>
<td>Hoogte</td>
<td><?php echo $row_rsresultaat['Hoogte']; ?></td>
</tr>
<tr>
<td>Materie Met </td>
<td><?php echo $row_rsresultaat['Materie Mes']; ?></td>
</tr>
<tr>
<td>Hardheid (HRC) </td>
<td><?php echo $row_rsresultaat['Hardheid (HRC)']; ?></td>
</tr>
<tr>
<td>Review</td>
<td> <a href="<?php echo $row_rsresultaat['Review']; ?>" target="_blank">review</a></td>
</tr>
<?php } while ($row_rsresultaat = mysql_fetch_assoc($rsresultaat)); ?>
</table>
Gewijzigd op 15/07/2012 16:10:29 door Barend Princen
Gewijzigd op 15/07/2012 16:12:25 door Barend Princen
Code (php)
1
2
3
4
5
2
3
4
5
<?php
$query_rsresultaat="SELECT *
FROM jos_schaatstabel
WHERE typenaam IS NOT NULL ";
?>
$query_rsresultaat="SELECT *
FROM jos_schaatstabel
WHERE typenaam IS NOT NULL ";
?>
Waar filter je je resultaten?
Je hebt wel een hoop formulier (met isset($_POST['veldnaam']) kijk je of een checkbox is aangevinkt), maar je doet er niets mee.
$_REQUEST is ook uit de tijd, kijk eens naar de gangbare superglobals.
www.schaatstest.nl/form3.php. Wat adviseer j eme om waar toe te voegen om de aangevinkte checkboxes te herkennen en ook echt te tonen.
@SanThe, de ouderwetse code komt vermoedelijk door mijn oude editor en dat zal ik nog een keer aan moeten passen. Maar staat het verder niet los van mijn vraag?
En blijft natuurlijk mijn vraag hoe ik in kolommen herhaal in het laatste scherm.
@Eddy, de resultaten worden gefilterd in een formulier wat nog voor de twee resultatenschermen zit. Dat staat live op: @SanThe, de ouderwetse code komt vermoedelijk door mijn oude editor en dat zal ik nog een keer aan moeten passen. Maar staat het verder niet los van mijn vraag?
En blijft natuurlijk mijn vraag hoe ik in kolommen herhaal in het laatste scherm.