|
|
|
|
|
для: elenaki
(20.04.2006 в 11:49)
| | Не знаю почему перенесли тему, но у меня получилось! Спасибо, elenaki! :)
А чтобы визуально подтвердить выбор раздела, я сделал вот так, воспользовавшись советом cheops-а:
<?php
if(!empty($_GET['id_page']))
{
if(!preg_match("|^[\d]+$|",$_GET['id_page'])) exit("Недопустимый формат URL");
$query = "SELECT name FROM artpage WHERE id_artpage = ".$_GET['id_page']." LIMIT 1";
$pag = mysql_query($query);
if(!$pag) exit("Ошибка при обращении к таблице разделов");
$title = mysql_result($pag,0);
echo "<h1 class=artnamepage>$title</h1>";
}
else
{
echo "<h1 class=artnamepage>Раздел</h1>";
}
?>
|
Здесь $title выводит название раздела... :) | |
|
|
|
|
|
|
|
для: Радосвет
(20.04.2006 в 11:21)
| |
<form>
<select name=my_select onchange="window.location.href = this.options[this.selectedIndex].value;"
>
<?php
$query = "SELECT * FROM artpage";
if($pgs = mysql_query($query))
{
while(list($id_page,$part)=mysql_fetch_array($pgs, MYSQL_NUM))
{
echo "<option value='index.php?id_page=$id_page'>$par</option>";
}
} else puterror("error");
?>
</select>
</form>
|
| |
|
|
|
|
|
|
|
для: elenaki
(20.04.2006 в 11:11)
| | Что-то не выходит у меня...
Что же нужно прописать в <select name=...> ?
Мне нужно такое меню, чтобы по умолчанию был выбран первый раздел, а при выборе других не надо было жать на submit ...
То есть в коде должно присутствовать что-то вроде "selected"... | |
|
|
|
|
|
|
|
для: Радосвет
(20.04.2006 в 11:07)
| |
<form>
<select name=...>
<?php
// Выводим список разделов
$query = "SELECT * FROM artpage";
if($pgs = mysql_query($query))
{
while(list($id_page,$part)=mysql_fetch_array($pgs, MYSQL_NUM))
{
echo "<option value='id_page'>$par</option>";
}
} else puterror("Ошибка при обращении к блоку статей");
?>
</select></form>
|
| |
|
|
|
|
|
|
|
для: elenaki
(20.04.2006 в 10:52)
| | Да, хочу такое меню select...
Вот что получается:
<?php
// Выводим список разделов
$query = "SELECT * FROM artpage";
if($pgs = mysql_query($query))
{
while(list($id_page,$part)=mysql_fetch_array($pgs, MYSQL_NUM))
{
echo "<form><option value='id_page'><a href=index.php?id_page=$id_page>$part</a></option></form>";
}
} else puterror("Ошибка при обращении к блоку статей");
?>
|
Я что-то неправильно сделал? У меня выводится список ссылок... | |
|
|
|
|
|
|
|
для: Радосвет
(20.04.2006 в 05:51)
| | выпадающее меню => select?
замените li на option, а в value поставьте id_page | |
|
|
|
|
|
|
| По ходу дела, реорганизую админку, и там опять препятствие для меня с выводом разделов...
В одной из известных CMS в админке есть возможность выбрать раздел из выпадающего меню, вписать в поле имя статьи, ввести текст статьи и нажать "Добавить"... Вот и я так хочу сделать, но пока не получается...
В той системе я отыскал такой код файла админки:
<?php
echo "
<h4>"._MD_ADDARTICLE."</h4>
<form name='edit' action='./index.php' method='post'><br />";
echo _MD_GROUPPROMPT."<br />";
$articleAccess = new groupAccess('addArticle');
echo $articleAccess->listGroups();
echo "
<br /><br />
<b>"._MD_TITLEC."</b><br />
<input type='text' class='text' name='title' value='$title' size='50' value='' /><br /><br />";
$result = $db->query("SELECT secid, secname FROM ".$db->prefix(_MI_NSECTIONS_TABLE)." ORDER BY secid");
echo "<select class='select' name='secid'>";
while (list($sid, $secname) = $db->fetch_row($result)) {
$secname = $myts->makeTboxData4Show($secname);
echo "<option value='$sid'";
if ($sid == $secid) { echo " selected='selected'"; }
echo ">$secname</option>";
}
echo "</select>";
?>
|
В вашей CMS из книги "PHP практика создания..." в админке выводится список разделов таким образом:
<?php
// Выводим список разделов
$query = "SELECT * FROM artpage";
if($pgs = mysql_query($query))
{
while(list($id_page,$part)=mysql_fetch_array($pgs, MYSQL_NUM))
{
echo "<li><a href=index.php?id_page=$id_page>$part</a></li>";
}
} else puterror("Ошибка при обращении к блоку статей");
?>
|
А далее идёт ссылка на добавление статьи в нужный раздел:
<p><a class=menu href="addartform.php?id_page=<? echo $_GET['id_page']; ?>">Добавить новую статью на выбранную страницу</a></p>
<?php
// Если параметр id_page не передан странице, устанавливаем его
// значение равное 1
if(!isset($_GET['id_page'])) $_GET['id_page'] = 1;
// Формируем SQL-запрос на выборку статей в выбранном разделе
$query = "SELECT * FROM articles
WHERE id_page=".$_GET['id_page']."
ORDER BY name";
// Выполняем SQL-запрос
$art = mysql_query($query);
// Останавливаем выполнение скрипта, если происходит ошибка при
// выполнении SQL-запроса
if(!$art) puterror("Ошибка при обращении к блоку статей");
// Если раздел содержит статьи — выводим их в таблице
if (mysql_num_rows($art)>0)
{
?>
|
То есть используется метод GET, ну это ладно, пусть будет так, а как сделать вместо списка разделов для выбора выпадающее меню? | |
|
|
|
|