Hulp voor mijn vergelijkingssite

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Barend Princen

Barend Princen

15/07/2012 15:38:34
Quote Anchor link
Beste Mensen,

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?

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<?php } while ($row_rsresultaat = mysql_fetch_assoc($rsresultaat)); ?>


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)
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
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>&euro; <?php echo $row_rsresultaat['Adviesprijs']; ?></td>
    </tr>
    <?php } while ($row_rsresultaat = mysql_fetch_assoc($rsresultaat)); ?>
  </table>
  <p>&nbsp;</p>
  <p>&nbsp;</p>
</form>


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
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>&nbsp;</td>
    <td>&nbsp;</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>&euro; <?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
 
PHP hulp

PHP hulp

03/01/2025 09:50:00
 
Eddy E

Eddy E

15/07/2012 15:55:46
Quote Anchor link
Jou je dat even zo kunnen neerzetten?

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
[_code][/_code]
?
Zonder _ dan ;).

Dit is onleesbaar.
Gewijzigd op 15/07/2012 15:56:07 door Eddy E
 
Barend Princen

Barend Princen

15/07/2012 16:09:19
Quote Anchor link
Gedaan, dank je wel voor de feedback
Gewijzigd op 15/07/2012 16:12:25 door Barend Princen
 
Eddy E

Eddy E

15/07/2012 16:22:14
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
<?php
$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.
 
- SanThe -

- SanThe -

15/07/2012 16:33:21
Quote Anchor link
ereg() is antiek en zal na een update van php niet meer werken.
$_REQUEST is ook uit de tijd, kijk eens naar de gangbare superglobals.
 
Barend Princen

Barend Princen

16/07/2012 09:16:20
Quote Anchor link
@Eddy, de resultaten worden gefilterd in een formulier wat nog voor de twee resultatenschermen zit. Dat staat live op: 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.
 



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.