Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Проверка с поля к полю

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
pantela
Отправлено: 17 Августа, 2010 - 12:26:44
Post Id



Частый посетитель


Покинул форум
Сообщений всего: 765
Дата рег-ции: Авг. 2010  


Помог: 1 раз(а)




Есть 1 полей:
photo1
photo2
photo3
photo4
photo5

Вних находятся ссылка изображения, т.е. если в поле прописанно что нибудь значит изображение есть, если оно пустое значит нету.

Далее есть код который выводит изображение photo1, если изображения нету в photo1, тогда выводится изображение no_photo.gif
PHP:
скопировать код в буфер обмена
  1. <?PHP if (!empty($ad->photo1) && file_exists(AS_ADS_IMG_PATH.$ad->photo1)) : ?>
  2. <img src="<?PHP echo AS_ADS_IMG_URL.$ad->photo1; ?>" width="112" height="84" alt="photo_1" /><?PHP else : ?>
  3. <img src="<?PHP echo AS_ADS_OTHIMG_URL.'no_photo.gif'; ?>" width="112" height="84" alt="" /><?PHP endif; ?>


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

Одним словом мне надо реализовать токой код, что если поле photo_1 пустой, тогда перейти photo_2, если  оно пустое тогда photo_3 и.т.д. до photo_5, в итоге если и оно пустое тогда выводим изображение no_photo.gif


Решение нашол, вот только может есть более профессиональное.  ^-^

PHP:
скопировать код в буфер обмена
  1. <?PHP
  2. if (!empty($ad->photo1)){$AS_ADS_IMG_URL="$ad->photo1";}
  3. if (empty($ad->photo1)){$AS_ADS_IMG_URL="$ad->photo2";}
  4. if (empty($ad->photo2)){$AS_ADS_IMG_URL="$ad->photo3";}
  5. if (empty($ad->photo3)){$AS_ADS_IMG_URL="$ad->photo4";}
  6. if (empty($ad->photo4)){$AS_ADS_IMG_URL="$ad->photo5";}
  7. if (empty($ad->photo5)){$AS_ADS_IMG_URL="$ad->photo6";}
  8. if (empty($ad->photo1) && empty($ad->photo2) && empty($ad->photo3) && empty($ad->photo4) && empty($ad->photo5) && empty($ad->photo6)) {$AS_ADS_IMG_URL="../no_photo.gif";}
  9. ?>


спс.Ув.
 
 Top
garvey
Отправлено: 17 Августа, 2010 - 12:40:59
Post Id



Частый посетитель


Покинул форум
Сообщений всего: 528
Дата рег-ции: Май 2010  
Откуда: Minsk


Помог: 3 раз(а)




PHP:
скопировать код в буфер обмена
  1. if (!empty($ad->photo1)) {
  2.    $AS_ADS_IMG_URL="$ad->photo1";
  3. }
  4. else {
  5.    for ($i = 1; $i <=5; $i++) {
  6.       if (empty($ad->photo.$i)) {
  7.          $AS_ADS_IMG_URL="$ad->photo".$i;
  8.       }
  9.       else {
  10.          $exist = true;
  11.          break;
  12.       }
  13.    }
  14. }
  15. if ($exist) {
  16.    $AS_ADS_IMG_URL="../no_photo.gif";
  17. }


With this script you can change your photos number.
 
 Top
pantela
Отправлено: 17 Августа, 2010 - 14:21:15
Post Id



Частый посетитель


Покинул форум
Сообщений всего: 765
Дата рег-ции: Авг. 2010  


Помог: 1 раз(а)




Error

Parse error: syntax error, unexpected '.', expecting ')' in Z:\home\test4.ru\www\components\com_as_ads\views\as_adsliststd\tmpl\default.php on line 29

29 line:

Your code is better than mine? (my code in post #1)
 
 Top
garvey
Отправлено: 17 Августа, 2010 - 14:28:21
Post Id



Частый посетитель


Покинул форум
Сообщений всего: 528
Дата рег-ции: Май 2010  
Откуда: Minsk


Помог: 3 раз(а)




Try to change for:
$ad->photo{$i}

Yes. It is better. It is flexible.
 
 Top
JustUserR
Отправлено: 17 Августа, 2010 - 21:44:32
Post Id



Активный участник


Покинул форум
Сообщений всего: 8715
Дата рег-ции: Июнь 2009  


Помог: 17 раз(а)




garvey пишет:
Yes. It is better. It is flexible.
При осуществлении доступа к свойствам ООП объетка и использования стороковых значений для специфирования их динамических идентификаторов - необходимо использовать функцию eval поскольку оператор доступа к объеку не поддерживает напрямую возможность использования жестких ссылок Кроме того даже если бы такая возможность предоставлялась - то все равно при использовании интерполяции базовая часть переменной и подстановочный номер находятся на различных уровнях представления данных
Исходя их этого приведенный вами PHP-код можно модифицировать соответствующим образом - ниже приведен только фрагмент требующий модификации
PHP:
скопировать код в буфер обмена
  1. eval("\$cv_photo=\$ad->photo".$i.";");
  2. if (empty($cv_photo)) {
  3.  $AS_ADS_IMG_URL=$cv_photo;


-----
Сделать можно все что угодно - нужно только старание, терпение и хороший поисковик Улыбка
Безлимитный web-хостинг от 15 рублей за 40 МБ дискового пространства - http://ihost[dot]oks71[dot]ru/
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Программирование на PHP »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB