Dit is de query:
<?
$page = "SELECT con.title, con.alias, con.images, con.introtext
FROM db_content con
LEFT JOIN db_categories cat ON con.catid = cat.id
WHERE cat.alias = '".$_GET['alias']."' AND con.state = 1 ORDER BY `ordering` DESC";
?>
Ik moet dus de alias ophalen uit db_categories, maar er is ook een column die alias heet in db_content. Nu heb ik het idee dat hij altijd die van db_content pakt, aangezien de query niks laat zien, tenzij ik er hardcoded een alias naam uit db_categories in zet.
Dit is de query:
<?
$page = "SELECT con.title, con.alias, con.images, con.introtext
FROM db_content con
LEFT JOIN db_categories cat ON con.catid = cat.id
WHERE cat.alias = '".$_GET['alias']."' AND con.state = 1 ORDER BY `ordering` DESC";
?>
Ik moet dus de alias ophalen uit db_categories, maar er is ook een column die alias heet in db_content.
Nu heb ik het idee dat hij altijd die van db_content pakt
--> con.alias roep je ook aan in de query. roep dan ook cat.alias aan.
Ja dat klopt , is gewoon een tabel met cijfers dus dit klopt gewoon.
<?php
$page = "SELECT con.title,
con.alias conalias,
con.images,
con.introtext,
cat.alias catalias
FROM db_content con
LEFT JOIN db_categories cat ON con.catid = cat.id
WHERE cat.alias = '".$_GET['alias']."'
AND con.state = 1
ORDER BY ordering DESC";
?>
Toevoeging op 02/02/2016 14:22:26:
als ordering in beide tabellen voorkomt, zul je ook bij het noemen van die kolom de tabel erbij moeten zetten.
Dat er geen foutmelding is, geeft aan dat dat dus niet het geval is.
Wel vallen sommige typen database erover dat je sorteert op een kolom die niet in het SELECT-deel staat.
Mysql echter niet.
<?php
$page = "SELECT con.title,
con.alias conalias,
con.images,
con.introtext,
cat.alias catalias
FROM db_content con
LEFT JOIN db_categories cat ON con.catid = cat.id
WHERE cat.alias = '".$_GET['alias']."'
AND con.state = 1
ORDER BY ordering DESC";
?>
Toevoeging op 02/02/2016 14:22:26:
als ordering in beide tabellen voorkomt, zul je ook bij het noemen van die kolom de tabel erbij moeten zetten.
Dat er geen foutmelding is, geeft aan dat dat dus niet het geval is.
Wel vallen sommige typen database erover dat je sorteert op een kolom die niet in het SELECT-deel staat.
Mysql echter niet.
Oke, en hoe zet ik het resultaat netjes in een foreachje? Ik heb al het een en ander geprobeerd, zonder resultaat.
<?
foreach($pagecr as $page){
$landingnospace = str_replace(' ', '_', $page['alias']);
$title = $page['title'];
$contentje .= '<li><a href="http://www.website.nl/_extern/website1/'.$landingnospace.'.html">'.$title.'</a></li>';;
}
?>
Dit bijvoorbeeld, maar ik krijg alleen resultaat wanneer ik "hardcoded" een categorie naam erin zet, bijvoorbeeld 'info' ipv '".$_GET['alias']."'