заносим с textarea в мускул

  • Автор темы SeeYouLateR
  • Дата начала

SeeYouLateR

Guest
заносим с textarea в мускул

привет всем.
Как можно реализовать занос с текстареа с такими данными :
12;monitor;cit;samsung;17;michail varinov;2
12;monitor;cit;samsung;17;michail varinov;2
12;monitor;cit;samsung;17;michail varinov;2
и чтобы было всё в своей колонке , не надо писать не скрипт , просто укажите принцип ...
 

SelenIT

IT-лунатик :)
Как вариант (не готовое решение), при условии корректности всех строк:
PHP:
$query="INSERT INTO имя_таблицы VALUES ('" . str_replace(
      array( "\n", ";" ),
      array( "'),\n('", "','" ),
      mysql_real_escape_string($textarea)
) . "')"
 

Yourick

Новичок
а если влоб?
PHP:
$data = $_REQUEST["xx"];
$data = explode(";",$data);
$query="INSERT INTO имя_таблицы VALUES ('";
for($i=0;$i<(count($data)-1);$i++)
//выгребаем из массива все кроме последнего
{
  $query.=$data[$i].",";
}
$query.=$data[count($data)-1].")";//послепоследнего закрываем
 

SelenIT

IT-лунатик :)
Yourick, зачем целый цикл, когда есть [m]implode[/m]?

P.S. Приношу извинения: в моем первом посте допущена непростительная ошибка - не учтено поведение mysql_real_escape_string по отношению к \r и \n.

Вот такой вариант должен работать корректно при любом варианте перевода строк, при условии, что сами данные однострочные и "волшебные кавычки" выключены либо нейтрализованы:
PHP:
$query="INSERT INTO имя_таблицы VALUES ('" . str_replace(
      array( '\r\n', '\n', '\r', ';' ),
      array( "'),\n('", "'), ('", "'), ('", "','" ),
      mysql_real_escape_string(trim($textarea))
) . "')";
В итоге безо всяких циклов получается один запрос для вставки всех введенных строк.
 
Сверху