Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Добвление данных в БД 
V
    Опции темы
s1lver
Дата 5.6.2009, 17:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 580
Регистрация: 14.12.2007
Где: Россия

Репутация: нет
Всего: нет



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

Есть 2 БД. Одна содержит название рубрик, другая содержит все основные поля.

Основная таблица

Код

-- БД: `building`
-- 

-- --------------------------------------------------------

-- 
-- Структура таблицы `obyavs`
-- 

CREATE TABLE `obyavs` (
  `id` int(5) NOT NULL auto_increment,
  `rubrika` varchar(255) NOT NULL,
  `name` varchar(255) NOT NULL,
  `email` varchar(255) NOT NULL,
  `text` varchar(255) NOT NULL,
  `date` date NOT NULL,
  PRIMARY KEY  (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=cp1251 AUTO_INCREMENT=1 ;

-- 
-- Дамп данных таблицы `obyavs`
-- 


Таблица с рубриками

Код

-- 
-- Структура таблицы `rubrika`
-- 

CREATE TABLE `rubrika` (
  `kvart` int(3) NOT NULL default '1',
  `komnat` int(3) NOT NULL default '2',
  `uchastok` int(3) NOT NULL default '3',
  `dachi` int(3) NOT NULL default '4',
  `garagi` int(3) NOT NULL default '5',
  `sklad` int(3) NOT NULL default '6'
) ENGINE=MyISAM DEFAULT CHARSET=cp1251;

-- 
-- Дамп данных таблицы `rubrika`
-- 


Код для добавления данных из формы в БД
Код

<?php

$name = strip_tags(stripslashes(substr($_POST['data']['0'],0,20)));
$mail = strip_tags(stripslashes(substr($_POST['data']['1'],0,30)));
$text = strip_tags(stripslashes(substr($_POST['data']['2'],0,300)));
$rubrik=strip_tags(stripslashes(substr($_POST['data']['3'],0,20)));

if($_POST['add'] != '') {
    if($name != '') {
        if($mail !='') {
            if($text != '') {

//Подключаемся к БД.
$db=@mysql_connect("localhost", "root", "") or die("Ошибка подключения");
@mysql_select_db("building", $db) or die("Не могу выбрать БД");
@mysql_query("SET NAMES UTF-8");

$query = "INSERT INTO objavs VALUES (NULL,
'".$rubrik."',
'".$name."',
'".$mail."',
'".$text."')";
if(mysql_query($query)) 
{ 
 echo "Запись <br/><a href=\"index.php\">добавлена</a>";
}
 else {echo "Ошибка записи";};
 }
 else {echo "Введите коментарий";}
 }
 else {echo "Введите мэйл";}
 }
 else {
 echo "Введите имя";

 }
 }
 else {echo "<a href=\"index.php\">назад</a>";  };
?>



Код формы

Код

<form name="" action="add.php" method="post">

  <hr />
  <label>Рубрика
    <br />
    <select name="data[3]" id="select">
      <option value="1">Квартиры</option>
      <option value="2">Комнаты</option>
      <option value="3">Земельные участки</option>
      <option value="4">Дачи</option>
      <option value="5">Гаражи/сараи</option>
      <option value="6">Склады/помещения</option>
    </select>
  </label>
  <p>Имя:  </p>
  <p>
    <input name="data[0]" type="text" value="">
    <br/>
    
  e-mail:</p>
  <p>
    <input name="data[1]" type="text" value="">
  </p>
  <p>Текст объявления    <br/>
    <textarea name="data[2]" rows=10 cols=60 wrap="off"></textarea>
    <br/>
    <input type="submit" name="add" value="добавить">       <br/>
  </p>
</form>


Вывод даных из БД

Код

<?php
//Подключаемся к БД.
$db=mysql_connect("localhost", "root", "") or die("Ошибка подключения");
mysql_select_db("building", $db) or die("Не могу выбрать БД");
@mysql_query("SET NAMES UTF-8");
$q = mysql_query("SELECT * FROM objavs");

while($r = mysql_fetch_array($q)) {

echo "<a href=\"mailto:$r[email]\">$r[name]</a><br/> $r[text]<br/><br/>";
}
?>


Подсобите правильно добавить в таблицу данные из формы с учетом рубрик  smile 

Это сообщение отредактировал(а) s1lver - 5.6.2009, 17:42


--------------------
Я собрался жить вечно - пока все идет нормально!
PM MAIL ICQ   Вверх
mogul82
Дата 7.6.2009, 16:27 (ссылка)    | (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 282
Регистрация: 20.11.2008

Репутация: -1
Всего: -5



Цитата(s1lver @  5.6.2009,  17:38 Найти цитируемый пост)
@mysql_query("SET NAMES UTF-8");$query = "INSERT INTO objavs VALUES (NULL,'".$rubrik."','".$name."','".$mail."','".$text."')";


Для начала убери дефис из имени кодировка.

И убери двойные кавычки из sql запроса, тока одинарные оставь.

Добавлено через 1 минуту и 33 секунды
Цитата(s1lver @  5.6.2009,  17:38 Найти цитируемый пост)
if(mysql_query($query)) {  echo "Запись <br/><a href=\"index.php\">добавлена</a>";} else {echo "Ошибка записи";}; } else {echo "Введите коментарий";} } else {echo "Введите мэйл";} } else { echo "Введите имя"; } }


А это зачем.

просто mysql_query(запрос) or die("Error_1")

Добавлено через 4 минуты и 5 секунд
Убери не тока кавычки но и точки - просто перем. в запрсе типа:

VALUE(NULL, '$a', '$b', '$c') и т.д.

Добавлено через 5 минут и 10 секунд
И какого черта имя таблиц разное:

obyavs и objavs.

Добавлено через 6 минут и 59 секунд
Ну еп-твою:

Ты количество вставок и полей считал?

Добавлено через 7 минут и 33 секунды
Убери знак - @ из запрсов и функций.
PM MAIL   Вверх
s1lver
Дата 7.6.2009, 16:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 580
Регистрация: 14.12.2007
Где: Россия

Репутация: нет
Всего: нет



Цитата

Ну еп-твою:

Ты количество вставок и полей считал?


 smile 

Большое спасибо разобрался  smile 


--------------------
Я собрался жить вечно - пока все идет нормально!
PM MAIL ICQ   Вверх
mogul82
Дата 7.6.2009, 17:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 282
Регистрация: 20.11.2008

Репутация: -1
Всего: -5



Да не за что.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0530 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.