| |
|
|
| | Материал на странице размещен таким образом: слева - рубрики меню, по центру - содержание разделов, справа - блоки ссылок. Рубрики меню - в базе в одной таблице, а блоки ссылок (те, что справа) - в другой таблице. Проблема вот в чем. Если id рубрики меню совпадает с id ссылки, то броузер выводит someURL?id=7 (номер id может быть 1,2,3 и т.д.) и по центру ничего не отображается.
Как можно поставить условие, чтобы при выведении содержимого рубрик меню (по центру страницы) справа выводились только названия ссылок, а если выводится статья по ссылке (по центру), слева - только список рубрик.
Если что-то не понятно, тогда вышлю код.
Заранее спасибо. | |
| |
|
|
| |
|
|
| |
для: Лена
(21.03.2008 в 11:16)
| | | Действительно не совсем понятно. По умолчанию у вас загрузилось меню, содержание и ссылки (кстати, ссылки на что?). Например, в меню вы делаете запрос на рубрику с id=3. Если таковая существует, и если у вас нет ошибок в оработке запроса, а также вы верно формируете вывод запроса, то все должно работать. При чем тут id ссылки, как они связаны с рубриками, не дублируют ли они меню? | |
| |
|
|
| |
|
|
| |
для: sim5
(21.03.2008 в 11:36)
| | | Выкладываю код. Без CSS, шапки и дна страницы. По умолчанию у меня загружается меню, содержание и справа - ссылки на статьи, которые достаются из базы (не сами статьи, а ссылки на них и по ссылке переходим к нужному файлу). Например, я делаю запрос на рубрику с id=3. Содержание рубрики не показывается, а показывается содержание ссылки справа, у которой id=3.
Причем это содержание показывается (только не смеяться!) справа, от чего правая колонка растягивается до немыслимых размеров и у меня наступает полная паника. Как организовать логику так, чтобы на странице все было в порядке и содержание разделов выводилось по центру, и содержание ссылок тоже выводилось по центру.
Опишите, пожалуйста, пошагово.
Да, ссылки никак разделы меню не дублируют - находятся в отдельной таблице в базе.
Заранее спасибо. | |
| |
|
|
| |
|
|
| |
для: Лена
(21.03.2008 в 12:19)
| | | У вас есть ошибки. Тут:
<?
echo("<A HREF='?id=$id1'>{$row["title"]}</A> \n");
|
А так же в РНР-тегах, если вы конечно только в описании их случайно не написали.
Вообще же в таком коде (хотя он и простой) трудно ориентироваться. Может лучше так:
<?php
//определяем функции
function func1() {
//
}
function func2() {
//'
}
function func3() {
//
}
//и т.д.
?>
//вывод
<table>
<tr>
<!-- блок меню -->
<td>вызов функции <?php func1 ?></td>
<!-- контент -->
<td>вызов функции <?php func2 ?></td>
<!-- блок ссылок -->
<td>вызов функции <?php func3 ?></td>
</tr>
</table>
|
В общем так, что бы легко читалась структура будующей страницы. И не понятен вообще вызов контента, все в куче. Что у вас должно определять пункты меню, а что ссылки? | |
| |
|
|
| |
|
|
| |
для: sim5
(21.03.2008 в 18:17)
| | | Пункты меню - это названия рубрик. Нажимаешь на рубрику - появляется список ссылок - названий статей, которые принадлежат к этой рубрике. Этот список ссылок должен появиться в центральной ячейке. Дальше нажимаешь на ссылку - и появляется (здесь же, по центру) отдельная статья. Слева - список ссылок на статьи, которые должны вызываться из базы, как вы посоветовали, функцией func3(). Нажимаешь на ссылку - и по центру должна появиться отдельная статья. Попробую все переделать, чтобы все было понятнее. | |
| |
|
|
| |
|
|
| |
для: Лена
(24.03.2008 в 10:13)
| | | Я func3() написал как пример, в вашем же случае, это должен быть подключение:
include "select_link.php";
Как бы это вам сказать. Например, векторы прерываний процессоров, всегда находятся в начальных его адресах не потому, что так красиво, а потому, что это выгодно. Если вы пишите функции, определяете переменные и константы к которым постоянно будет обращаться скрипт - определяйте это сразу, в самом верху, это удобнее. Если эти функции, константы, переменные требуются на многих страницах кода, то их лучше поместить в отдельные подключаемые файлы.
Вы ведь "не врагу" это пишите, а для себя, и если писать так, то при усложнении скрипта, вам все труднее будет разбираться в нем. Поместите код, который вы прикрепили, в редакторе с подсветкой кода, и вы увидите сразу ошибки: лишние РНР-теги, неверные кавычки.
Что касается вывода, то в ячейке таблицы, которая отображает контент, вам нужно просто проверять полученную переменную. Если это $_GET['id_menu'], то вы должны просто оратиться к функции, которая выводит названия рубрик (вот этого я не понимаю, если конечно это не вывод названий рубрик за месяцы, например). Если же в запросе $_GET['id'], то обращаетесь к другой функции. А по умолчанию (начальный вывод страницы, нет еще запросов), выводите что-то по умолчанию.
Но зачем выводить список названий рубрик (список ссылок) в окне контента, если справа вы выводите их же? Или это совсем другие ссылки? А как же тогда у вас просмотреть сам контент? В общем тут я ничего не понял.:))
Да и вообще. Наверное лучше в ваших функциях просто обращаться к базе и получить содержимое, а вот уже вывод (HTML-элементы, стили и пр.) делать отдельно. Тогда можно сделать функцию унирверсальной, например, получать данные за период (наример, при поиске), получать только последние (новые рубрики), и т.д.. Тогда будут проще изменить и стиль вывода. Ну это так, чисто предложение, вы можете делать и так, как и делаете. | |
| |
|
|
| |
|
|
| |
для: sim5
(24.03.2008 в 11:03)
| | | Все переделала. Убрала свой select_link.php, построила пока на одних функциях, потом, возможно, буду подключать их как отдельный файл.
Код - в прикрепленном файле.
Пишет ошибку: Parse error: parse error, unexpected T_FUNCTION in s:\home\localhost\www\index\index222.php on line 108
В этой строке у меня: if (isset ($_GET['cid'])) func3(); ?></td>
Это ссылки, которые выводятся справа - они с рубриками меню и с содержимым рубрик меню никак не связаны. Функция func3() выводит список этих ссылок. Потом нажимаешь на каждую из этих ссылок - и по центру появляется отдельная статья - действует func4()
func3() и func4() вообще не работают - ссылки из базы не выводятся
Трудно передать словами, как я вам благодарна. | |
| |
|
|
| |
|
|
| |
для: Лена
(24.03.2008 в 11:16)
| | | Елена, если я не ошибаюсь, вы та самая Елена, которая работает в издательстве.
Я вам привел пример, как разбить ваш код, на собственно код, и непосредственно вывод (хотя во время вывода без вставки php-кода не получится), для того, чтобы легче было вам же разбираться в ошибках php-кода и непосредственно HTML. Имена функций func1() - func3() я привел как пример (взял с "потолка"), а вы видимо вставили это в свой код - естественно вы получите это сообщение об ошибке.
Девушка вы умная, я думаю, что вы разберетесь, что у вас в коде лишнее. :)
[поправлено модератором] | |
| |
|
|
| |
|
|
| |
для: sim5
(24.03.2008 в 12:18)
| | | Да, я та самая Лена, у которой однажды возникла бредовая идея создать сайт. И все началось с Вашего Денвера. Раньше не подозревала, что работа программиста в тысячи раз сложнее, чем работа редактора. Благо, времени у меня достаточно, никто в спину не гонит.. Я не хочу брать чужой код, я хочу разобраться в общей логике создания страниц. Тем более, писать код так же интересно, как и делать статьи.
Нет, я не в юмористическом издательстве работаю и на форум хожу не шутить и не развлекаться. :-))) Имена функций поставлены ПРАВИЛЬНО. Уверена на 100%. Вот только ума не хватает, чтобы разобраться.
Если Вам нетрудно, откройте еще раз код. В центральной ячейке должны "сработать"(не знаю, как правильно назвать) три функции: singleArticle(); Groupe_of_Article(); func4(). Если Вам не нравится название последней функции, назовите ее, как на душу ляжет. И получается, что singleArticle(); Groupe_of_Article(); работают, а func4() - нет, потому что что-то ей мешает. Нужно сделать так: если работают singleArticle(); Groupe_of_Article(), то func4() - не работает, а как это поставить в условии при вызове этой функции? И если func4() работает, то не работают singleArticle(); Groupe_of_Article().
Комптиментов больше не надо, лучше помогите. И я в свою очередь не буду писать про безграничную благодарность, которой не видно ни конца ни края... :-))) | |
| |
|
|
| |
|
|
| |
для: Лена
(24.03.2008 в 12:39)
| | | Вообще-то Денвер не мой, а Котерова. :)) Не надо много благодарностей. Посмотрю, если кто либо раньше меня этого не сделает - честное слово, просто не хватает времени сейчас. Я в основном захожу на форум чтобы просто почитать. Если вы не против, то напишу вам письмом, подробно, но позднее немного. | |
| |
|
|
| |
|
|
| |
для: sim5
(24.03.2008 в 15:24)
| | | Я не против. В ожидании письма. | |
| |
|
|
| |
|
|
| |
для: Лена
(24.03.2008 в 15:49)
| | | Лучше писать так karaush [ э т ] meta.ua, чем прямым e-mail - иначе можно попасть в спамерские базы данных.
http://softtime.ru/forum/editpost.php?id_forum=1&id_theme=51114&id_post=297341
[поправлено модератором] | |
| |
|
|
| |
|
|
| |
для: Atheist
(24.03.2008 в 15:58)
| | | Спасибо за предупреждение. | |
| |
|
|
| |
|
|
| |
для: Лена
(21.03.2008 в 11:16)
| | | Если я правильно понял, может просто использовать разные имена при передаче id допустим id и cid а после проверить какая из них имеет значение и присвоить его основному id
$id = $_GET['id'];
$сid = $_GET['сid'];
if(!empty($cid)) $id=$cid
|
Если ошибаюсь выложи код | |
| |
|
|
| |
|
|
| |
для: ONYX
(21.03.2008 в 11:36)
| | | Что вы имели ввиду под основным id? | |
| |
|
|
|