Hi,
ich muss mal wieder ein wenig mit PHP nerven.
Im Folgenden ist ein Code-Ausschnitt zu sehen. Dort benötige ich in der foreach-Schleife den Wert der Spalte 'prod_img' aus dem $arr_products_single_data-Array mit der zugehörigen 'prod_id'.
Das Array sieht so aus (es wird später deutlich mehr Einträge enthalten):
Code:
Array ( [prod_id] => 14 [prod_img] => product_1.jpg )
Anhand der 'prod_id', die ich habe, möchte ich nun auf diesen Array-Eintrag zugreifen können, nur weiß ich absolut nicht, wie ich das bewerkstelligen soll. Schön wäre natürlich etwas wie
Code:
$arr_products_single_data[14]
Natürlich geht es so nicht, da sist klar. Und das Array kann ich nicht ändern, das muss so aufgebaut sein, wie es aktuell der Fall ist.
Hier nun der Code. Mein Problem liegt in der Zeile, in der ich 'IMAGE' das Bild zuweisen muss:
Code:
[color=#11117F]$arr_products_single_data[/color] = [color=#11117F]get_sql_array[/color]([color=#E60000]"SELECT prod_id, prod_img FROM "[/color] .
[color=#11117F]PRODUCTS_DATA[/color] . [color=#E60000]" WHERE prod_cat_id = "[/color] . [color=#11117F]sqlval[/color]([color=#11117F]$id[/color]), 0);
[color=#11117F]$arr_products[/color] = [color=#11117F]get_sql_array[/color]([color=#E60000]"SELECT id, prod_title, prod_subtitle,
prod_short_desc FROM "[/color] . [color=#11117F]PRODUCTS[/color] .
[color=#E60000]" WHERE id = "[/color] . [color=#11117F]sqlval[/color]([color=#11117F]$arr_products_single_data[/color][[color=#E60000]'prod_id'[/color]]) .
[color=#E60000]" AND lang_id = "[/color] . [color=#11117F]sqlval[/color]([color=#11117F]$site_lang[/color][[color=#E60000]'id'[/color]]));
[color=#11117F]$prod_cat[/color] = [color=#11117F]get_sql_array[/color]([color=#E60000]"SELECT id, prod_cat_title,
prod_cat_description FROM "[/color] . [color=#11117F]PRODUCT_CATEGORIES[/color] . [color=#E60000]" WHERE id = "[/color] .
[color=#11117F]sqlval[/color]([color=#11117F]$id[/color]) . [color=#E60000]" AND lang_id = "[/color] . [color=#11117F]sqlval[/color]([color=#11117F]$site_lang[/color][[color=#E60000]'id'[/color]]), 0);
[color=#FFA200]// show each product[/color]
[color=#2B8E10]foreach[/color] ([color=#11117F]$arr_products as $product[/color])
{
[color=#11117F]$template[/color]->[color=#11117F]set_block[/color]([color=#E60000]'products_overview'[/color], [color=#2B8E10]array[/color](
[color=#E60000]'IMAGE'[/color] => [color=#FFA200]// <== Hier ;-)[/color]
[color=#E60000]'TITLE'[/color] => [color=#11117F]$product[/color][[color=#E60000]'prod_title'[/color]],
[color=#E60000]'SUBTITLE'[/color] => [color=#11117F]$product[/color][[color=#E60000]'prod_subtitle'[/color]],
[color=#E60000]'SHORT_DESC'[/color] => [color=#11117F]nl2br[/color]([color=#11117F]$product[/color][[color=#E60000]'prod_short_desc'[/color]]),
[color=#E60000]'PROD_LINK'[/color] => [color=#11117F]$config_main[/color][[color=#E60000]'domain'[/color]] . [color=#E60000]'index.php?page=product_show&id='[/color] .
[color=#11117F]$product[/color][[color=#E60000]'id'[/color]] . [color=#11117F]$link_lang_param[/color]
)
);
}
Ich könnte natürlich auch die
SQL-Abfrage für 'prod_img' in die Schleife packen, doch ist das ganze dann nicht mehr so performant, denke ich mal, wenn ich hunderte EInträge in der Datenbank habe. Wie würdet ihr das lösen?