ik heb de onstaande code (het is maar een deel) ik explode al alleen zou ik willen dat het niet hoofdlettergevoelig zoekt. Als iemand eerder tijdens upload Water zou typen en een ander water dan vind je met water alleen waterafbeeldingen en met HOOFDLETTER W Water alles dat met een hoofdletter is ingevoerd. Kan iemand mij helpen hoe ik dat kan oplossen?

<?php/*Zoeken op 1 van de categorieeen (behalve alles) in ZOWEL omschrijving als trefwoord (!=ongelijk). Door ongelijk hoef je alleen input aan te passen indien er nieuwe categorieeen bij komen (ZOEKEN OP 1 VAN DE DOOR GEBRUIKER GEKOZEN CATEGORIEEEN IN ZOWEL TREFWOORD OF OMSCHRIJVING MET ZOEKTERM(EN) VAN GEBRUIKER)*/		
		if ($_POST['zoekopcategorie'] != 'Alles' && $_POST['zoekenin'] == 'Alles')
		{
			$zoekexploded = explode(' ', $zoeken);
/*Zorgt ervoor dat de variabelen weer leeg zijn (vooral belangrijk na een al reeds uitgevoerde zoekopdracht)*/
			$like = "";			
			$like2 = "";
			foreach($zoekexploded as $k=>$v) 
			{
				if($k == 0) 
				{
/*Indien gebruiker 1 woord invoert*/
					$like .= "afbtrefwoord.trefwoord LIKE '%".$v."%' ";
					$like2 .= "afbomschrijving.omschrijving LIKE '%".$v."%' ";
				}
				else
/*Indien gebruiker MEER dan 1 woord invoert. Tussen elk zoekwoord wordt een AND operator geplaatst*/
				{
					$like .= "AND afbtrefwoord.trefwoord LIKE '%".$v."%' ";
					$like2 .= "AND afbomschrijving.omschrijving LIKE '%".$v."%' ";
				}
			}
/*Bij where worden de tabellen als 1 gemaakt en krijgt de gebruiker het/de resultaat of resultaten te zien van 1 van de door hem/haar gekozen categorie waar het/de zoekwoord(en) van gebruiker in omschrijving OF trefwoord moet voorkomen (ZOEKEN OP 1 VAN DE DOOR GEBRUIKER GEKOZEN CATEGORIEEEN IN ZOWEL TREFWOORD OF OMSCHRIJVING MET ZOEKTERM(EN) VAN GEBRUIKER)*/
			$sql = "
			SELECT
				afblocatie.thumbnail,
				afbcategorie.categorie,
				afbomschrijving.omschrijving,
				afbtrefwoord.trefwoord
			FROM
				afblocatie,
				afbcategorie,
				afbomschrijving,
				afbtrefwoord
			WHERE
				afblocatie.id = afbtrefwoord.id
			AND
				afblocatie.id = afbcategorie.id
			AND
				afblocatie.id = afbomschrijving.id
			AND
				afblocatie.id = afbtrefwoord.id
			AND
				afbcategorie.categorie LIKE '".$zoekopcategorie."'
			AND
				(
						".$like."
					OR
						".$like2."
				)
			";
		}?>
Misschien met [php]strtolower[/php] alles naar kleine letters maken?
Php is altijd hoofdletter gevoelig, geen idee of je dat kunt veranderen..

Wat je kunt doen:
Alle resultaten in een array, die while, daar A-Z replacen met a-z en dat bij zoekstring ook doen en dan kijken welken er een beetje over een komen. Maar als je dit met een query zou kunnen doen is het wel makkelijker (niet alleen voor jouw, ook voor server) PHP is namelijk slomer dan mysql en het kost ook nog eens veel parse tijd.

Reageren