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

Форум MySQL

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

 

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

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

тема: <title>Заголовок</title> для раздела: проблемы с созданием...

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

 
 автор: cheops   (25.04.2006 в 10:14)   письмо автору
 
   для: Радосвет   (25.04.2006 в 00:28)
 

Лучше заменить !isset() на empty()
<?php 
  
if(empty($title)) $title "$ttl_name"
?>

   
 
 автор: Радосвет   (25.04.2006 в 00:28)   письмо автору
 
   для: cheops   (24.04.2006 в 22:45)
 

Спасибо! Удивительно, что я не догадался (или невнимателен)...
Я сделал так:


<?php
// Делаем запрос на название раздела в заголовке и присваиваем значение результата переменной
  
if(!empty($_GET['id_page'])) 
  { 
    if(!
preg_match("|^[\d]+$|",$_GET['id_page'])) exit("Недопустимый формат URL"); 
    
$query "SELECT title_html FROM artpage WHERE id_artpage = ".$_GET['id_page']." LIMIT 1"
    
$query2 "SELECT name FROM artpage WHERE id_artpage = ".$_GET['id_page']." LIMIT 1"
    
$pag mysql_query($query); 
    
$pag_name mysql_query($query2);
    if(!
$pag) exit("Ошибка при обращении к таблице разделов"); 
    
$title mysql_result($pag,0); 
    
$ttl_name mysql_result($pag_name,0);
  } 
// Если значение переменной не присвоено, присваиваем следующее имя заголовка
if(!isset($title)) $title "$ttl_name";
$title="$title";
?>

Единственное не знаю как сделать, чтобы при id=0 (список разделов) в заголовке выводилось "Список разделов"...
Как видно из моего кода, я заменил строку

<?php
if(!isset($title)) $title "Список разделов";
?>

на строку

<?php
if(!isset($title)) $title "$ttl_name";
?>

Мои пробы и манипуляции не увенчались успехом, при открытии списка разделов в заголовке НИЧЕГО не выводится....
И ещё, а вообще, грамотно ли я написал код выше? Два запроса всё-таки, громоздко...

   
 
 автор: cheops   (24.04.2006 в 22:45)   письмо автору
 
   для: Радосвет   (24.04.2006 в 16:06)
 

Запрос в этом случае должен выглядеть следующим образом
<?php
  $query 
"SELECT title_html FROM artpage WHERE id_artpage = ".$_GET['id_page']." LIMIT 1";
?>

   
 
 автор: Радосвет   (24.04.2006 в 16:06)   письмо автору
 
   для: Радосвет   (21.04.2006 в 13:37)
 

Наконец появилось время с этим разобраться, но я снова в ступоре...
Не пойму, как лучше написать эту функцию с выводом в <title></title> название раздела...

У меня файл ./art/index.php , в котором функция, выводящая либо список разделов, либо статью, если она в одна в разделе, либо список статей и т.д....

В начале файла у меня такой код:


<?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("Ошибка при обращении к таблице разделов"); 
    [
b]$title mysql_result($pag,0);[/b]
  } 
// Если значение переменной не присвоено, присваиваем следующее имя заголовка
[b]if(!isset($title)) $title "Список разделов";
$title="$title";[/b]
?>

Жирным я выделил, как я обозначил переменную... Она зависит от ИМЕНИ раздела...
В таблице я создал новое поле title_html, как мне сделать запрос и правильно присвоить значение переменной, чтобы вместо name раздела был title_html ?
Я перепробовал всё что мог, не получается...

   
 
 автор: Радосвет   (21.04.2006 в 13:37)   письмо автору
 
   для: cheops   (21.04.2006 в 10:25)
 

Огромное спасибо! Как-то упустил этот момент... Осталось только написать запрос к этому параметру и функцию его вывода... :)

   
 
 автор: cheops   (21.04.2006 в 10:25)   письмо автору
 
   для: Радосвет   (21.04.2006 в 10:12)
 

Посмотрите куда вы добавили новое поле - похоже, что в конец таблицы, тогда запрос должен выглядеть
<?php
 $query 
"INSERT INTO artpage VALUES ( 
            NULL, 
            '
$name', 
            0,
            '
$title_html')";
?>

   
 
 автор: Радосвет   (21.04.2006 в 10:12)   письмо автору
 
   для: cheops   (21.04.2006 в 09:44)
 

Да уж.... А теперь выводит:

Ошибка при обращении к блоку статей Incorrect integer value: 'Заголовок раздела' for column 'id_site' at row 1 - INSERT INTO artpage VALUES ( NULL, 'Название раздела', 'Заголовок раздела', 0)

Похоже, я неправаильно обращаюсь к таблице?

   
 
 автор: cheops   (21.04.2006 в 09:44)   письмо автору
 
   для: Радосвет   (21.04.2006 в 03:50)
 

Хм... а если так
<?php 
else puterror("Ошибка при обращении к блоку статей ".mysql_error()." - ".$query); 
?>

Что выводит?

   
 
 автор: Радосвет   (21.04.2006 в 03:50)   письмо автору
 
   для: cheops   (20.04.2006 в 23:31)
 

Извиняюсь, буду в след. раз внимательнее при создании темы...
Вот что мне выдало на этот раз:

Ошибка при обращении к блоку статей Incorrect integer value: 'Заголовок страницы' for column 'id_site' at row 1

   
 
 автор: cheops   (20.04.2006 в 23:31)   письмо автору
 
   для: Радосвет   (20.04.2006 в 17:53)
 

Исправьте строку
<?php
 
else puterror("Ошибка при обращении к блоку статей");
?>

следующим образом
<?php
 
else puterror("Ошибка при обращении к блоку статей ".mysql_error());
?>

Как теперь выглядит сообщение об ошибке?

PS Вопросы, посвящённые MySQL и взаимодействию MySQL с PHP лучше сразу размещать в разделе MySQL.

   

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

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

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