[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Вывод изображения, если нужного изображения нет.
Страницы: 1, 2, 3, 4
DarkMilkMan
Здравствуйте, новичок в php. Подскажите как сделать так, что бы если человек не загружает свою картинку, выводилась другая картинка

Вот код который выводит загруженную картинку:
foreach ($result['param'] as $row)
{
switch ($row['type'])
{
case "images":
foreach ($row["value"] as $img)
{
echo '<img class="fon-userpage" src="'.$img["src"].'" width="'.$img["width"].'" height="'.$img["height"].'" alt="'.$img["alt"].'" title="'.$img["title"].'">';
}
}
}
Arh
DarkMilkMan
Смотреть если пустой $img["src"], то подставлять свою ссылку.

foreach ($row["value"] as $img) {
$img["src"] = empty($img["src"]) ? '//site.ru/upload/image.jpg' : $img["src"];
echo '<img class="fon-userpage" src="'.$img["src"].'" width="'.$img["width"].'" height="'.$img["height"].'" alt="'.$img["alt"].'" title="'.$img["title"].'">';
}


_____________
Промокод предоставляет скидку на заказ домена и/или хостинга reg.ru
BFCC-3895-8804-9ED2
DarkMilkMan
Неа, не работает

Цитата
Смотреть если пустой $img["src"], то подставлять свою ссылку.

foreach ($row["value"] as $img) {
    $img["src"] = empty($img["src"]) ? '//site.ru/upload/image.jpg' : $img["src"];
    echo '<img class="fon-userpage" src="'.$img["src"].'" width="'.$img["width"].'" height="'.$img["height"].'" alt="'.$img["alt"].'" title="'.$img["title"].'">';
}

walerus
DarkMilkMan
Цитата
Неа, не работает
Сейчас все подключат свои способности теле-патии и поймут что не так... Не работает... - А что работает?, что выдает?, какие ошибки и т.д. и т.п.

Возможно не работает, потому что, в параметрах отображения изображения, указываются у Вас, высота, ширина, альты, титлы, а когда подставляется "дефолтное" изображение, этих данных нет, попробуйте так:
foreach ($row["value"] as $img) {

if ( empty($img["src"]) ){
echo '<img class="fon-userpage" src="//site.ru/upload/image.jpg" width="100" height="100" alt="Default image" title="Default image">';
}else{
echo '<img class="fon-userpage" src="'.$img["src"].'" width="'.$img["width"].'" height="'.$img["height"].'" alt="'.$img["alt"].'" title="'.$img["title"].'">';
}
}


DarkMilkMan
Так тоже не работает, никаких ошибок не пишет, просто блок в котором должна быть картинка, пустой.

Цитата
Сейчас все подключат свои способности теле-патии и поймут что не так... Не работает... - А что работает?, что выдает?, какие ошибки и т.д. и т.п.

Возможно не работает, потому что, в параметрах отображения изображения, указываются у Вас, высота, ширина, альты, титлы, а когда подставляется "дефолтное" изображение, этих данных нет, попробуйте так:
foreach ($row["value"] as $img) {

if ( empty($img["src"]) ){
  echo '<img class="fon-userpage" src="//site.ru/upload/image.jpg" width="100" height="100" alt="Default image" title="Default image">';
}else{
  echo '<img class="fon-userpage" src="'.$img["src"].'" width="'.$img["width"].'" height="'.$img["height"].'" alt="'.$img["alt"].'" title="'.$img["title"].'">';
}
}
Arh
DarkMilkMan
Цитата
просто блок в котором должна быть картинка, пустой


foreach ($row["value"] as $img) {

if ( empty($img["src"]) ){
echo '<img class="fon-userpage" src="https://encrypted-tbn1.gstatic.com/images?q=tbn:ANd9GcR0d2ewlQQgcBh0LsTx0Ba3VmJ36i37Pqp7jiwP5kaf59E-Yzujex2G240" width="100" height="100" alt="Default image" title="Default image">';
}else{
echo '<img class="fon-userpage" src="'.$img["src"].'" width="'.$img["width"].'" height="'.$img["height"].'" alt="'.$img["alt"].'" title="'.$img["title"].'">';
}
}


_____________
Промокод предоставляет скидку на заказ домена и/или хостинга reg.ru
BFCC-3895-8804-9ED2
DarkMilkMan
Вы думаете я не догадался картинку поставить? Не работает(

Цитата
foreach ($row["value"] as $img) {

if ( empty($img["src"]) ){
  echo '<img class="fon-userpage" src="https://encrypted-tbn1.gstatic.com/images?q=tbn:ANd9GcR0d2ewlQQgcBh0LsTx0Ba3VmJ36i37Pqp7jiwP5kaf59E-Yzujex2G240" width="100" height="100" alt="Default image" title="Default image">';
}else{
  echo '<img class="fon-userpage" src="'.$img["src"].'" width="'.$img["width"].'" height="'.$img["height"].'" alt="'.$img["alt"].'" title="'.$img["title"].'">';
}
}

walerus
DarkMilkMan
Покажи входящий массив "$row" - чего мы гадаем на кофейной гуще?... может там "пробел стоит" или еще что, по сути, условие или срабатывает или нет, но в любом случае, картинка быть должна или одна или другая... пустоты не может быть в принципе.

Цитата
просто блок в котором должна быть картинка, пустой.
Какой блок?, почему пустой?, убери условие вообще, поставь просто картинку, посмотри будет ли она в блоке?, может JQ, вырезает его или еще что, так с потолка трудно совет дать... больше "кода", больше "результата" его работы... нужно видеть, что бы что то понимать.
DarkMilkMan
Цитата
Покажи входящий массив "$row" - чего мы гадаем на кофейной гуще?... может там "пробел стоит" или еще что, по сути, условие или срабатывает или нет, но в любом случае, картинка быть должна или одна или другая... пустоты не может быть в принципе.


На сколько я понимаю, вот он

<pre class="sh_sourceCode" rel="php">
<span class="sh_control">elseif</span><span class="sh_symbol">(</span><span class="sh_variable">$row</span><span class="sh_symbol">[</span><span class="sh_string">"type"</span><span class="sh_symbol">] ==</span> <span class="sh_string">"images"</span><span class="sh_symbol">)</span>
<span class="sh_cbracket">{</span>
<span class="sh_variable">$row</span><span class="sh_symbol">[</span><span class="sh_string">"value"</span><span class="sh_symbol">] =</span> <span class="sh_variable">$this</span><span class="sh_symbol">-></span>diafan<span class="sh_symbol">-></span>_images<span class="sh_symbol">-></span><span class="sh_function">get</span><span class="sh_symbol">(</span><span class="sh_string">'large'</span><span class="sh_symbol">,</span> <span class="sh_variable">$this</span><span class="sh_symbol">-></span>result<span class="sh_symbol">[</span><span class="sh_string">"id"</span><span class="sh_symbol">],</span> <span class="sh_string">"users"</span><span class="sh_symbol">,</span> <span class="sh_string">'element'</span><span class="sh_symbol">,</span> <span class="sh_number">0</span><span class="sh_symbol">,</span> <span class="sh_string">''</span><span class="sh_symbol">,</span> <span class="sh_variable">$row</span><span class="sh_symbol">[</span><span class="sh_string">"id"</span><span class="sh_symbol">]);</span>
<span class="sh_cbracket">}</span></pre>

Цитата
Какой блок?, почему пустой?, убери условие вообще, поставь просто картинку, посмотри будет ли она в блоке?, может JQ, вырезает его или еще что, так с потолка трудно совет дать... больше "кода", больше "результата" его работы... нужно видеть, что бы что то понимать.


Давайте сначала, вот этот код выводит и вставляет картинку в div блок

echo '<div class="fon-userpage">';
foreach ($result['param'] as $row)
{
switch ($row['type'])
{
case "images":
foreach ($row["value"] as $img)
{
echo '<img src="'.$img["src"].'" width="'.$img["width"].'" height="'.$img["height"].'" alt="'.$img["alt"].'" title="'.$img["title"].'">';
}
}
}

echo '</div>';


Если пользователь не загружал картинку, то блок выводится пустым. Мне нужно что бы в таком случае показывалась другая картинка.

Все выше перечисленные способы не работают, выводится пустой блок, кроме случая когда пользователь загрузил картинку. там всё нормально.

Если нужно, могу в скайпе показать вообще весь код, добавляйте kent9670
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2025 Invision Power Services, Inc.