In 3 verschillende kolommen zoeken

Status
Niet open voor verdere reacties.

Maartenv87

Gebruiker
Lid geworden
23 okt 2008
Berichten
72
Ik ga eventjes mijn script voorstellen.
http://sbshasselt.be/ictco/maarten/icttips/index.php
Bij de eerste zoekactie is er geen probleem.
Bij de tweede zoekactie (Zoeken op trefwoord in een zoekcategorie) krijg ik maar niet gemaakt hoe ik het zou willen.

Wanneer bezoekers niets ingeven bij het trefwoord en in een zoekcategorie zoeken dan wil ik dat alle resultaten komen van die categorie.
Wanneer bezoekers <- Kies zoekcategorie -> laten aanstaan en allleen een trefwoord ingeven wil ik alle resultaten van die trefwoorden krijgen.

Probleem zit waarschijnlijk hier
$sql = "SELECT * FROM `formulier` WHERE (`$deel` LIKE '%$zoeken%')";
$qSelect_berichten = $db->simpleQuery($sql) or die (mysql_error());
while($db->fetchInto($qSelect_berichten, $aBerichten, DB_FETCHMODE_ASSOC))


Dit is mijn script
Code:
<?php


	if(!isset($deel))
	{
		$selected0 = 'selected';
		$selected1 = '';
		$selected2 = '';
  		$selected3 = '';

   
	}
    if(isset($deel) && 'Vak' == $deel)
	{
		$selected0 = '';
		$selected1 = 'selected';
		$selected2 = '';
	    $selected3 = '';

	}
	if(isset($deel) && 'Lesonderwerp' == $deel)
	{
		$selected0 = '';
		$selected1 = '';
		$selected2 = 'selected';
	    $selected3 = '';

	}
	if(isset($deel) && 'Doelstelling' == $deel)
	{
		$selected0 = '';
		$selected1 = '';
		$selected2 = '';
	    $selected3 = 'selected';

	}
	
// ==================================================================================
// ================================ F O R M U L I E R ===============================
// ==================================================================================
?>


<p align="center"><FORM METHOD="post" ACTION="<?php echo $_SERVER['PHP_SELF']?>">
<p class="style4" align="center">Zoeken op trefwoord in een zoekcategorie:</p>
<p class="style4" align="center"><input name="zoeken" type="text">
            <select name="deel">
			<option <?php echo $selected0 ?>><-- Kies zoekcategorie --></option>
			<option <?php echo $selected1 ?>>Vak</option>
			<option <?php echo $selected2 ?>>Lesonderwerp</option>
   			<option <?php echo $selected3 ?>>Doelstelling</option>
    		</select>
<INPUT NAME="verzenden" TYPE="submit" VALUE="Zoeken" /></p>
</FORM></P>



<?php
	
	if(isset($zoeken) && '' != $zoeken)
	{
		// VOORLOPIG TER CONTROLE VAN DE BINNENKOMENDE WAARDEN
		echo '<p class="style4" align="center">';
  		echo "<b>$zoeken</b> werd gekozen.";
		echo '</p>';
		
		
		
// ==================================================================================
// ================================ R E S U L T A A T ===============================
// ==================================================================================
?>


		<table width="100%" border="1">
			<tr>
   		     	<td width="50px" class="style7"><b><p class="style3">Oefening</p></b></td>
				<td width="50px" class="style7"><b><p class="style3">Vak</p></b></td>
				<td width="50px" class="style7"><b><p class="style3">Lesonderwerp</p></b></td>
				<td width="50px" class="style7"><b><p class="style3">Doelstelling</p></b></td>
				<td width="20px" class="style7"><b><p class="style3">IN</p></b></td>
				<td width="50px" class="style7"><b><p class="style3">Media</p></b></td>
			</tr>
<?php
			$sql = "SELECT * FROM `formulier` WHERE (`$deel` LIKE '%$zoeken%')";
			$qSelect_berichten  = $db->simpleQuery($sql) or die (mysql_error());
			while($db->fetchInto($qSelect_berichten, $aBerichten, DB_FETCHMODE_ASSOC))
			{
				echo '<tr>
			        <td width="50"><p class="style4"></p>'.$aBerichten['id'].'</td>
					<td width="50px"><p class="style4"><img src="vakken/'.$aBerichten['vak'].'.jpg" width="60" height="60" /></p></td>
					<td width="50px"><p class="style4">'.$aBerichten['lesonderwerp'].'</p></td>
					<td width="30%"><p class="style4">'.$aBerichten['doelstelling'].'</p></td>
					<td width="20px"><p class="style4">'.$aBerichten['ict'].'</p></td>
					<td width="30%"><p class="style4"><a href="'.$aBerichten['ict2'].'" target="_blank">1</a></p></td>
				</tr>';
		}
		echo '</table>';
	}

?>
 
Ondertussen ben ik al verder geraakt door het gebruik van een FULLTEXT index en if statements.
Nu heb ik het volgende probleem.

Code:
if ($zoeken == ' ') {$sql = "SELECT * FROM `formulier`";}

Dus als $zoeken leeg is moet hij alles tonen. Hoe kan ik dit bekomen?
 
Als je SELECT * FROM table doet, krijg je alles uit die tabel terug, als je dat wilt...
 
Ondertussen heb ik dit volledig klaargekregen.
Voor de geïnteresseerden:
Code:
<?php

	if(!isset($deel))
	{
		$selected0 = 'selected';
		$selected1 = '';
		$selected2 = '';
  		$selected3 = '';

   
	}
    if(isset($deel) && 'Vak' == $deel)
	{
		$selected0 = '';
		$selected1 = 'selected';
		$selected2 = '';
	    $selected3 = '';

	}
	if(isset($deel) && 'Lesonderwerp' == $deel)
	{
		$selected0 = '';
		$selected1 = '';
		$selected2 = 'selected';
	    $selected3 = '';

	}
	if(isset($deel) && 'Doelstelling' == $deel)
	{
		$selected0 = '';
		$selected1 = '';
		$selected2 = '';
	    $selected3 = 'selected';

	}
	
// ==================================================================================
// ================================ F O R M U L I E R ===============================
// ==================================================================================
?>


<p align="center"><FORM METHOD="post" ACTION="<?php echo $_SERVER['PHP_SELF']?>">
<p class="style4" align="center">Zoeken op trefwoord in een zoekcategorie:</p>
<p class="style4" align="center"><input name="zoeken" type="text">
            <select name="deel">
			<option <?php echo $selected0 ?>><-- Kies zoekcategorie --></option>
			<option <?php echo $selected1 ?>>Vak</option>
			<option <?php echo $selected2 ?>>Lesonderwerp</option>
   			<option <?php echo $selected3 ?>>Doelstelling</option>
    		</select>
<INPUT NAME="verzenden" TYPE="submit" VALUE="Zoeken" /></p>
</FORM></P>



<?php
	if(isset($zoeken) && '' != $zoeken)
	{
// VOORLOPIG TER CONTROLE VAN DE BINNENKOMENDE WAARDEN
		echo '<p class="style4" align="center">';
  		echo "Zoeken op: <b>$zoeken</b>";
		echo '</p>';
		
		
		
// ==================================================================================
// ================================ R E S U L T A A T ===============================
// ==================================================================================
?>


		<table width="100%" border="1">
			<tr>
   		     	<td width="50px" class="style7"><b><p class="style3">Oefening</p></b></td>
				<td width="50px" class="style7"><b><p class="style3">Vak</p></b></td>
				<td width="50px" class="style7"><b><p class="style3">Lesonderwerp</p></b></td>
				<td width="50px" class="style7"><b><p class="style3">Doelstelling</p></b></td>
				<td width="20px" class="style7"><b><p class="style3">IN</p></b></td>
				<td width="50px" class="style7"><b><p class="style3">Media</p></b></td>
			</tr>
<?php
 			if ($deel == '<-- Kies zoekcategorie -->') {$sql = "SELECT * FROM formulier WHERE MATCH (vak, lesonderwerp, doelstelling) AGAINST ('%$zoeken%' IN BOOLEAN MODE)";}
			else
			{$sql = "SELECT * FROM `formulier` WHERE (`$deel` LIKE '%$zoeken%')";}
			$qSelect_berichten  = $db->simpleQuery($sql) or die (mysql_error());
			while($db->fetchInto($qSelect_berichten, $aBerichten, DB_FETCHMODE_ASSOC))
			
			
			{
				echo '<tr>
			        <td width="50"><p class="style4"></p>'.$aBerichten['id'].'</td>
					<td width="50px"><p class="style4"><img src="vakken/'.$aBerichten['vak'].'.jpg" width="60" height="60" /></p></td>
					<td width="50px"><p class="style4">'.$aBerichten['lesonderwerp'].'</p></td>
					<td width="30%"><p class="style4">'.$aBerichten['doelstelling'].'</p></td>
					<td width="20px"><p class="style4">'.$aBerichten['ict'].'</p></td>
					<td width="30%"><p class="style4"><a href="'.$aBerichten['ict2'].'" target="_blank">1</a></p></td>
				</tr>';
		}
		echo '</table>';
	}
// ==========================================          EERSTE ELSEIF
elseif ($zoeken == "" AND $deel == '<-- Kies zoekcategorie -->') {
?>	

		<table width="100%" border="1">
			<tr>
   		     	<td width="50px" class="style7"><b><p class="style3">Oefening</p></b></td>
				<td width="50px" class="style7"><b><p class="style3">Vak</p></b></td>
				<td width="50px" class="style7"><b><p class="style3">Lesonderwerp</p></b></td>
				<td width="50px" class="style7"><b><p class="style3">Doelstelling</p></b></td>
				<td width="20px" class="style7"><b><p class="style3">IN</p></b></td>
				<td width="50px" class="style7"><b><p class="style3">Media</p></b></td>
			</tr>
<?php

			$sql = "SELECT * FROM `formulier`";
			$qSelect_berichten  = $db->simpleQuery($sql) or die (mysql_error());
			while($db->fetchInto($qSelect_berichten, $aBerichten, DB_FETCHMODE_ASSOC))
			
			
			{
				echo '<tr>
			        <td width="50"><p class="style4"></p>'.$aBerichten['id'].'</td>
					<td width="50px"><p class="style4"><img src="vakken/'.$aBerichten['vak'].'.jpg" width="60" height="60" /></p></td>
					<td width="50px"><p class="style4">'.$aBerichten['lesonderwerp'].'</p></td>
					<td width="30%"><p class="style4">'.$aBerichten['doelstelling'].'</p></td>
					<td width="20px"><p class="style4">'.$aBerichten['ict'].'</p></td>
					<td width="30%"><p class="style4"><a href="'.$aBerichten['ict2'].'" target="_blank">1</a></p></td>
				</tr>';
		}
		echo '</table>';
		}
?>
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan