Из одиночного поля в мульти вставочное поле

12
DS
На сайте с 05.08.2014
Offline
51
746

У меня есть код, который имеет на вставку 1 строку, и в этой строке текст

После вставки и отправки текста с ним происходит манипуляция в итоге он попадает в бд

Как мне сделать так, чтобы можно было вставлять сразу несколько текстов (каждый с новой строки) и он обрабатывался как-будто я каждый раз вставляю единичный текст и жму отправить

Пытался сделать через textarea, но к сожалению он понимал только если вставляешь 1 строку, если вставить их больше 1, то никаких манипуляций с текстом не происходит

Код:

<form id='form' class='blocks' method='post' action='/index.php'>

<input type='text' name='sss' />
<input type='submit' value='Добавить' />
</form>
DS
На сайте с 05.08.2014
Offline
51
#1

Либо есть альтернативный вариант

Возможно ли как-то через другой php файл (со стороннего сервера) зайти на этот (как-будто мы зашли с браузера), и сделать так, чтобы определенный текст (о форматировании текста в определенный формат я сам позабочусь) автоматически вставился в поле и нажалась кнопка отправить

ДП
На сайте с 23.11.2009
Offline
203
#2

У вас доступа к первому серверу нет,я так понимаю?

Задачка вообще серверная - разбивать строку по переносу строк и добавлять в БД.

DS
На сайте с 05.08.2014
Offline
51
#3
Дикий пионер:
У вас доступа к первому серверу нет,я так понимаю?
Задачка вообще серверная - разбивать строку по переносу строк и добавлять в БД.

Доступ к первому серверу есть

У меня скрипт сам записывает в бд, мне нужно чтобы я каждый с новой строки писал,и он каждый с новой строки обрабатывал и записывал

ДП
На сайте с 23.11.2009
Offline
203
#4

Так на сервере делайте explode() по переносу строки (\n или \r) и в цикле вставляйте данные.

DS
На сайте с 05.08.2014
Offline
51
#5
Дикий пионер:
Так на сервере делайте explode() по переносу строки (\n или \r) и в цикле вставляйте данные.

explode() позволит мне создавать определенное количество строк, мне нужно чтобы он сам понимал сколько строк я добавлю

ДП
На сайте с 23.11.2009
Offline
203
#6

Если у вас каждая строка отделена переносом и внутри строк переноса нет - то explode вам сделает массив ровно по количеству строк.

Можно пример, для которого explode() работает не так как вам нужно, а то я вас не очень понимаю

DS
На сайте с 05.08.2014
Offline
51
#7
Дикий пионер:
Если у вас каждая строка отделена переносом и внутри строк переноса нет - то explode вам сделает массив ровно по количеству строк.
Можно пример, для которого explode() работает не так как вам нужно, а то я вас не очень понимаю

<form id='form' class='blocks' method='post' action='/index.php'>

<input type='text' name='sss' />
<input type='submit' value='Добавить' />
</form>
<?
if(empty($_POST["sss"]))
{
$to_avt["sss"]="";
}
else {
$host="localhost";
$user_db="*";
$pass_db="*";
$dbase="*";
error_reporting(0);
if (!mysql_connect($host,$user_db,$pass_db)) {echo "error MySQL";}
mysql_select_db($dbase)or die("!");
$sss=trim($_POST["sss"]);
$sql = mysql_query("INSERT INTO `text` (sss) VALUES ('$sss')");
$result = mysql_fetch_array('$sql');
if (!$sql) {
$sql = mysql_query("REPLACE INTO `text` (sss) VALUES ('$sss')");
echo 'Перезаписано<br>';
break;
}
else {
echo 'Добавили<br>';
}
}
?>
ДП
На сайте с 23.11.2009
Offline
203
#8

Так explode то где?

DS
На сайте с 05.08.2014
Offline
51
#9
Дикий пионер:
Так explode то где?

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

siv1987
На сайте с 02.04.2009
Offline
427
#10
DoubleSH:
$sql = mysql_query("INSERT INTO `text` (sss) VALUES ('$sss')");
$result = mysql_fetch_array('$sql');
if (!$sql) {
$sql = mysql_query("REPLACE INTO `text` (sss) VALUES ('$sss')");

Это что за говнокод, структуру таблицы text покажите. Откуда mysql_fetch_array при инсерте?


$text = $_POST['text'];
$rows = explode("\n", $text);
foreach($rows as $row){
$row = trim($row);
if(! $row) continue;

$row = mysql_escape_string($row);
mysql_query("INSERT INTO text (sss) VALUES ('{$row}')");
}
12

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий