Wie vielleicht der ein oder andere mitbekommen hat arbeite ich zur Zeit an einem eigenen CMS, wobei hin und wieder kleinere Probleme auftauchen

Momentan geht es um eine SQL-Abfrage und ein paar Links, welche je nach Ergebnis vorheriger IF-Abfragen mit anderem Code gefüllt werden sollen. Das sieht momentan ungefähr so aus:
Variablendefinition:
PHP-Code:
if (bedingung 1) {
...
} else if (bedingung 2) {
$abfrage_gesamt = 'SELECT `id` FROM `newsskript` WHERE `cat` = $cat';
$abfrage_where = '`cat` = $cat';
$blaetter_linkanhang = "&cat=".$cat;
$bilder_linkanhang = '=$newsid&zuruecklink=$zuruecklink&cat=$cat';
}
PHP-Code:
$query = mysql_query("".$abfrage_gesamt."");
$links[] = "<a href=\"blabla.php".$blaetter_linkanhang."\">Link</a>\n";
$sql = "SELECT
`id`,
`title`,
`text`,
`date`,
`imageurl`,
`thumbnailurl`
FROM
`newsskript`
WHERE
$abfrage_where
ORDER BY
date desc";
...
$newsid = $row->id;
...
echo "<a href=\"../anzeige_beitrag.php?id".$bilder_linkanhang."\"><img src=\"". $row->thumbnailurl ."\"></a>\n";
Es klappt einfach nicht die Code-Teile vernünftig in den Variablen zu speichern und später wieder aufzurufen. Das Ding ist, dass der Code in den Variablen teilweise Variablen anspricht die erst später definiert werden ($newsid). Deswegen darf die Variable erst in ihrem endgültigen Bestimmungsort gelesen werden und muss während der IF-Abfragen noch als Text gespeichert sein (Hier beinhaltetdie Variable ja noch keinen Wert).
Es soll im Prinzip einfach so sein, dass die Variablen in der SQL-Abfrage / den Links genau so behandelt würden, also wären sie der Code den sie beinhalten.
Habe schon diverseste Formatierungen versucht (Anführungszeichen, Slashes vor Anführungszeichen, mysql_real_escape(), keine Anführungszeichen usw...), aber es geht einfach nicht. Entweder wird zwar alles als Text gespeichert, aber die Abfragen funktionieren dann nicht mehr, oder aber die Variablen in den Codeteilen werden oben schon durch ihre Werte "ersetzt", was bei $newsid natürlich nicht sein darf.
Vielleicht weis jemand Rat? Ich habe jedenfalls den gesamten Nachmittag keine Lösung gefunden :/
Vielen Dank!
P.S.: Hier ist ja nur ein Ausschnitt aus dem gesamten Code zu sehen. Er funktioniert tadellos, wenn die Code-Variablen durch ihren Code-Inhalt ersetzt sind.
Einen Kommentar schreiben: