Beste mensen,

Ik ben bezig met een iets over makelaars.
Nu wil ik een overzicht weergeven van alle makelaars die huizen aanbieden in een bepaalde plaats.

In mijn tblmakelaars(staan alle makelaars in) staan nu twee records die in één van de aanbied velden (aanbied_1, aanbied_2...) dezelfde plaatscode hebben staan.

Als het script uitvoer in mijn browser krijg ik maar één resultaat. Maar als ik de query uitvoer in PHPMYADMIN werkt het prima en krijg ik netjes twee rijen terug.

Iemand mischien ideeën wat het zou kunnen zijn? Mischien een fout in de while?

Alvast bedankt


<?php
//haal id van plaats op
	$q = "SELECT `id_plaats` FROM `plaatsen_nl` WHERE `plaats` = '".$plaatsnaam."'";
	$r = mysqli_query($dbc, $q);
	list($id_plaats) = mysqli_fetch_array($r, MYSQLI_NUM);
		
	//haal de gegevens van de makelaars op en weergeven
	echo "<p><h3>Makelaars die huizen aanbieden in &acute;$plaatsnaam&acute;.</h3></p><p><hr /></p>";
	$q = "SELECT *,plaats
	FROM tblmakelaar tblm
	INNER JOIN plaatsen_nl tblp
	ON tblm.loc_makelaar = tblp.id_plaats
	WHERE aanbied_1 = '$id_plaats' 
	OR aanbied_2 = '$id_plaats' 
	OR aanbied_3 = '$id_plaats' 
	OR aanbied_4 = '$id_plaats'";
	$r = mysqli_query($dbc, $q);
	if (mysqli_num_rows($r) > 0)	{
			while ($makelaar = mysqli_fetch_array($r))	{//geef ze weer in tabel vorm
				echo "<p><table border=0 width='690' cellpadding='0' cellspacing='6' onmouseover=this.style.backgroundColor='#E5E5E5' onmouseout=this.style.backgroundColor='#FFFFFF'>
					<tr><td width='500'><font color='red' size='+1'><b>".$makelaar['naam']."</b></font></td><td><b>".$makelaar['plaats']."</b></td></tr>
					<tr><td colspan='2'><b>".$makelaar['adres']." ".$makelaar['postcode']."</b></td></tr>
					<tr><td colspan='2'><br /></td></tr>
					<tr><td width='500'>Telefoon: ".$makelaar['tel']."</td><td>".$makelaar['contact_email']."</td></tr>";
					//site ophalen
					$q = "SELECT site_adres FROM tblsite WHERE site_id = '".$makelaar['site_id']."'";
					$r = mysqli_query($dbc, $q);
					list($site_adres) = mysqli_fetch_array($r);				
				echo"<tr><td width='500'>Branche: ".$makelaar['taken']."</td><td><a href='".$site_adres."'>".$site_adres."</td></tr>
					</table></p>";
			}//einde while
	}else 	{
		echo "<p>Er zijn geen resultaten in deze stad</p>";
	}
?>
op regel 27 van de code die jij hebt gegeven overschrijf je de resultset gegenereerd door je 1ste query
Heey geweldig dank je wel!
Sanderrb schreef op 09.04.2008 16:04
Heey geweldig dank je wel!

Vertel me iets wat ik nog niet wist
aanbied_1, aanbied_2, aanbied_3, aanbied_4, dat is weer eens een typisch voorbeeld van een fout datamodel. Dezelfde gegevens in 4 kolommen, dat is vragen om problemen.

Tip: Ga normaliseren.

Reageren