Resultaat afhankelijk van binnenkomende waarde uit array

Status
Niet open voor verdere reacties.

Maartenv87

Gebruiker
Lid geworden
23 okt 2008
Berichten
72
Ik heb volgend werkend script online staan: http://sbshasselt.be/ictco/maarten/icttips/index.php
Afhankelijk van de keuze wordt er een resultaat getoond:
1. Alles tonen geen keuze maken
2. Kiezen op vak - Klas en eindterm leeg
3. Kiezen op klas - Vak en eindterm leeg
4. Kiezen op eindterm - Vak en klas zijn leeg
5.Kiezen op vak en klas - eindterm is leeg
6.Kiezen op vak en eindterm - klas blijft leeg
7. Kiezen op eindterm en klas - vak blijft leeg
8.Kiezen op vak klas en eindterm

Dit gaan dan als volgt (2. Kiezen op vak - klas en eindterm leeg):
Code:
if($leerjaar == '<-- Kies klas -->' && $eindterm == '<-- Kies eindterm -->' && $vak != '<-- Kies vak -->') 
{
?>

		<div align="center" class="style1"><b>Activiteiten voor <? echo $vak ?></b></div>
		<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">Leerjaar</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">Media</p></b></td>
				<td width="50px" class="style7"><b><p class="style3">Eindterm</p></b></td>
			</tr>
<?php
			$sql = "SELECT * FROM `formulier` WHERE (`vak` = '$vak') ORDER BY leerjaar ASC";
			$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">'.$aBerichten['id'].'</p></td>
           		    <td width="50"><p class="style4">'.$aBerichten['leerjaar'].'</p></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="50px"><p class="style4">'.$aBerichten['doelstelling'].'</p></td>
					<td width="20px"><p class="style4"><a href="'.$aBerichten['ict2'].'" target="_blank"><img src="url.png" width="48" height="48" /></a></p></td>
					<td width="30%"><p class="style4">'.$aBerichten['eindterm'].'</p></td>
				</tr>';
		}
		echo '</table>';
}

Nu zou ik willen dat als de waarde van $aBerichten['ict2'] gelijk is aan "http://" hij geen afbeelding met een link geeft. Dit is het media knopje op de website http://sbshasselt.be/ictco/maarten/icttips/index.php .
Waar en hoe kan ik dit hier juist in inpassen?
 
Wat ik hier gedaan heb is eerst de string omzetten naar lowercase dingen (dus eventuele hoofdletters weghalen, in het geval je HTTP:// hebt bijv.). Daarna ga ik zoeken of de string $zoek bevat (http:// dus). Wat je ook kunt doen (weet niet of je dat wil), is om te zeggen van if ($aBerichten['ict2'] == 'http://'), maar dan mag er verder dus niets in de string staan, en het mogen dan ook geen hoofdletters zijn... Je moet even bij jezelf nagaan wat je wil. Hoop dat je er wat mee kunt.

PHP:
$zoek = 'http://';
                    if (strstr(strtolower($aBerichten['ict2']),$zoek)) { ?>
                        <a href="<?php echo $aBerichten['ict2']; ?>" target="_blank"><img src="url.png" width="48" height="48" alt="iets" /></a><?php
                    }
                    else {
                        // doe iets anders  
                    }
 
Bedankt dat was inderdaad wat ik zocht, hoe kan ik dat nu juist in mijn code krijgen?
Moet in de onderste html komen. Kga eventjes proberen, misschien dat ik er zelf uitkom maar juist lukte het niet.
 
Da zou het moeten zijn;

PHP:
<td width="20px">';
$zoek = 'http://';
                    if (strstr(strtolower($aBerichten['ict2']),$zoek)) { 
echo '<a href="'.$aBerichten['ict2'].'" target="_blank"><img src="url.png" width="48" height="48" alt="iets" /></a>';
}
else {
// doe iets anders
}
echo '</p></td>'';
 
Hier kan je trouwens beter gebruik maken van strpos in plaats van strstr, zoals ook op de PHP-site staat bij strstr:
Note: If you only want to determine if a particular needle occurs within haystack, use the faster and less memory intensive function strpos() instead.

In dat geval wordt het
PHP:
if (strpos(strtolower($aBerichten['ict2']),$zoek) !== false)
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan