Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Интернет » Web-программирование » Вывод divа с содержимым по условию

Модерирует : Cheery

 Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 1 2 3

Открыть новую тему     Написать ответ в эту тему

ValentinkaB

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Изначально код был такого содержания
<div class="town-links">
<a target="_blank" href="http://ru.wikipedia.org/wiki/Махачкала" class="mahackala"></a></div>
Потом понадобилось выводить этот див по условию, в итоге пробовала разные варианты, этот более менее похож на правду, только не работает. Подскажите пожалуйста как выглядит работающий вариант кода.
<?
if (file_exists($_SERVER["DOCUMENT_ROOT"]."/images/city/towns.jpg" ))  
{
  echo '<div class="town-links"> ';  
}
?>
<a target="_blank" href="http://ru.wikipedia.org/wiki/Махачкала" class="mahackala"></a>

Всего записей: 11 | Зарегистр. 14-01-2010 | Отправлено: 16:54 24-06-2010
poyt



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
по условию должен выводиться только div или div и ссылка?

Всего записей: 642 | Зарегистр. 26-06-2006 | Отправлено: 17:06 24-06-2010
ValentinkaB

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
div, а в нем ссылка. но если сделать вот так
<?
if (file_exists($_SERVER["DOCUMENT_ROOT"]."/images/city/towns.jpg" ))  
{
  echo '<div class="town-links">  
<a target="_blank" href="http://ru.wikipedia.org/wiki/Махачкала" class="mahackala"></a></div>';  
}
?>
тоже не работает.

Всего записей: 11 | Зарегистр. 14-01-2010 | Отправлено: 17:10 24-06-2010
poyt



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
<?
if (file_exists($_SERVER["DOCUMENT_ROOT"]."/images/city/towns.jpg" ))  
{
  echo '<div class="town-links"><a target="_blank" href="http://ru.wikipedia.org/wiki/Махачкала" class="mahackala"></a></div>';  
}
?>  

попробуйте так, это связано с тем, что клацая по Enter происходит перенос строки, а php, интерпретируя код, находя обрывающийся:

Код:
echo '<div class="town-links">

считает, что произошла ошибка, так как не закрыт апостроф "'" и нет в конце ";", по-этому он выдаёт в таком случае ошибку.
 
А если хотите переносить построчно то, это можно делать так:

Код:
<?
if (file_exists($_SERVER["DOCUMENT_ROOT"]."/images/city/towns.jpg" ))  
{
  echo '<div class="town-links">'.
 '<a target="_blank" href="http://ru.wikipedia.org/wiki/Махачкала" class="mahackala"></a></div>';  
}
?>

Всего записей: 642 | Зарегистр. 26-06-2006 | Отправлено: 17:14 24-06-2010 | Исправлено: poyt, 17:18 24-06-2010
ValentinkaB

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
в этом случае ничего не выводится нигде.
 
Добавлено:
Ошибку не выдает, но и то что надо не выполняет((
 
Добавлено:
а нельзя как то эту ссылку в отдельном файле прописать?

Всего записей: 11 | Зарегистр. 14-01-2010 | Отправлено: 17:21 24-06-2010
poyt



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Выведите:

Код:
<?php
echo $_SERVER["DOCUMENT_ROOT"]."/images/city/towns.jpg";
?>

И проверьте существует ли картинка по тому адресу.
Если есть - то условие будет срабатывать и выводить div.
Если нет, то ни div-а, ни ссылки, по условию выводиться не будет.

 
 
Если ссылка нужна, тогда это можно сделать так:

Код:
<?
$link = '<a target="_blank" href="http://ru.wikipedia.org/wiki/Махачкала" class="mahackala"></a>';
if (file_exists($_SERVER["DOCUMENT_ROOT"]."/images/city/towns.jpg" ))
  echo '<div class="town-links">'.$link.'</div>';
else
  echo $link;
?>

Ссылка вынесена в одтельную переменную для удобства.

Всего записей: 642 | Зарегистр. 26-06-2006 | Отправлено: 17:33 24-06-2010 | Исправлено: poyt, 17:43 24-06-2010
ValentinkaB

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Вот я тормоз(( Она у меня действительно лежит отдельно от других, но дело в том, что теперь условие не срабатывает и див с ссылкой выводятся всегда(( Может условие не верно?  
немного выше идет так:
<div id="towns"<? if (file_exists($_SERVER["DOCUMENT_ROOT"]."/images/city/".intval($_SESSION["SESS_CITY_ID"]).".jpg" )) {?>  
style="background:url(/images/city/<?= intval($_SESSION["SESS_CITY_ID"])?>.jpg) no-repeat;"<?}?>>
т е если ip адрес пользователя определен и есть такая картинка для города, она будет показана, в противном случае показывается общая картинка, кот-я прописана в css:
#towns {
 
    height: 199px;
    background:url(/bitrix/templates/books_copy1/images/towns.jpg) no-repeat;
}
 
Но если показана эта картинка, то нужно вывести див с ссылкой, а если какая другая, то ничего не нужно.

Всего записей: 11 | Зарегистр. 14-01-2010 | Отправлено: 17:50 24-06-2010
poyt



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
тут сбоку есть кругляшок, где можно код выделять и он будет выглядеть читаемей
 
1) что сейчас получается?
2) как приведённый код связан с тем, что был выше?
3)

Цитата:
Но если показана эта картинка, то нужно вывести див с ссылкой, а если какая другая, то ничего не нужно.

Не понятно
Поясните, как, что и когда должно выводиться?

Всего записей: 642 | Зарегистр. 26-06-2006 | Отправлено: 18:02 24-06-2010
ValentinkaB

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
есть главная картинка towns.jpg на ней изображены названия городов, в css:
.mahackala {
    margin-top: 141px;
    margin-left: 89px;
    width: 56px;
}
и при клике на название города можно перейти по ссылке.
на остальных картинках города расположены в другом порядке и естественно название города и ссылка на город не совпадают. Поэтому на всех остальных картинках просто ничего не надо выводить.

Всего записей: 11 | Зарегистр. 14-01-2010 | Отправлено: 18:13 24-06-2010
poyt



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
т.е. если город Махачкала и переменная определились, как Махачкала - то должен выводиться тот див?
Который был описан в этом коде:

Код:
<?
$link = '<a target="_blank" href="http://ru.wikipedia.org/wiki/Махачкала" class="mahackala"></a>';
if (file_exists($_SERVER["DOCUMENT_ROOT"]."/images/city/towns.jpg" ))
  echo '<div class="town-links">'.$link.'</div>';
else
  echo $link;
?>  

Всего записей: 642 | Зарегистр. 26-06-2006 | Отправлено: 18:18 24-06-2010 | Исправлено: poyt, 18:21 24-06-2010
ValentinkaB

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
наоборот, проверка сначала идет по городу, если не определен, то выводится картинка в шапке towns.jpg с дивом и ссылками. А если город определен, то в шапке выводится картинка для этого города и див с ссылками надо отменить.

Всего записей: 11 | Зарегистр. 14-01-2010 | Отправлено: 18:23 24-06-2010
poyt



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Тогда логически это будет выглядеть так:
1.1 проверка определён ли город
  2.1 если определен, то проверяем есть ли картинка
      3.1 если определён и есть картинка, то выводим эту картинку
  2.2 иначе вставляем стандартную картинку
1.2 иначе вставляем стандартную картинку
 
В коде такая конструкция будет выглядеть так:

Код:
if(!emty($city))
  if(file_exists($path_city))
    echo $pic_city;
  else
    echo $default_pic_city;
else
  echo $default_info;

 
Вместо переменных можно вставлять не только названия, ссылки и прочее. Если требуется больше одной строки для каких-то дополнительных команд PHP, то стоит тогда добавить фигурные скобочки.

Всего записей: 642 | Зарегистр. 26-06-2006 | Отправлено: 18:33 24-06-2010 | Исправлено: poyt, 18:43 24-06-2010
ValentinkaB

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Спасибки.

Всего записей: 11 | Зарегистр. 14-01-2010 | Отправлено: 12:02 25-06-2010
Alexey87

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Помогите, пожалуйста, и мне со следующей задачкой:
 

Код:
есть код:
<blockquote>
 <div id="001">
  <p>…</p>
 </div>
 <div id="002">
  <div>…</div>
 </div>
 <div id="003">
   <p>…</p>
 </div>
</blockquote>

 
Как сделать так, чтобы содержимое данного кода на странице отображалось в обратном порядке?
 
P.S.: извините, пожалуйста, если написал не в той теме

Всего записей: 657 | Зарегистр. 27-01-2008 | Отправлено: 01:06 14-09-2013 | Исправлено: Alexey87, 01:08 14-09-2013
Cheery



.:МордератоР:.
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Alexey87

Цитата:
чтобы содержимое данного кода на странице отображалось в обратном порядке?

используете js или же этот текст в php находится?

----------
Away/DND

Всего записей: 52737 | Зарегистр. 04-04-2002 | Отправлено: 01:16 14-09-2013
Alexey87

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
или же этот текст в php находится?

текст находится в html и он примерный (будет менятся структура: элементы, тэги)

Цитата:
используете js

пример не подскажите?

Всего записей: 657 | Зарегистр. 27-01-2008 | Отправлено: 00:01 15-09-2013
Cheery



.:МордератоР:.
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Alexey87

Цитата:
пример не подскажите?

вот так, к примеру
http://jsfiddle.net/eHNAC/

Код:
function elements_switch()
{
   var el = document.getElementsByTagName('blockquote')[0];
   var els = new Array();
   for(var i = 0; i < el.children.length; i++)
   {
       els.push(el.children[i]);
       el.removeChild(el.children[i]);
   }
 
   for(var i = els.length - 1; i >=0 ; i--)
   {
       el.appendChild(els[i]);
   }        
}

 
ps: упс, там неточность.. сейчас исправлю
 
http://jsfiddle.net/eHNAC/1/

Код:
function elements_switch()
{
   var el = document.getElementsByTagName('blockquote')[0];
   var els = new Array();
   for(var i = el.children.length - 1; i >= 0; i--)
   {
       els.push(el.children[i]);
       el.removeChild(el.children[i]);
   }
 
   for(var i = 0; i < els.length ; i++)
   {
       el.appendChild(els[i]);
   }        
}


----------
Away/DND

Всего записей: 52737 | Зарегистр. 04-04-2002 | Отправлено: 00:20 15-09-2013 | Исправлено: Cheery, 00:22 15-09-2013
Alexey87

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
ps: упс, там неточность.. сейчас исправлю

возможно ли производить сортировку не через кнопку, а, например, при загрузке страницы?

Всего записей: 657 | Зарегистр. 27-01-2008 | Отправлено: 00:35 15-09-2013
Cheery



.:МордератоР:.
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Alexey87

Цитата:
а, например, при загрузке страницы?

когда есть элементы на странице, тогда и вызывайте указанную функцию

----------
Away/DND

Всего записей: 52737 | Зарегистр. 04-04-2002 | Отправлено: 00:36 15-09-2013
Alexey87

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
когда есть элементы на странице, тогда и вызывайте указанную функцию

разъясните подробнее, пожалуйста

Всего записей: 657 | Зарегистр. 27-01-2008 | Отправлено: 00:40 15-09-2013
Открыть новую тему     Написать ответ в эту тему

Страницы: 1 2 3

Компьютерный форум Ru.Board » Интернет » Web-программирование » Вывод divа с содержимым по условию


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru