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?

<?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:

 <?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>



  <?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>
Jou je dat even zo kunnen neerzetten?

[_code][/_code]
?
Zonder _ dan ;).

Dit is onleesbaar.
Gedaan, dank je wel voor de feedback
<?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.
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.
@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.

Reageren