Guten Morgen!
Ich habe Probleme mit folgendem Szenario: in der Tabelle einer Datenbank habe ich Vorträge, und jeden einzelnen Vortrag mit einer Nummer versehen (VTnr). Jedem Vortrag werden außerdem bis zu 3 Keywords zugewiesen, die den Inhalt wiederspiegeln (VTkeyw1, VTkeyw2, VTkeyw3). Diese Werte frage ich dann ab, um sie später in einem Dropdown dem Benutzer zur Recherche zur Hand zu geben. Das klappt auch alles ganz wunderbar, ich kann das auch später per <option>-Tag einfügen :
...und später im Seitenquelltext:
So weit funktioniert das alles einwanfrei. Ich habe dabei aber das Problem, dass ich die Keywords nicht mehr alphabetisch sortieren lassen kann.
Daher mein Gedanke: ich möchte aus allem ein zweidimensionales Array erstellen, das ich dann sortiert ausgeben kann:
---------------------
VTnr | VTkeyw
---------------------
0001 | dies
0001 | das
0001 | jenes
0002 | dies
0002 | das
0002 |
0003 | jenes
0003 | was anderes
....
Mein gescheiterter Versuch sah dabei so aus:
Die Variable '$VTkeywIndex' lasse ich einfach immer von 1 bis 3 zählen, um die VTkeyw 1-3 nacheinander auszulesen, und nach 3 wieder bei 1 anzufangen.
Theoretisch... Denn zum einen ist das Array scheinbar nur eindimensional, und zum anderen produziert schon das einen Fehler =o/.
Wo habe ich mit meinen LEGO-PHP-Fähigkeiten den Bock gedreht?
Danke & Gruß
Ich habe Probleme mit folgendem Szenario: in der Tabelle einer Datenbank habe ich Vorträge, und jeden einzelnen Vortrag mit einer Nummer versehen (VTnr). Jedem Vortrag werden außerdem bis zu 3 Keywords zugewiesen, die den Inhalt wiederspiegeln (VTkeyw1, VTkeyw2, VTkeyw3). Diese Werte frage ich dann ab, um sie später in einem Dropdown dem Benutzer zur Recherche zur Hand zu geben. Das klappt auch alles ganz wunderbar, ich kann das auch später per <option>-Tag einfügen :
PHP-Code:
$abfrageTH = "SELECT DISTINCT VTkeyw1,VTkeyw2,VTkeyw3 FROM $tabelleVT WHERE (VTcmenr != '0000')";
$ergebnisTH = mysql_query($abfrageTH);
PHP-Code:
<select name="selThema" size="6" id="selThema">
<option value="*">alle</option>
<?php
while ($row = mysql_fetch_array($ergebnisTH)) {
IF ($row['VTkeyw1'] != '') {
echo "<option value='" . $row['VTcmenr'] . "'>" . $row['VTkeyw1'] . "</option>";
}
break;
}
while ($row = mysql_fetch_array($ergebnisTH)) {
IF ($row['VTkeyw2'] != '') {
echo "<option value='" . $row['VTcmenr'] . "'>" . $row['VTkeyw2'] . "</option>";
}
continue;
}
while ($row = mysql_fetch_array($ergebnisTH)) {
IF ($row['VTkeyw3'] != '') {
echo "<option value='" . $row['VTcmenr'] . "'>" . $row['VTkeyw3'] . "</option>";
}
continue;
}
?>
</select>
Daher mein Gedanke: ich möchte aus allem ein zweidimensionales Array erstellen, das ich dann sortiert ausgeben kann:
---------------------
VTnr | VTkeyw
---------------------
0001 | dies
0001 | das
0001 | jenes
0002 | dies
0002 | das
0002 |
0003 | jenes
0003 | was anderes
....
Mein gescheiterter Versuch sah dabei so aus:
PHP-Code:
$VTkeywords = array();
$VTkeywCnt = 0;
$VTkeywIndex = 1;
while($ergebnisTH != '')
{
$VTkeywords[$VTkeywCnt] = row->$ergebnisTH;
$VTkeywCnt++;
$VTkeywIndex++;
IF ($VTkeywIndex == 4) {$VTkeywIndex = 1;}
}
Theoretisch... Denn zum einen ist das Array scheinbar nur eindimensional, und zum anderen produziert schon das einen Fehler =o/.
Wo habe ich mit meinen LEGO-PHP-Fähigkeiten den Bock gedreht?
Danke & Gruß
Kommentar