Hallo Forum!
ein kniffliges Problem:
ich habe eine Funktion (PHP), der ich ein Array (mit ids von Artikeln einer DB) übergebe.
In der Funktion lese ich dann Kategorien aus (ebenfalls ids) und ordne die übergebenen ids den Kategorien zu.
Die Funktion soll nun ein zweidimensionales Array zurückgeben nach der Struktur
Das tut sie auch alles ordnungsgemäß, nur dass der Wert jedes Elements des Arrays nur ein Zeichen lange ist (also wenn z.B. das array $array[1][1] den Wert "die frau mit dem damenbart" hat, gibt echo $array[1][1] "d" aus.
Ich weiß nicht mehr weiter, woran das liegen kann. Ich poste hier noch meine Funktion:
Vielleicht seht ihr etwas, was ich nicht sehe....danke schon mal!
lg, Bernie
ein kniffliges Problem:
ich habe eine Funktion (PHP), der ich ein Array (mit ids von Artikeln einer DB) übergebe.
In der Funktion lese ich dann Kategorien aus (ebenfalls ids) und ordne die übergebenen ids den Kategorien zu.
Die Funktion soll nun ein zweidimensionales Array zurückgeben nach der Struktur
PHP-Code:
<?php
$array[$kategorie_id][$artikel_id] = $artikel_ueberschrift;
?>
Ich weiß nicht mehr weiter, woran das liegen kann. Ich poste hier noch meine Funktion:
PHP-Code:
<?php
//Funktion, der ein Array mit Artikel IDs übergeben wird. Die Funktion gibt dann ein zweidimensionales
//Array zurück mit den Artikeln (2. Dimension) und den jeweiligen Kategorien (1. Dimension)
function sort_articles($article_ids)
{
//Tabellennamen
global $tbl_kategorien;
global $tbl_artikel;
//Aus Array String machen für SQL Abfrage
$articles = implode(",", $article_ids);
//Array für Endergebnis indizieren
$sorted_array = array();
//1. Dimension - Kategorien aus Datenbank
$kat_query = mysql_query("SELECT id FROM $tbl_kategorien");
while($kat_array = mysql_fetch_assoc($kat_query))
{
//id der Kategorie aus DB
$kat_id = $kat_array['id'];
//Element zum Ausgabearray hinzufügen - 1. Dimension
$sorted_array[$kat_id] = $kat_id;
//Query für die 2. Dimension - jeder Artikel des Arrays in dieser Kategorie
$article_query = mysql_query("SELECT id,ueberschrift FROM $tbl_artikel WHERE kategorien=$kat_id AND id IN ($articles)");
while($article_array = mysql_fetch_assoc($article_query))
{
//Definition der Elemente und Schreiben in array
$artikel = $article_array['ueberschrift'];
$id = $article_array['id'];
$sorted_array[$kat_id][$id] = $artikel;
}
}
return $sorted_array;
}
?>
lg, Bernie
Kommentar