Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум MySQL

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум (новые сообщения вниз) Структурный форум

тема: Выпадающее меню для выбора раздела в администрировании для добавления статьи в этот раздел?

Сообщения:  [1-7] 

 
 автор: Радосвет   (20.04.2006 в 12:32)   письмо автору
 
   для: 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 выводит название раздела... :)

   
 
 автор: elenaki   (20.04.2006 в 11:49)   письмо автору
 
   для: Радосвет   (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($pgsMYSQL_NUM)) 
          { 
            echo 
"<option value='index.php?id_page=$id_page'>$par</option>"
          } 
        } else 
puterror("error"); 
      
?> 
</select>
</form> 

   
 
 автор: Радосвет   (20.04.2006 в 11:21)   письмо автору
 
   для: elenaki   (20.04.2006 в 11:11)
 

Что-то не выходит у меня...
Что же нужно прописать в <select name=...> ?
Мне нужно такое меню, чтобы по умолчанию был выбран первый раздел, а при выборе других не надо было жать на submit ...

То есть в коде должно присутствовать что-то вроде "selected"...

   
 
 автор: elenaki   (20.04.2006 в 11:11)   письмо автору
 
   для: Радосвет   (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($pgsMYSQL_NUM)) 
          { 
            echo 
"<option value='id_page'>$par</option>"
          } 
        } else 
puterror("Ошибка при обращении к блоку статей"); 
      
?> 
</select></form>

   
 
 автор: Радосвет   (20.04.2006 в 11:07)   письмо автору
 
   для: 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($pgsMYSQL_NUM))
          {
            echo 
"<form><option value='id_page'><a href=index.php?id_page=$id_page>$part</a></option></form>";
          }
        } else 
puterror("Ошибка при обращении к блоку статей");
      
?>

Я что-то неправильно сделал? У меня выводится список ссылок...

   
 
 автор: elenaki   (20.04.2006 в 10:52)   письмо автору
 
   для: Радосвет   (20.04.2006 в 05:51)
 

выпадающее меню => select?

замените li на option, а в value поставьте id_page

   
 
 автор: Радосвет   (20.04.2006 в 05:51)   письмо автору
 
 

По ходу дела, реорганизую админку, и там опять препятствие для меня с выводом разделов...

В одной из известных 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($pgsMYSQL_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(!$artputerror("Ошибка при обращении к блоку статей");
  
// Если раздел содержит статьи — выводим их в таблице
  
if (mysql_num_rows($art)>0)
  {
  
?>

То есть используется метод GET, ну это ладно, пусть будет так, а как сделать вместо списка разделов для выбора выпадающее меню?

   

Сообщения:  [1-7] 

Форум разработан IT-студией SoftTime
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования