SQL (ungetestet):
Code: Alles auswählen
$query = "SELECT tblArtLang.idart AS idart, UNIX_TIMESTAMP(tblArtLang.lastmodified) AS lastmod FROM ".$cfg["tab"]["art_lang"]." tblArtLang, ".$cfg["tab"]["cat_art"]." tblCatArt, ".$cfg["tab"]["cat_lang"]." tblCatLang where tblArtLang.online='1' AND tblArtLang.idart = tblCatArt.idart AND tblCatArt.idcat = tblCatLang.idcat AND tblCatLang.visible = '1' AND tblCatLang.public='1'";
Liefert alle Artikel die online sind und sich in einer Kategorie befinden, die online und öffentlich zugänglich ist.
Ein
Code: Alles auswählen
$query = "SELECT tblCatArt.idcat AS idcat, tblArtLang.idart AS idart, ...
würde dann übrigens auch die ID zur Kategorie liefern (ich weiss jetzt gerade nicht, ob man das für V4.4.5 noch benötigt, für V4.4.4 wohl - aufgrund der Rückmeldung eine Seite vorher - wohl schon).
Wie kann ich im Input den selectierten Wert auslesen, und den vorher ausgewählten nehmen (nicht wie ich es mache einen Default-Wert erzwingen).
Beispiel erste Option:
Code: Alles auswählen
// selected category
$selected = "CMS_VALUE[0]";
echo "<table cellspacing=\"0\" cellpadding=\"10\" border=\"0\">\n
<tr>
<td>cms php skript:</td><td>";
echo "<select name=\"CMS_VAR[0]\">";
if ($selected == "" || $selected == "front_content.php") {
echo "<option value=\"front_content.php\" selected>front_content.php</option>";
} else {
echo "<option value=\"front_content.php\">front_content.php</option>";
}
if ($selected == "index.php") {
echo "<option value=\"index.php\" selected>index.php</option>";
} else {
echo "<option value=\"index.php\">index.php</option>";
}
echo "</select></td>";
In diesem Fall hätte man natürlich auch mit else arbeiten können:
Code: Alles auswählen
if ($selected == "" || $selected == "front_content.php") {
echo "<option value=\"front_content.php\" selected>front_content.php</option>";
echo "<option value=\"index.php\">index.php</option>";
} else {
echo "<option value=\"front_content.php\">front_content.php</option>";
echo "<option value=\"index.php\" selected>index.php</option>";
}
Aber das funktioniert nicht bei mehr als 2 Optionen und ist schwer zu erweitern. Abgesehen davon bin ich ein Fan von dieser Codierung:
Code: Alles auswählen
echo '<option value="front_content.php" selected>front_content.php</option>';
Der Vorteil des einfachen Hochkommas für echo liegt IMHO darin, Anführungszeichen im HTML nicht kodieren zu müssen. Der Haken ist, dass Variablen nicht ersetzt werden - das sehe ich aber ehrlich gesagt als Vorteil, da man diese dann besser erkennen kann (das ist eine Gusto-Frage):
Code: Alles auswählen
$test = "toll";
echo '<option value="front_content.php" selected>Ich bin '.$test.'</option>';
vs.
Code: Alles auswählen
$test = "toll";
echo "<option value=\"front_content.php\" selected>Ich bin $test</option>";
Gruß
HerrB