php foreach массив

12
Zero-xack
На сайте с 01.07.2009
Offline
114
1172

Есть функция:

if (! empty($row["img"]))
{
echo '<div class="shop_img">';
foreach ($row["img"] as $img)
{

echo '<img src="'.$img["src"].'" width="'.$img["width"].'" height="'.$img["height"].'" alt="'.$img["alt"].'" title="'.$img["title"].'">'
.'</a> ';
}
echo '</div>';
}

Она выводит все фотографии. Как сделать, чтобы выводилось только 1-ое фото?

Создание сайтов: визитки, порталы, магазины, блоги (/ru/forum/622551)
D
На сайте с 29.06.2011
Offline
2
#1

Не использовать forearch, а сразу обращаться к ячейке массива: $row["img"]["src"]

По умолчанию будет обращение к первой "img"

Zero-xack
На сайте с 01.07.2009
Offline
114
#2
echo '<img src="'.$row["img"]["src"].'" width="'.$img["width"].'" height="'.$img["height"].'" alt="'.$img["alt"].'" title="'.$img["title"].'">';

Так?

10 таков

Notice: Undefined index: src in Z:\home\shop.view.php on line 399
Notice: Undefined variable: img in Z:\home\view.php on line 399

Notice: Undefined variable: img in Z:\home\view.php on line 399

Notice: Undefined variable: img in Z:\home\view.php on line 399

Notice: Undefined variable: img in Z:\home\view.php on line 399
D
На сайте с 29.06.2011
Offline
2
#3

Вот так и без forearch

echo '<img src="'.$row["img"]["src"].'" width="'.$row["img"]["width"].'" height="'.$row["img"]["height"].'" alt="'.$row["img"]["alt"].'" title="'.$row["img"]["title"].'">';
Zero-xack
На сайте с 01.07.2009
Offline
114
#4

Не работает...

Notice: Undefined index: src in Z:\home\view.php on line 399

Notice: Undefined index: width in Z:\home\view.php on line 399

Notice: Undefined index: height in Z:\home\view.php on line 399

Notice: Undefined index: alt in Z:\home\view.php on line 399

Notice: Undefined index: title in Z:\home\view.php on line 399
H
На сайте с 13.06.2011
Offline
9
#5
Zero-xack:
Не работает...

а $row[0]["src"] вместо $row["img"]["src"] , не?

Слово не воробей. Все не воробей, кроме воробья!
D
На сайте с 29.06.2011
Offline
2
#6

Я так понимаю там ассоциативный массив. Надо хоть кусочек посмотреть.

Выведи массив: echo "<pre>"; print_r($row); echo "</pre>";

Будет видна вся структура и сразу станет ясно откуда "ноги растут"

T
На сайте с 13.04.2008
Offline
67
t3s
#7

посмотрите выше - должна быть строка со вроде "SELECT blablabla"

затем ищете примерно такое

$query_result = mysql_query($myquery) or die("Не могу выполнить запрос" . mysql_error());

и после нее дописываете

$row = mysql_fetch_array($query_result);
webamator (http://webamator.ru) приглашает потестить сервис бесплатной оптимизации CSS и JavaScript (http://service.webamator.ru/) Занимаюсь проектами любой сложности. Качественно. Дорого. Примеры некоторых работ (http://blog.webamator.ru/category/portfolio)
Zero-xack
На сайте с 01.07.2009
Offline
114
#8

Haubergeon, тогда выводит вот такое:

<img src="7" width="7" height="7" alt="7" title="7">

Zero-xack добавил 04.07.2011 в 17:22

Array
(

[title] => Л.И. Зданович "100 великих кавалеров ордена Святого Станислава"
[src] => http://diafan/userfiles/shop/medium/23_stan_001.jpg
=> 142.96 Kb
)

[1] => Array
(
[link] => userfiles/shop/24_stan_003.jpg
[type] => animation
[height] => 175
[width] => 131
[alt] => Л.И. Зданович "100 великих кавалеров ордена Святого Станислава"
[title] => Л.И. Зданович "100 великих кавалеров ордена Святого Станислава"
[src] => http://diafan/userfiles/shop/medium/24_stan_003.jpg
=> 38.79 Kb
)

[2] => Array
(
[link] => userfiles/shop/25_stan_004.jpg
[type] => animation
[height] => 175
[width] => 130
[alt] => Л.И. Зданович "100 великих кавалеров ордена Святого Станислава"
[title] => Л.И. Зданович "100 великих кавалеров ордена Святого Станислава"
[src] => http://diafan/userfiles/shop/medium/25_stan_004.jpg
=> 91.75 Kb
)

[3] => Array
(
[link] => userfiles/shop/26_stan_005.jpg
[type] => animation
[height] => 175
[width] => 131
[alt] => Л.И. Зданович "100 великих кавалеров ордена Святого Станислава"
[title] => Л.И. Зданович "100 великих кавалеров ордена Святого Станислава"
[src] => http://diafan/userfiles/shop/medium/26_stan_005.jpg
=> 99.11 Kb
)

[4] => Array
(
[link] => userfiles/shop/27_stan_024.jpg
[type] => animation
[height] => 175
[width] => 131
[alt] => Л.И. Зданович "100 великих кавалеров ордена Святого Станислава"
[title] => Л.И. Зданович "100 великих кавалеров ордена Святого Станислава"
[src] => http://diafan/userfiles/shop/medium/27_stan_024.jpg
=> 83.25 Kb
)

[5] => Array
(
[link] => userfiles/shop/28_stan_038.jpg
[type] => animation
[height] => 175
[width] => 131
[alt] => Л.И. Зданович "100 великих кавалеров ордена Святого Станислава"
[title] => Л.И. Зданович "100 великих кавалеров ордена Святого Станислава"
[src] => http://diafan/userfiles/shop/medium/28_stan_038.jpg
=> 77.68 Kb
)

[6] => Array
(
[link] => userfiles/shop/29_stan_042.jpg
[type] => animation
[height] => 175
[width] => 131
[alt] => Л.И. Зданович "100 великих кавалеров ордена Святого Станислава"
[title] => Л.И. Зданович "100 великих кавалеров ордена Святого Станислава"
[src] => http://diafan/userfiles/shop/medium/29_stan_042.jpg
=> 91.71 Kb
)

[7] => Array
(
[link] => userfiles/shop/30_stan_047.jpg
[type] => animation
[height] => 175
[width] => 131
[alt] => Л.И. Зданович "100 великих кавалеров ордена Святого Станислава"
[title] => Л.И. Зданович "100 великих кавалеров ордена Святого Станислава"
[src] => http://diafan/userfiles/shop/medium/30_stan_047.jpg
=> 71.14 Kb
)

[8] => Array
(
[link] => userfiles/shop/31_stan_052.jpg
[type] => animation
[height] => 175
[width] => 131
[alt] => Л.И. Зданович "100 великих кавалеров ордена Святого Станислава"
[title] => Л.И. Зданович "100 великих кавалеров ордена Святого Станислава"
[src] => http://diafan/userfiles/shop/medium/31_stan_052.jpg
=> 82.57 Kb
)

)

[0] => 7
[id] => 7
[1] => Л.И. Зданович "100 великих кавалеров ордена Святого Станислава"
[name] => Л.И. Зданович "100 великих кавалеров ордена Святого Станислава"
[2] => 1309513152
[timeedit] => 1309513152
[3] => 2
[cat_id] => 2
[4] => Л.И. Зданович "100 великих кавалеров ордена Святого Станислава"
[keywords] => Л.И. Зданович "100 великих кавалеров ордена Святого Станислава"
[5] => Л.И. Зданович "100 великих кавалеров ордена Святого Станислава"
[descr] => Л.И. Зданович "100 великих кавалеров ордена Святого Станислава"
[6] => 7
[sort] => 7
[7] => Л.И. Зданович "100 великих кавалеров ордена Святого Станислава"
[title_meta] => Л.И. Зданович "100 великих кавалеров ордена Святого Станислава"
[8] => 0
[no_buy] => 0
[9] => 0203
[article] => 0203
[param_select_buy] => Array
(
)

[depend] => Array
(
)

[price] => 35
[price_id] => 20
[count] => 99
[currency] => руб.
[param] => Array
(
[0] => Array
(
[id] => 3
[name] => Формат
[value] => *.pdf
[value_id] => 12
[type] => text
)

[1] => Array
(
[id] => 4
[name] => Объём
[value] => 8,22 Мб
[value_id] => 13
[type] => text
)

)

[titlemodule] => Л.И. Зданович "100 великих кавалеров ордена Святого Станислава"
[edit_titlemodule] => Array
(
[id] => 7
[table] => shop
)

[previous] => Array
(
[text] => Клод де Рюльер "Переворот 1762 года"
[id] => 6
[link] => shop/religioznaya_dukhovnaya_literatura/klod_de_ryuler_perevorot_1762_goda/
)

[next] => Array
(
[text] => А.С.Варакин, Л.И. Зданович "Загадки истории"
[id] => 8
[link] => shop/istoricheskaya_publitsistika/asvarakin_li_zdanovich_zagadki_istorii/
)

[path] => Array
(
[0] => Array
(
[link] => shop/
[name] => Каталог товаров
)

[1] => Array
(
[id] => 2
[link] => shop/istoricheskaya_publitsistika/
[name] => ИСТОРИЧЕСКАЯ ПУБЛИЦИСТИКА
)

)

[basket_link] => shop/basket/
[text] =>

Книга выполнена в виде pdf-файла c обложкой. Полностью готова для распечатывания на бумаге.

[anons] =>
Л.И. Зданович "100 великих кавалеров ордена Святого Станислава"

Электронное издание книги публикуется впервые. Книга посвящена деловым людям старой России, которые как правило, и награждались орденом Св. Станислава. Это были купцы, банкиры, герои войны, но и путешественники, предприниматели, которые принесли значительную пользу своей стране.

[buy] => 1
[discount] => 0
[selected] =>
[count_in_basket] => 2
)" />

Diplodok, пожалуйста.

D
На сайте с 29.06.2011
Offline
2
#9

Тогда вот так

echo '<img src="'.$row["img"][0]["src"].'" width="'.$row["img"][0]["width"].'" height="'.$row["img"][0]["height"].'" alt="'.$row["img"][0]["alt"].'" title="'.$row["img"][0]["title"].'">';

Грубо, но должно работать.

A
На сайте с 29.12.2007
Offline
68
#10

Да оставьте foreach, просто после echo ...; поставь break; и все. Но правильнее конечно получить первый элемент через array_shift и выводить именно его.

12

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий