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

Форум PHP

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

 

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

вид форума:
Линейный форум Структурный форум

тема: Доработка: Блок "Новости" на PHP. (MySql)
 
 автор: t3ma   (09.06.2008 в 11:23)   письмо автору
 
 

Пытаюсь сделать возможность выбора категории в блоке новостей и неполучается.. помогите..

Файл: admin/addnewsform.php

<?php
// Если не определена константа EDIT,
  // Устанавливаем параметры HTML-формы
  // на редактирование
  
if(!defined("EDIT"))
  {
    
$button "Добавить";
    
$action "addnews.php";
    
$showhide "checked";
    
$chk_filename "";
    
$chk_rename   "";
    
$name "";
    
$body "";
    
$url "";
    
$url_text "";
    
$url_pict "";
   [
b]$category "";[/b]
    
$date_month date("m");
    
$date_day date("d");
    
$date_year date("Y");
    
$date_hour date("H");
    
$date_minute date("i");
  }
?>
<table><tr><td>
<p class=boxmenu><a class=menu href="news.php">Вернуться в администрирование новоcтей</a></p>
</td></tr></table>
<form name=form enctype='multipart/form-data' action=<?php echo $action?> method=post>
<table cellpadding="0" cellspacing="6">
<tr>
  <td><p class=zag2>Название</td>
  <td></td>
  <td><input class=input size=70 type=text name=name value='<?php echo htmlspecialchars($name); ?>'></td>
</tr>
<tr>
  <td><p class=zag2>Содержание</td>
  <td></td>
  <td><textarea class=input name=body rows=10 cols=60><?php echo htmlspecialchars($body); ?></textarea></td>
</tr>
<tr>
  <td><p class=zag2>Ссылка</td>
  <td></td>
  <td><input class=input size=70 type=text name=url value='<?php echo htmlspecialchars($url); ?>'></td>
</tr>
<tr>
  <td><p class=zag2>Текст для ссылки</td>
  <td></td>
  <td><input class=input size=70 type=text name=url_text value='<?php echo htmlspecialchars($url_text); ?>'></td>
</tr>
<tr>
  <td><p class=zag2>Категория</td>
  <td></td>
  <td><select title=Категория class=input type=text name=category>
<option value=1 selected>Обувные магазины
<option value=2 >Производители обуви
<option value=3 >Обувной мир
<option value=4 >Выстовки обуви
<option value=5 >Модные новости
</select></td>



потом добавил одну строчку сюда:

Файл: admin/addnews.php:


<?php
 
// Формируем и выполняем SQL-запрос на добавление новости
  
$query "INSERT INTO news VALUES (0,
                                     '"
.$_POST['name']."',
                                     '"
.$_POST['body']."',
                                     '"
.$_POST['date_year']."-".
$_POST['date_month']."-".
$_POST['date_day']." ".
sprintf("%02d",$_POST['date_hour']).":".
sprintf("%02d",$_POST['date_minute']).":00',
'"
.$_POST['category'].
"',
'"
.$_POST['url']."',
'"
.$_POST['url_text']."',
'
$path',
'
$showhide');";
  if(
mysql_query($query)) header("Location: news.php?page=".$_GET['page']);
  else 
links("Ошибка при добавлении новостной позиции");
?>


выводит ошибку: Ошибка при добавлении новостной позиции

   
 
 автор: BinLaden   (09.06.2008 в 11:36)   письмо автору
 
   для: t3ma   (09.06.2008 в 11:23)
 

А Вы добавили соответствующий столбец в таблицу news?

   
 
 автор: t3ma   (09.06.2008 в 11:39)   письмо автору
 
   для: BinLaden   (09.06.2008 в 11:36)
 

Да, конечно.

Я думаю что в файле admin/addnewsform.php это строчка
$category = "";
недолжна быть пуста...

   
 
 автор: BinLaden   (09.06.2008 в 11:45)   письмо автору
 
   для: t3ma   (09.06.2008 в 11:39)
 

> Да, конечно.

Покажите на всякий случай структуру. Еще добавьте вывод сообщения об ошибке:

<?php
else links("Ошибка при добавлении новостной позиции: " htmlspecialchars(mysql_error()));
?>


> Я думаю что в файле admin/addnewsform.php это строчка
> $category = "";
> недолжна быть пуста...

Нет, это никак не может появлиять.

   
 
 автор: t3ma   (09.06.2008 в 11:54)   письмо автору
 
   для: BinLaden   (09.06.2008 в 11:45)
 

все я разобрался... теперь вопрос такой..

изменил форму так:

<tr>
<td><p class=zag2>Категория</td>
<td></td>
<td><select title=Категория class=input type=text name=category>
<option value=Обувные магазины selected>Обувные магазины
<option value=Производители обуви >Производители обуви
<option value=Обувной мир >Обувной мир
<option value=Выстовки обуви >Выстовки обуви
<option value=Модные новости >Модные новости
</select></td>
</tr>

теперь в базу записывается только первое слово, допустим Выстовки.. как сделать чтобы весь текст записывался ?

   
 
 автор: BinLaden   (09.06.2008 в 11:57)   письмо автору
 
   для: t3ma   (09.06.2008 в 11:54)
 

Во второй раз за сутки у меня deja vu:

Строковые данные, в частности в (X)HTML значения атрибутов, следует обрамлять кавычками или апострофами:

> <option value='Обувные магазины' selected='selected'>Обувные магазины</option>

P.S. Заметьте, что <option> - парный тег

   
 
 автор: Usta   (09.06.2008 в 11:48)   письмо автору
 
   для: t3ma   (09.06.2008 в 11:23)
 

<?php
 
// Формируем и выполняем SQL-запрос на добавление новости
  
$query "INSERT INTO news VALUES (0,
                                     '"
.$_POST['name']."',
                                     '"
.$_POST['body']."',
                                     '"
.$_POST['date_year']."-".
$_POST['date_month']."-".
$_POST['date_day']." ".
sprintf("%02d",$_POST['date_hour']).":".
sprintf("%02d",$_POST['date_minute']).":00',
'"
.$_POST['category'].
"','".$_POST['url']."',
'"
.$_POST['url_text']."',
'
$path',
'
$showhide');";
  
if(mysql_query($query)) header("Location: news.php?page=".$_GET['page']);
else links("Ошибка при добавлении новостной позиции");
?> [/code]
Вы что не видите сами сам код говорит где не правильно :)) '".$_POST['category'].
"','".$_POST['url']."', 3 одинарные ковычки стоит!!

А может и все норм. Попробуйту еще в одну строчку записать
$_POST['date_month']."-".
$_POST['date_day']." ".
sprintf("%02d",$_POST['date_hour']).":".
sprintf("%02d",$_POST['date_minute']).":00',

   
 
 автор: BinLaden   (09.06.2008 в 11:51)   письмо автору
 
   для: Usta   (09.06.2008 в 11:48)
 

> 3 одинарные ковычки стоит!!

На мой скромный взгляд, это кавычка - " и апостроф ', а не три апострофа.

   
 
 автор: t3ma   (09.06.2008 в 12:43)   письмо автору
 
   для: BinLaden   (09.06.2008 в 11:51)
 

спс.) теперь все записывается)
след вопрос..
Как мне реализовать систему рейтинга новостей ? т.е. в каждой новости внизу должнобыть
<option value='1' selected='selected'>1</option>
<option value='2' selected='selected'>2</option>
и так далее по 10бальной шкале..

просто неимею представления.. приведите плз пример как это сделать

   
 
 автор: t3ma   (09.06.2008 в 16:56)   письмо автору
 
   для: t3ma   (09.06.2008 в 12:43)
 

люди подскажите пожалуйста как сделать чтобы новости добавлялись в определнные категории ?

есть таблица:
--
-- Структура таблицы `news_categorys`
--

CREATE TABLE `news_categorys` (
`id` int(11) NOT NULL auto_increment,
`title` varchar(45) NOT NULL default '',
`description` text NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=cp1251 AUTO_INCREMENT=22 ;[/b]

я хотел сделать чтобы при добавлении новости был выподающих список категорий.. категории чтобы брались из данной таблицы.. подскажите как это сделать плз

   
Rambler's Top100
вверх

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