Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: textarea to mysql

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
Romaaa
Отправлено: 19 Августа, 2008 - 15:14:58
Post Id


Новичок


Покинул форум
Сообщений всего: 2
Дата рег-ции: Авг. 2008  
Откуда: dp.ua


Помог: 0 раз(а)




добрый день, требуеться помощь специалистов
есть вот такой скрипт по добавлению обьявлений... если через форму добавлять по 1 фразе в базу, то все чудесно работает. но столкнулся с проблемой, что нужно добавить в базу одновременно несколько обьявлений. загвоздка в том, что я незнаю как это написать в коде (подозреваю что через масивы)

форма из index.html
CODE (text):
скопировать код в буфер обмена
  1. <form id="form1" name="form1" method="post" action="http://localhost/ob/add.php">
  2.   <label>Категория :
  3.   <select name="category">
  4.     <option value="2">продам -Недвижимость</option>
  5.     <option value="3">продам - Авто, вело, мото</option>
  6.     <option value="4">продам - Разное</option>
  7.     <option value="6">куплю - Недвижимость</option>
  8.     <option value="7">куплю - Авто, вело, мото</option>
  9.     <option value="8">куплю - Разное</option>
  10.     <option value="9">услуги - Услуги</option>
  11.     <option value="10">животные - Животные</option>
  12.     <option value="12">разное - Обмен</option>
  13.     <option value="13">разное - Сдам</option>
  14.     <option value="14">разное - Сниму</option>
  15.     <option value="16">работа - Ищу работу</option>
  16.     <option value="17">работа - Требуются</option>
  17.     <option value="18">знакомства - Знакомства</option>
  18.   </select>
  19.   </label>
  20.   <p>
  21.     <label>Текст<br />
  22.     <TEXTAREA name=description rows=14 cols=100></TEXTAREA>
  23.     </label>
  24.   </p>
  25.   <p>
  26.     <label>
  27.     <input type="submit" name="Submit" value="Отправить данные" />
  28.     </label>
  29.   </p>
  30. </form>



add.php
PHP:
скопировать код в буфер обмена
  1. <?PHP
  2.  
  3.  $user = "root";
  4.  $pass = "test";
  5.  $db   = "test";
  6.  
  7. $connection = mysql_connect("localhost", $user, $pass) or die("Could not connect: ".mysql_error());
  8. $db = mysql_select_db ("test",$connection);
  9.  
  10.     $cat = $_POST['category'];
  11.     $text = $_POST['description'];
  12.     //del_cat
  13.     $query = ("delete from `test` where (category='$cat')") or die ('NO_DEL');
  14.     mysql_query($query);
  15.     //add
  16.     $query2 = ("insert into `test` (`id`,`short_description`,`category`) VALUES ('','$text','$cat')") or die ('NO_ADD');
  17.     mysql_query($query2);
  18.  
  19. echo 'Done';
  20. ?>

я не спец в пхп, но почитав форум набросал этот скрипт... как я писал выше.. по одному обьявлению он добавляет в базу чудесно (перед добавлением обьяв я очищаю в базе нужную категорию). большая просьба подсказать как изменить скрипт, что бы в textarea можно было ввести много однострочныхстрочных обьявлений и при этом они бы добавлялись в базу. (p.s.: php5)

пример:
в текстарию вводим текст:
CODE (text):
скопировать код в буфер обмена
  1. 123123 123
  2. 435345
  3. 345345345 345
  4. 345345

и нужно что бы этот текст ложился так же в базу в свою категорию, т.е. в запрос
insert into `test` (`id`,`short_description`,`category`) VALUES ('','$text','$cat');
в $text вводилась каждый раз следующая строка из текстарии и заносилась в базу

заранее большое спасибо

(Отредактировано автором: 19 Августа, 2008 - 17:14:01)

 
 Top
A.St.
Отправлено: 19 Августа, 2008 - 19:19:29
Post Id


Новичок


Покинул форум
Сообщений всего: 12
Дата рег-ции: Июль 2008  


Помог: 0 раз(а)




CODE (text):
скопировать код в буфер обмена
  1.  
  2. <?
  3. $h = $_POST['h'];
  4. settype( $h, int);
  5. if ( $h == 1) {
  6.     $cat = $_POST['cat'];
  7.         $descr = $_POST['descr'];
  8.         strip_tags( $descr);
  9.         htmlspecialchars( $descr);
  10.         $descr_array = explode( "\n", $descr);
  11.         for ( $i = 0; $i < count( $descr_array); $i ++) {
  12.                 echo $descr_array[$i]."<br>";
  13.                         /*здесь вместо вывода строки надо добавить запрос на добавление
  14.                         $query2 = ("insert into `test` VALUES ('','$descr_array[$i]','$cat')") or die ('NO_ADD');*/
  15.         }
  16. }
  17. ?>
  18. <br>
  19. <br>
  20. <form action='<?=$PHP_SELF?>' method='post'>
  21.         <select name="cat">
  22.                 <option value="2">продам -Недвижимость</option>
  23.                 <option value="3">продам - Авто, вело, мото</option>
  24.                 <option value="4">продам - Разное</option>
  25.                 <option value="6">куплю - Недвижимость</option>
  26.                 <option value="7">куплю - Авто, вело, мото</option>
  27.                 <option value="8">куплю - Разное</option>
  28.                 <option value="9">услуги - Услуги</option>
  29.                 <option value="10">животные - Животные</option>
  30.                 <option value="12">разное - Обмен</option>
  31.                 <option value="13">разное - Сдам</option>
  32.                 <option value="14">разное - Сниму</option>
  33.                 <option value="16">работа - Ищу работу</option>
  34.                 <option value="17">работа - Требуются</option>
  35.                 <option value="18">знакомства - Знакомства</option>
  36.         </select><br>
  37.         <textarea name='descr' cols='40' rows='4' wrap='hard'></textarea>
  38.         <br>
  39.         <input type='hidden' name='h' value='1'>
  40.         <input type='submit' value='go'>
  41. </form>
  42.  


Тестовую таблицу не создавал, но построчный вывод работает.

(Отредактировано автором: 19 Августа, 2008 - 19:20:31)

 
 Top
Romaaa
Отправлено: 19 Августа, 2008 - 22:33:10
Post Id


Новичок


Покинул форум
Сообщений всего: 2
Дата рег-ции: Авг. 2008  
Откуда: dp.ua


Помог: 0 раз(а)




A.St. большое спасибо... мне как раз было предложили использовать такой кусок кода:
PHP:
скопировать код в буфер обмена
  1.  
  2. //add
  3. $text_list = explode("\n",$text);
  4. foreach ($text_list as $one_note) {
  5.  $query2 = ("insert into `test` (`id`,`short_description`,`category`) VALUES ('','$one_note','$cat')") or die ('NO_ADD');
  6.     mysql_query($query2);
  7.  }

но с ним чего-то в конце дублировало последнюю строку, а подправив ваш код вроде бы все получилось красиво и как нужно. еще раз спасибо.
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Напишите за меня, пожалуйста »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB