Bezoekers kunnen hun website toevoegen dmv een formulier.
Op dit formulier heb ik een keuzelijst gezet.
Door het script wat ik heb gemaakt worden de categorienaam met daarachter de subcategorieën weergegeven.
Maar als een categorie géén subcategorie heeft wordt hij helemaal niet weergegeven. Ik weet wel hoe dat komt maar ik weet de oplossing niet.
Wie helpt me hiermee?
<?php
$query = "
SELECT
c.cat_naam,
s.sub_naam
FROM categorie AS c
JOIN
subcategorie AS s
ON c.cat_id = s.cat_id
GROUP BY s.sub_naam
ORDER BY c.cat_naam";
$result = mysql_query($query) or die ("Sorry maar ik kan de categorieën niet weergeven");
?>
<select name="categorie">
<?php
while($row = mysql_fetch_object($result)){
?>
<option value="<?php echo $categorie; ?>"><?php echo $row->cat_naam.' -> '.$row->sub_naam ; ?></option>
<?php
}
?>
</select>
Ze zijn hierdoor gekoppeld. Geen koppeling dan ook geen resultaat.
Jawel, daarvoor is de LEFT JOIN (zie ook Elsy haar enthousiaste reactie) in het leven geroepen. Lees de tut maar een (de JOIN en LEFT JOIN worden daar behandeld), misschien heb je er voor jezelf ook nog wel wat aan.
[edit]
Beetje te laat, je had het al ontdekt zie ik. Succes met die link ;)
[/edit]
Even een toevoeging, volgens mij was JOIN hetzelfde als INNER JOIN, het resultaat heeft hetzelfde als een query die er zo uit ziet:
SELECT
c.kolom1,
d.kolom1
FROM
ctabel AS c,
dtabel AS d
WHERE
c.kolom1=d.kolom1
Dit wil zeggen dat er alleen resultaat is wanneer de kolom1 in beide tabellen voorkomt.
Dan heb je de LEFT JOIN, voor deze toelichting moet ik wel even noemen dat deze uitgaat van de 1st genoemde tabel bij de ON. Bijv in die van Elsy de tabel categorie.
Elke Subcategorie heeft een categorie, dus in de LEFT JOIN krijg je alle subcategoriën die een categorie hebben + Alle categorieën.
Bij de RIGHT JOIN werkt het precies andersom, en in het voorbeeld van Elsy gaat die dan op zoek naar de categorieën die voorkomen in de subcategorie tabel. Omdat niet alle categorieën subcategorieën onder zich hebben staan, zal het resultaat dus niet alle categoriën bevatten.
(hopelijk is dit duidelijk, ff zoeken hier, tussen de tuts, anders maak ik er nog ff een tutorial van denk 'k)