Главное меню
Мы солидарны с Украиной. Узнайте здесь, как можно поддержать Украину.

вопросы по php

Автор do50, сентября 15, 2011, 21:04

0 Пользователи и 1 гость просматривают эту тему.

wangjhenbai

А, это потому что они уже внутри двойных кавычек, т.е. сервер думал, что строка заканчивается.

Если Вам очень нужны именно двойные кавычки, надо тогда их экранировать, т.е. поставить перед ними знак \":
print "<li class=\"current\"><a href=\"$url\"><span>$text</span></a></li>";

Ну, или заключить всю строку в одинарные кавычки, но тогда нельзя использовать подстановки с помощью доллара (приходится разделить строку на много строк и объединять их оператором .):
print '<li class="current"><a href="' . $url .'"><span>' . $text . '</span></a></li>';


Установите себе какой-нибудь редактор с подсветкой синтаксиса: тогда строки подсвечиваются одним цветом, а всё остальное — другим. И сразу будет понятно, где заканчивается строка. Удобно.
Если я кому-то нужен, д м игрек м д собака яндекс точка ру.

do50

Цитировать
$active = $ln[0] == (isset($_GET['art_id']) ? (int)($_GET['art_id']) : 1);
вот это замечательно работает
Проблемы интеграции России в ад должны волновать ад, а не Россию

«Россия управляется непосредственно Господом Богом. Иначе невозможно представить, как это государство до сих пор существует», Генерал-фельдмаршал Х. А. Миних
«Россией управлять не сложно, но совершенно бесполезно», Александр II

do50

Цитата: wangjhenbai от июля  3, 2012, 21:25
Установите себе какой-нибудь редактор с подсветкой синтаксиса: тогда строки подсвечиваются одним цветом, а всё остальное — другим. И сразу будет понятно, где заканчивается строка. Удобно.
у меня их два(!) notepad++ и PSPad editor  :)
Проблемы интеграции России в ад должны волновать ад, а не Россию

«Россия управляется непосредственно Господом Богом. Иначе невозможно представить, как это государство до сих пор существует», Генерал-фельдмаршал Х. А. Миних
«Россией управлять не сложно, но совершенно бесполезно», Александр II

do50

Цитата: wangjhenbai от июля  3, 2012, 21:25
Если Вам очень нужны именно двойные кавычки
нет, я не сумасшедший, одинарные, так одинарные
Проблемы интеграции России в ад должны волновать ад, а не Россию

«Россия управляется непосредственно Господом Богом. Иначе невозможно представить, как это государство до сих пор существует», Генерал-фельдмаршал Х. А. Миних
«Россией управлять не сложно, но совершенно бесполезно», Александр II

do50

wangjhenbai, и остальные люди доброй воли, помогите теперь сделать многоуровневое меню на php + БД из вот этого:
Цитировать
<div id="nav">

<ul class="current"><!-- <<<== активное меню -->
   <li><a href="###"><b>Главная</b></a>
      <ul class="sub_active"><!-- <<<== активное подменю меню -->
      <li class="current_sub"><a href="###">О нас</a></li><!-- <<<== активная страница -->
      <li><a href="###">Контакты</a></li>
      <li><a href="###">Карта сайта</a></li>
      <li><a href="###">Как нас найти</a></li>
      </ul>
   </li>
</ul>

<ul class="select">
   <li><a href="###"><b>Игры</b></a></li>
</ul>
<ul class="sub">
   <li><a href="###">Азартные</a></li>
   <li><a href="###">Гонки</a></li>
   <li><a href="###">Стратегии</a></li>
   <li><a href="###">Аркады</a></li>
   <li><a href="###">Спорт</a></li>
   <li><a href="###">RPG(Ролевые)</a></li>
   <li><a href="###">Логические </a></li>
</ul>

<ul class="select">
   <li><a href="###"><b>Погода</b></a>
      <ul class="sub">
      <li><a href="###">На сегодня</a></li>
      <li><a href="###">На завтра</a></li>
      <li><a href="###">На месяц</a></li>
      <li><a href="###">На неделю</a></li>
      <li><a href="###">На 85 лет вперед</a></li>
      </ul>
   </li>
</ul>

<ul class="select">
   <li><a href="###"><b>Программы для ПК</b></a>
      <ul class="sub">
      <li><a href="###">Аудио-видео плееры</a></li>
      <li><a href="###">Безопасность и защита</a></li>
      <li><a href="###">Интернет</a></li>
      <li><a href="###">Общение (Messeger/Chat/E-mail)</a></li>
      <li><a href="###">Файловые менеджеры, архиваторы</a></li>
      <li><a href="###">Экранные утилиты</a></li>
      </ul>
   </li>
</ul>

</div>
Проблемы интеграции России в ад должны волновать ад, а не Россию

«Россия управляется непосредственно Господом Богом. Иначе невозможно представить, как это государство до сих пор существует», Генерал-фельдмаршал Х. А. Миних
«Россией управлять не сложно, но совершенно бесполезно», Александр II

Python

По-моему, тут нужен скорее css и js, чем php. Или нужно сделать его несовместимым со старыми броузерами, и чтобы все время что-то подгружалось?
Пролетареві ніколи вчити європейських мов, бодай би свою знати добре і на ній принести до своєї хати світло знання (Гнат Хоткевич)
ÆC CASALI NAXI PRASQURI: AHOV CÆRU, MERTVÆRI TÆ SLAVUTÆT!
Вони просили його: «Скажи: кетум», а він говорив: «сатем», і не міг вимовити правильно.
Хотелось бы также отметить, что "Питон" - это "мышиный язык" : "пи+тон". © АБР-2

do50

Цитата: Python от июля  5, 2012, 08:38
По-моему, тут нужен скорее css и js
эта штука и без js отлично работает. все статьи находятся в БД, их нужно от туда выковыривать   
Проблемы интеграции России в ад должны волновать ад, а не Россию

«Россия управляется непосредственно Господом Богом. Иначе невозможно представить, как это государство до сих пор существует», Генерал-фельдмаршал Х. А. Миних
«Россией управлять не сложно, но совершенно бесполезно», Александр II

wangjhenbai

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

do50

да какая там структура!
Цитировать
CREATE TABLE IF NOT EXISTS `articles` (
  `id` int(11) NOT NULL auto_increment,
  `title` varchar(255) NOT NULL,
  `content` longtext NOT NULL,
  PRIMARY KEY  (`id`)
) ENGINE=MyISAM  DEFAULT CHARSET=utf8 AUTO_INCREMENT=6 ;
вот и вся структура
Проблемы интеграции России в ад должны волновать ад, а не Россию

«Россия управляется непосредственно Господом Богом. Иначе невозможно представить, как это государство до сих пор существует», Генерал-фельдмаршал Х. А. Миних
«Россией управлять не сложно, но совершенно бесполезно», Александр II

wangjhenbai

В вашей структуре явно не хватает способа хранить иерархию. Т.е., предположим, у Вас хранятся такие вещи:
«Контакты», «Карта сайта», «Как нас найти», «Азартные» и т.д. А как программа узнает, что первые 3 принадлежат разделу «Главная», а последнее — разделу «Игры»?

Есть 2 способа:

  • Если «Главная» и «Игры» сами являются страницами, добавьте поле parent; тогда у страницы «Азартные» поле parent будет равно полю id страницы «Игры» (т.е. это вложенная страница), а у страницы «Игры» поле parent будет NULL (или равно 0, как Вам нравится; т.е. это страница верхнего уровня): ALTER TABLE `articles` ADD COLUMN `parent` INTEGER NULL;
  • Если «Главная» и «Игры» страницами не являются (т.е. обладают какими-то особыми свойствами), можете создать ещё одну таблицу, categories, а в таблицу articles добавить поле category; тогда «Игры» будет не страницей, а категорией; CREATE TABLE categories(`id` INTEGER AUTO_INCREMENT PRIMARY KEY, `title` VARCHAR(255) NOT NULL); ALTER TABLE `articles` ADD COLUMN `category` INTEGER NULL;
Если одна страница может входить в несколько категорий, тогда не добавляйте поле `parent`/`category`, а создайте таблицу CREATE TABLE `article_parents`(`id` INTEGER AUTO_INCREMENT PRIMARY KEY, `article_id` INTEGER, `parent` INTEGER); или CREATE TABLE `article_categories`(`id` INTEGER AUTO_INCREMENT PRIMARY KEY, `article_id` INTEGER, `category_id` INTEGER);

Скажете, на каком варианте остановились. Только ж учитывайте, что Вам потом надо будет ещё и подобавлять в БД эти странички.

Offtop
Ладно, я сейчас немного занят, так что не обечаю, что отвечу сразу.
Если я кому-то нужен, д м игрек м д собака яндекс точка ру.

do50

«Главная» и «Игры» сами являются страницами, добавил `parent`
теперь таблица получилась такая:
Цитировать
CREATE TABLE IF NOT EXISTS `articles` (
  `id` int(11) NOT NULL auto_increment,
  `title` varchar(255) NOT NULL,
  `content` longtext NOT NULL,
  `parent` int(11) default NULL,
  PRIMARY KEY  (`id`)
) ENGINE=MyISAM  DEFAULT CHARSET=utf8 AUTO_INCREMENT=6 ;
правильно?
Проблемы интеграции России в ад должны волновать ад, а не Россию

«Россия управляется непосредственно Господом Богом. Иначе невозможно представить, как это государство до сих пор существует», Генерал-фельдмаршал Х. А. Миних
«Россией управлять не сложно, но совершенно бесполезно», Александр II

wangjhenbai

Цитата: do50 от июля  5, 2012, 16:44
правильно?
Да, вполне.



Итак, вот код. Код разбит на 2 части. Первая — функции.

  • Функция get_item_link принимает номер (id) страницы и возвращает её адрес (пока что она просто возвращает /index.php?art_id=XXX, но функция нужна для того, чтобы потом структуру адреса можно было легко изменить),
  • а функция print_menu принимает адрес текущей страницы и собственно выводит меню; она будет правильно работать только если вложенность двухуровневая: т.е. у подразделов не может быть своих подразделов.
Лучше всего разместить функции в каком-нибудь внешнем файле, например, func.php, а в шаблоне только вызвать этот файл (с помощью строки require 'func.php';).

Spoiler: Файл func.php ⇓⇓⇓
Так как этот файл вызывается из другого файла, тег ?> в конце не нужен.

А в основном файле сделать вот так:
<?php require 'func.php'; ?>
<!-- Тут какой-нибудь ещё код... -->
<div id="nav">
<?php print_menu(isset($_GET['art_id']) ? (int)($_GET['art_id']) : 1); ?>
</div>





Я тестировал на такой базе данных:
Если я кому-то нужен, д м игрек м д собака яндекс точка ру.

do50

ух ты!!!
wangjhenbai, спасибо вам огромное!
буду разбираться, ещё раз благодарю!!!
Проблемы интеграции России в ад должны волновать ад, а не Россию

«Россия управляется непосредственно Господом Богом. Иначе невозможно представить, как это государство до сих пор существует», Генерал-фельдмаршал Х. А. Миних
«Россией управлять не сложно, но совершенно бесполезно», Александр II

do50

не совсем про php, но...
для заковыристых шрифтов на сайте что лучше использовать cufón или подгружать через css?
Проблемы интеграции России в ад должны волновать ад, а не Россию

«Россия управляется непосредственно Господом Богом. Иначе невозможно представить, как это государство до сих пор существует», Генерал-фельдмаршал Х. А. Миних
«Россией управлять не сложно, но совершенно бесполезно», Александр II

wangjhenbai

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

do50

Цитата: wangjhenbai от июля  7, 2012, 23:15
IMHO CSS гораздо лучше, так как позволяет копировать текст.
ну, мне только для оформления заголовков, хотя вы правы, css - лучше
Проблемы интеграции России в ад должны волновать ад, а не Россию

«Россия управляется непосредственно Господом Богом. Иначе невозможно представить, как это государство до сих пор существует», Генерал-фельдмаршал Х. А. Миних
«Россией управлять не сложно, но совершенно бесполезно», Александр II

wangjhenbai

Если для оформления заголовков — тогда всё равно, IMHO.
Если я кому-то нужен, д м игрек м д собака яндекс точка ру.

do50

Цитата: wangjhenbai от июля  7, 2012, 23:22
Если для оформления заголовков — тогда всё равно, IMHO.
js притормаживает работу браузера, там итак много всего понакручено, так, что наверное, лучше через стили
Проблемы интеграции России в ад должны волновать ад, а не Россию

«Россия управляется непосредственно Господом Богом. Иначе невозможно представить, как это государство до сих пор существует», Генерал-фельдмаршал Х. А. Миних
«Россией управлять не сложно, но совершенно бесполезно», Александр II

do50

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

«Россия управляется непосредственно Господом Богом. Иначе невозможно представить, как это государство до сих пор существует», Генерал-фельдмаршал Х. А. Миних
«Россией управлять не сложно, но совершенно бесполезно», Александр II

Python

Только если при этом не теряется совместимость с остальными браузерами.
Пролетареві ніколи вчити європейських мов, бодай би свою знати добре і на ній принести до своєї хати світло знання (Гнат Хоткевич)
ÆC CASALI NAXI PRASQURI: AHOV CÆRU, MERTVÆRI TÆ SLAVUTÆT!
Вони просили його: «Скажи: кетум», а він говорив: «сатем», і не міг вимовити правильно.
Хотелось бы также отметить, что "Питон" - это "мышиный язык" : "пи+тон". © АБР-2

wang-jenbair

Цитата: do50 от июля  9, 2012, 10:28
народ, а как думаете, под ie7 надо сайт затачивать?
Вот здесь можно посмотреть статистику использования:
http://gs.statcounter.com/#browser_version-ww-monthly-201106-201206-bar

Как видим, IE 7 использует меньше 4% пользователей во всём мире. Нужна ли Вам эта аудитория — решайте сами.

Лично моё мнение такое:

  • если речь идёт об оформлении или дополнительных функциях, реализовывать их для IE7 не стоит;
  • но если есть какой-то баг, мешающий просто читать сайт в IE7, стоит его исправить.

do50

Цитата: Python от июля  9, 2012, 10:36
Только если при этом не теряется совместимость с остальными браузерами.
через css ничего не теряется, но уж очень муторно
Проблемы интеграции России в ад должны волновать ад, а не Россию

«Россия управляется непосредственно Господом Богом. Иначе невозможно представить, как это государство до сих пор существует», Генерал-фельдмаршал Х. А. Миних
«Россией управлять не сложно, но совершенно бесполезно», Александр II

Bhudh

Вы про @font-face? А что там муторного-то, урл прописать да шрифты закачать...
Пиши, что думаешь, но думай, что пишешь.
MONEŌ ERGŌ MANEŌ.
Waheeba dokin ʔebi naha.
«каждый пост в интернете имеет коэффициент бреда» © Невский чукчо

Deme_trius

Цитата: Bhudh от июля  9, 2012, 14:49
Вы про @font-face? А что там муторного-то, урл прописать да шрифты закачать...
Нетъ, конечно. Речь о созданіи отдѣльнаго CSS для IE7, а отдѣльнаго для остальныхъ браўзеровъ.

do50

Цитата: Bhudh от июля  9, 2012, 14:49
Вы про @font-face? А что там муторного-то, урл прописать да шрифты закачать...
нет, в IE 7 картинки разъезжаются, везде всё нормально, а в IE 7 как попало
Проблемы интеграции России в ад должны волновать ад, а не Россию

«Россия управляется непосредственно Господом Богом. Иначе невозможно представить, как это государство до сих пор существует», Генерал-фельдмаршал Х. А. Миних
«Россией управлять не сложно, но совершенно бесполезно», Александр II

Быстрый ответ

Обратите внимание: данное сообщение не будет отображаться, пока модератор не одобрит его.

Имя:
Имейл:
Проверка:
Оставьте это поле пустым:
Наберите символы, которые изображены на картинке
Прослушать / Запросить другое изображение

Наберите символы, которые изображены на картинке:

√36:
ALT+S — отправить
ALT+P — предварительный просмотр