2014-01-21 2 views
0

Я пытаюсь вставить несколько строк в mysql, но он отправляет только последнюю строку. я использую JavaScript для создания строк динамически, но он посылает только последнюю строку это мой код формы файл index.phpВставить несколько строк в базу данных mysql

<style type="text/css"> 
table,tr,td{border:0px solid black;} 
</style> 
    <table id="titlebar" cellspacing="0px"> 
     <tr> 
      <td style="width:20px;">&#10003;</td> 
      <td style="width:160px;">Show</td> 
      <td style="width:62px;">season</td> 
      <td style="width:63px;">episode</td> 
      <td style="width:100px;">language</td> 
      <td style="width:190px;">Link 1</td> 
      <td style="width:190px;">Link 2</td> 
     </tr> 
    </table> 
    <form action="send.php" method="POST"> 
    <table id="dataTable" width="auto" style="margin:-4px 0 0 0;" cellspacing="0px"> 
    <tr> 
     <td style="width:20px;"><INPUT type="checkbox" name="chk" /></td> 
     <td><INPUT type="text" name="series" style="width:160px;" autocomplete="on" placeholder="Show" required/></td> 
      <td><INPUT type="text" name="season" style="width:62px;" autocomplete="on" placeholder="season" required/></td> 
      <td><INPUT type="text" name="episode" style="width:63px;" autocomplete="on" placeholder="episode" required/></td> 
     <td> 
     <SELECT name="language" style="width:100px;"> 
      <OPTION value="one">one</OPTION> 
      <OPTION value="two">two</OPTION> 
      <OPTION value="three">three</OPTION> 
      <OPTION value="four">four</OPTION> 
      <OPTION value="five">five</OPTION> 
      <OPTION value="six">six</OPTION> 
      <OPTION value="seven">seven</OPTION> 
     </SELECT> 
     </td> 
      <td><INPUT type="text" name="link_1" style="width:190px;" autocomplete="on" placeholder="link 1" required/></td> 
      <td><INPUT type="text" name="link_2" style="width:190px;" autocomplete="on" placeholder="link 2" required/></td> 
    </tr> 
    </table> 
    <INPUT type="button" value="Add row" onclick="addRow('dataTable')" /> 
    <INPUT type="button" value="Delete row" onclick="deleteRow('dataTable')" /> 
    <INPUT type="submit" value="Send"/> 
    </form> 


<script language="Javascript"> 
    function addRow(tableID) { 
    var table = document.getElementById(tableID); 
    var rowCount = table.rows.length; 
    var row = table.insertRow(rowCount); 
    var colCount = table.rows[0].cells.length; 
    for(var i=0; i<colCount; i++) { 
     var newcell = row.insertCell(i); 
     newcell.innerHTML = table.rows[0].cells[i].innerHTML; 
     //alert(newcell.childNodes); 
     switch(newcell.childNodes[0].type) { 
      case "text": 
       newcell.childNodes[0].value = ""; 
       break; 
      case "text": 
       newcell.childNodes[0].value = ""; 
       break; 
      case "text": 
       newcell.childNodes[0].value = ""; 
       break; 
      case "text": 
       newcell.childNodes[0].value = ""; 
       break; 
      case "text": 
       newcell.childNodes[0].value = ""; 
       break; 
      case "checkbox": 
       newcell.childNodes[0].checked = false; 
       break; 
      case "select-one": 
       newcell.childNodes[0].selectedIndex = 0; 
       break; 
     } 
    } 
} 
function deleteRow(tableID) { 
    try { 
    var table = document.getElementById(tableID); 
    var rowCount = table.rows.length; 
    for(var i=0; i<rowCount; i++) { 
     var row = table.rows[i]; 
     var chkbox = row.cells[0].childNodes[0]; 
     if(null != chkbox && true == chkbox.checked) { 
      if(rowCount <= 1) { 
       alert("Cant delete all rows"); 
       break; 
      } 
      table.deleteRow(i); 
      rowCount--; 
      i--; 
     } 
    } 
    }catch(e) { 
     alert(e); 
    } 
} 
</script> 

и это мой почтовый индекс

send.php

<?php 
include('mysql.php'); 
$seriesV = mysql_real_escape_string(stripslashes($_POST['series'])); 
$seasonV = mysql_real_escape_string(stripslashes($_POST['season'])); 
$episodeV = mysql_real_escape_string(stripslashes($_POST['episode'])); 
$languageV = mysql_real_escape_string(stripslashes($_POST['language'])); 
$link_1V = mysql_real_escape_string(stripslashes($_POST['link_1'])); 
$link_2V = mysql_real_escape_string(stripslashes($_POST['link_2'])); 
$sql="INSERT INTO 0_stock_master (stock_id,category_id,tax_type_id,description,long_description,sales_account,cogs_account) 
VALUES 
('$seriesV','$seasonV','$episodeV','$languageV','$link_1V','$link_2V','".time()."')"; 
if (!mysql_query($sql,$con)) 
{ 
die('Error: ' . mysql_error()); 
} 
echo "1 record added"; 
mysql_close($con); 
?> 

Пожалуйста, отправьте все строки в базе данных mysql.

+0

Если у вас есть ввод HTML имя же для двух текстовых полей или флажков, а затем в сообщении на стороне php, вы всегда получите последний. Таким образом, в вашем случае, либо введите другое имя ввода HTML для каждого из них, либо используйте входной массив. – GBD

+0

Я не понимаю, вы можете объяснить или сказать мне решение – user3210029

+0

Можете ли вы вставить 'var_dump ($ _ POST)'? – GBD

ответ

0

Сначала измените имена ваших динамически созданных элементов. рядом можно ходить, хотя весь пост данных с: Еогеасп ($ _POST, как $ ключ => $ значение) { // ... получить ваши значения строки и выполнить SQL }

+0

Любой пример, почему они ошибаются и что должно быть их именем – user3210029

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