2014-12-14 4 views
0

Мне нужно вставить несколько строк из текстовой области, вставляемой в каждую строку базы данных. но теперь вставляется вся строка в одну строку, как я могу это сделать? Также я хочу повторить законченную линию, и эхо, если линия выхода с предупреждениемВставить несколько строк в базу данных

Мой ввод текста площадь:

line1 
line2 
line3 
line4 
line5 

Я хочу, чтобы вставить как этот

id url 
1 line1 
2 line2 
3 line3 
4 line4 
5 line5 

Это мой insert.php

<html><body> 
    <h1>indian mp3 Database: indianmp3</h1> 

    <form action="post.php" method="post"> 
     Firstname:<textarea name="url" id="term" cols="40" rows="10"></textarea><br><br> 
     Category: <select name="cat_id"> 
      <option value="1">cat1</option> 
      <option value="2">cat2</option> 
      <option value="3">cat3</option> 
     </select> 

     <input type="submit"/> 
    </form> 
</body></html> 

Это мой post.php

<html><body> 
<?php 
$host="localhost"; 
$user=" "; 
$pass=" "; 
$database=" "; 
$con=mysql_connect($host, $user, $pass) or die("Could not connect to host."); 
mysql_set_charset('UTF8', $con); 
if(!$con) { 
    die('Could not connect: '.mysql_error()); 
} 

if(isset($_POST['cat_id'])) { 
    $cat_it=(int)$_POST['cat_id']; 
    $url=$_POST[url]; 
    mysql_select_db($database, $con) or die("Could not find database."); 
    $sql="INSERT INTO link (url, cat_id) VALUES ('$url' , '$cat_it')"; 
} 
if(!mysql_query($sql, $con)) { 
    die('Error: '.mysql_error()); 
} 
echo "inserted all line"; 
mysql_close($con) 
?> 
</body></html> 
+0

Вы уверены, что это положить его в одну строку в базе данных? Проблема может заключаться в том, как вы показываете ее, когда вы ее позже получите. Если вы показываете его на веб-странице, вам нужно использовать 'nl2br()' для преобразования строк в HTML '
' теги. – Barmar

+0

$ url = nl2br ($ _ POST [url]); Я пытаюсь это сделать, это не работает – Mullinsangebn

+0

Мне нужно вставить каждую строку в виде отдельной строки. Мне нужно опубликовать мою базу данных? – Mullinsangebn

ответ

0

проблема здесь вы делаете одну вставку с целым url data.

1) сначала идентифицировать каждое значение URL-адреса из текстовой области и сделать массив из него с помощью взрываются с '.' или specific keyword.

2) петля через размер массива url для вставки в таблицу.

при вставке ошибки проверки на объект mysql по ошибке происходит выход, в противном случае продолжать вставлять до тех пор, пока вся вставка не будет выполнена.

Предположим, у вас есть все URLs в $url= $_POST[url]; с '\n' отдельной затем:

$urlArr = explode("\n",$url); 

for($i=0;$i< sizeof($urlArr);i++){ 
$sql="INSERT INTO link (url, cat_id) VALUES ('$url[i]' , '$cat_it')"; 
if (!mysql_query($sql,$con)) 
        { 
        die('Error: ' . mysql_error()); 
        } 


} 

и, пожалуйста, начать использовать PDO or mysqli.

+0

Pls вы можете объяснить моим кодом? – Mullinsangebn

+0

Не следует ли «взорваться» («\ n», $ url) '? – Barmar

+0

сэр, я сказал, что ожидаю. –

Смежные вопросы