![]() |
$_GET['']
Вообщем написал я скрипт для того, что бы картинка менялась для каждого подраздела.
Но написать красиво я не смог, написал таким образом, что этот код нужно раз двадцать дублировать для разных разделов у меня там actors, books, films Система моя меню и подменю такая: Например для раздела актеров (В адресной строке) ?hp = actors //главный раздел ?actors=daniel //подраздел PHP код:
Сделаю переменную:$hp $hp = array_keys($_GET); Которую пропишу везде вместо акторс PHP код:
error actors То есть переменная помещает в себя правильну инфу, но возможно ошибка в участке кода типа: $submenupic1 = $_GET['$hp[0]']; |
$submenupic1 = $_GET[$hp[0]]; - пробовал?
в чем разница между одинарными и двойными кавычками в PHP? |
Чудеса!!!! )) Заработало:
PHP код:
В моем понимании - разницы между одинарными и двойными нету. Но исползуют разные кавычки для того, что бы они в срединке не пересекались. То есть printf ("asdasd asdasdads 'asdasdasd' ", sd); Внешние - двойные - внутри одинарные |
Artem-Samsung, в двойных кавычках переменные парсятся а в одинарных нет. Например код
PHP код:
PHP код:
|
Спасибо. А не подскажете еще чуть-чуть?
Вообщем мне нужно заполнить одномерный массив значениями $menu1: PHP код:
Array ( [0] => Література [1] => Література [2] => Література [3] => Кінофільми [4] => Кінофільми [5] => Кінофільми [6] => Азиев [7] => Кінофільми [8] => Комп.Ігри [9] => Комп.Ігри [10] => Комп.Ігри [11] => UA HPclub [12] => UA HPclub [13] => UA HPclub [14] => UA HPclub [15] => Спілкування [16] => Спілкування [17] => Спілкування [18] => Спілкування ) Как бы у меня там в БД много раз повторяется как Литература так и Кинофильмы, но я же написал DISTINCT чаво оно не работает. То есть мне нужно что бы значения не повторялись в массиве. |
PHP код:
|
ухты какая загогулина. Я даже не знаю, как это озвучить О.о
if (!in_array($categ['category'], $menu1)) Но спасибо, попробую ща |
Да всё просто. Проверка: если значения $categ['category'] в массиве $menu1 ещё нет, значит записываем его туда. Иначе побоку.
|
Большое спасибо, со своей задачей скрипт справляется, но таки выводится на экран ошибка:
Notice: Undefined variable: menu1 in z:\home\localhost\www\uahpclubphp\test.php on line 9 [Денвер: показать возможную причину ошибки] Warning: in_array(): Wrong datatype for second argument in z:\home\localhost\www\uahpclubphp\test.php on line 9 Array ( [0] => Література [1] => Кінофільми [2] => фывфыв [3] => Комп.Ігри [4] => UA HPclub [5] => Спілкування ) В строке PHP код:
Я пробовал прописать ей в начале значение ноль, но все равно не получается. Единственным выходом является добисать еще одно условие: PHP код:
А, и ее вопрос. Вы так как то интересно записали условие if без кавычек фигурных, нигде не втречал такого. Когда можна эти кавычки не ставить, я то уверен, что не во всех случаях без кавычек сработает Ухтышка, нашел способ еще один: сделать выборку таким вот образом: $result = mysql_query("SELECT DISTINCT category , title, link FROM menu GROUP BY category", $db); И все получается, без дополнительно условия. Но все же вариант с усовием мне тоже интересен. Просто прописав таким образом выбока оно как-то перемешалось: Точнее упорядочилось по алфавиту Array ( [0] => Комп.Ігри [1] => Кінофільми [2] => Література [3] => Спілкування ) Да и UA HPclub ячейка пропала |
Artem-Samsung, я не понял, в этом сообщении содержится вопрос или уже нет?)) Вот кроме этого:
Цитата:
Цитата:
if (isset($menu1)) { if (!in_array($categ['category'], $menu1)) $menu1[]=$categ['category']; } это можно покомпактнее записать: PHP код:
Цитата:
Или вот так: $menu1 = new Array(); (беру по аналогии с JavaScript'ом - не знаю, работает ли это в PHP). |
Coutty, respect !!!
Огромное спасибо, докладно пояснили все.. просто замечательно. Но вот прописав такое - $menu1[0]="0"; reset($menu1); все равно глюк - первый элемент массива нулу равняется( $menu1 = new Array(); - воооще не работает. Но не беда. Я начал цикл со значения 1. И на самом начале прописал первому элемента массива первый элемент того массива из БД ) $menu1[0] = $categ['category']; PHP код:
|
Эх...
Усовершенствовал немного. Сделал ду вайл да и в боевых условиях проверил ;) PHP код:
|
PHP код:
PHP код:
Что, если написать вот так: PHP код:
|
Цитата:
Вообщем с menu1 все просто замечтально)) PHP код:
А вот меню2 у меня что-то вооще никак не получается (( Никак не хочет начинаться с нуля PHP код:
Вывод такой: Первое меню: Array ( [0] => Література [1] => Кінофільми [2] => Комп.Ігри [3] => UA HPclub [4] => Спілкування [5] => Адміністратору ) Второе меню: Array ( [0] => 0 [1] => rowling [2] => books [3] => bb [4] => fanfics [5] => films [6] => film6 [7] => actors [8] => photo [9] => adventure [10] => quidditch [11] => passing [12] => about [13] => projects [14] => prophet [15] => partners [16] => forum [17] => chat [18] => gallery [19] => blogs [20] => menu [21] => news ) |
Ну так очевидно, что с нуля оно и не начнётся. Смотри: сначала вызываешь $j++; а потом уже $menu2[$j]=$menu['link']; Т.е. к моменту присваивания j=1. Переложи в конец блока do{}
|
Спасибо большое! )) Аж стыдно) Конечно же счетчик должен включаться перед первым действием в цикле.
Я вот что бы новую тему не создавать таки осмелюсь в этой еще парочку вопросов задать. К примеру: После нажатия кнопки в форме у меня программа выполняет определенные действия: PHP код:
Но почему то данные в переменной не сохраняются. Почему? Ведь оно присваивалось в определенной функции, которая успешно выполнялась. То есть в этой: PHP код:
|
В начале скрипта выведи распечатку содержимого print_r($_POST); Посмотрим, может быть переменные по-другому размечены?:)
Но вообще я не понимаю зачем проверять каждый раз isset(). Может быть просто написать: PHP код:
|
Я выкрутился применяя сессии ))) Все ок :))
Кстати, если интерестно, то вот админка, которую я здесь так долго мучал: http://uaclub.org/uahpadmin/update/ Можна даже покляцать, там все равно БД пока что левая)) |
Время: 02:49. |
Время: 02:49.
© OSzone.net 2001-