2009-06-30 3 views
0

я не могу работать, как отображать изображение в зависимости от vaule продукта ($ ЙДЗА):Изображения на экран в зависимости от значения переменной

foreach ($response['products'] as $product) 
{ 
if($filter != "all" && $bb[$product['product-id']['value']] && $bb[$product['product-id']['value']][0] != $filter) continue; 

$r = array(); $idd = 0; $ca = 0; 

    foreach($product as $key=>$value) 
{ 
    if($key == "product-id") 
    { 
    $idd = (int)$value['value']; 
    $r[0] = $idd?"<input type='radio' name='product_id' value='" . $idd . "'/>":"0&nbsp;"; 
    //price// 
    $r[4] = $bb[$idd]?$bb[$idd][3]:"ID"; 
    //info// 
    $r[5] = "<a href='checker/info.php?id=" .$idd. "'; rel=\"shadowbox;width=400;height=200\" class=\"option\"'><img src=\"http://www.flipconnect.co.uk/images/more-info.gif\" style=\"border:none; padding-top:24px;\" alt=\"more information about this pack\" /></a>"; 
    //buy 
    $r[6] = "<a href='checker/next.php?id=" . $idd . "&amp;postcode=".$postcode."&amp;speed=".$phone."'><img src=\"http://www.flipconnect.co.uk/images/buy-now.gif\" style=\"border:none\" alt=\"buy this package\" /></a>"; 
    } 

Я думаю, он должен Tak формы:

$r[0] = if ($idd == 1021) echo "IMAGE URL": echo ""; 

Но не работает, кстати, все $ IDD хранятся в массиве с нагрузкой othewr информации.

+0

Разве это не утверждение в PHP? – balpha

+0

Вы назначаете переменную, вы печатали $ r [0] –

+0

. Да, это происходит дальше по сценарию в таблице – 2009-06-30 11:18:07

ответ

1

Ваш вопрос не совсем ясен для меня, но Ваших этой строку кода

`$r[0] = if ($idd == 1021) echo "IMAGE URL": echo "";` 

можно переписать в виде

echo $r[0] = ($idd == 1021) ? "IMAGE URL" : ""; 

Попробуйте.

EDIT

Что касается комментария Bifter в «Эта работа, как бы приспособить для отображения другого изображения, если значение $ IDD отличается то. - $ IDD == 1021 - отображается изображение 1 $ IDD = = 1022 - изображение 2 отображается $ IDD == 1023 - изображение 3 отображается»

если массив данных что-то вроде ..

$arr = array('1021' => 'img 1', '1022' => 'Img 2') 

тогда вы могли бы попробовать что-то вроде этого

echo $r[0] = array_key_exists($idd, $data) ? $data[$id] : ""; 

Предполагая, что вы перебираете значения ID ($ id).

+0

, изменяя оператор if на тройной, никогда не бывает хорошим для четкости и удобочитаемости. –

+0

Эта работа, как бы адаптироваться для отображения другого изображения, если значение $ idd отличается. т.е. - $ idd == 1021 - Изображение 1 отображается $ idd == 1022 - Изображение 2 отображается $ idd == 1023 - Изображение 3 отображается – 2009-06-30 11:28:14

+1

@beowulfof .. не очень уверен, что вы правы .. Но здесь троица намного понятнее, чем линия Бифтера. – TigerTiger

Смежные вопросы