2016-06-26 4 views
0

У меня есть 3 строки. Динамически создаются. Если мы нажмем на , добавьте еще, тогда все три поля создают динамически. Он правильно работает.динамическая вставка строки в таблице через php

Но я хочу вставлять эти поля в таблицу через mysql-запрос динамически. Я пробовал, но он не работает. пожалуйста, помогите любому решить его. Спасибо.

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script> 
    <script type="text/javascript"> 
    var rowCount = 1; 

    window.addMoreRows = function(frm) { 
    rowCount++; 
     var recRow = '<div id="rowCount' + rowCount + '"><div class="col-sm-3 text-left">College Name:</div><div class = "col-sm-9"><input type="text" name = "collegename[]" placeholder = "College Name" class = "form-control"/></div><div class = "col-sm-3 text-left" > Affiliated University: </div><div class = "col-sm-9" ><input type = "text" name = "univ[]" placeholder = "Affiliated University" class = "form-control"/> </div><div class = "col-sm-3 text-left" > Course Name: </div> <div class = "col-sm-9" ><input type = "text" name = "cname[]" placeholder = "Course Name" class = "form-control"/></div><div class = "col-sm-3 text-left" > Major & Subject: </div><div class = "col-sm-9"><input type = "text" name = "msub[]" placeholder = "Major Subject" class = "form-control"/></div><div class = "col-sm-3 text-left"> Final & Percentage: </div><div class = "col-sm-9"><input type = "text" name = "fper[]" placeholder = "Final Percentage" class = "form-control"/></div><a href = "javascript:void(0);" onclick = "removeRow (' + rowCount + ');" >Delete</a></div> '; 
$('#addedRows').append(recRow); 
} 
window.removeRow = function(removeNum) { 
    $('#rowCount'+removeNum).remove(); 
} 
    </script> 
    <?php 
    extract($_POST); 
    if (isset($_POST['submit_val'])) { 
    if ($_POST['dynfields']) { 
    foreach (array_keys($dynfields) as $key) { 
    $txt = $dynfields[$key]; 
    $txt1 = $univ[$key]; 
    $txt2 = $cname[$key]; 
    $txt3 = $msub[$key]; 
$txt4 = $fper[$key]; 
    $query = mysql_query("INSERT INTO dynamicfield VALUES ('','','$txt','$txt1','$txt2','$txt3','$txt4')"); 

    } 
    } 
    echo "<i><h2><strong>" . count($_POST['dynfields']) . "</strong> Hobbies Added</h2></i>"; 
    mysql_close(); 
    } 
    ?> 
     <form action="" method="post" id="addedRows"> 
     <h5 align="left"><u style="color:#449D44;">Other Studies</u>-<span style="font:normal 12px agency, arial; color:blue; text-decoration:underline; cursor:pointer;" onclick="addMoreRows(this.form);">Add More Other Studies</span></h5> 
    <span id="rowId"> 
    <div class="col-sm-3 text-left">College&nbsp;Name: </div> 
     <div class="col-sm-9"><input type="text" name="dynfields[]" placeholder="College Name" class="form-control" /></div> 

<div class="col-sm-3 text-left">Affiliated&nbsp;University: </div> 
<div class="col-sm-9"><input type="text" name="univ[]" placeholder="Affiliated University" class="form-control" /></div> 
<div class="col-sm-3 text-left">Course&nbsp;Name: </div> 
<div class="col-sm-9"><input type="text" name="cname[]" placeholder="Course Name" class="form-control" /></div> 
<div class="col-sm-3 text-left">Major&nbsp;Subject: </div> 
<div class="col-sm-9"><input type="text" name="msub[]" placeholder="Major Subject" class="form-control" /></div> 
<div class="col-sm-3 text-left">Final&nbsp;Percentage: </div> 
<div class="col-sm-9"><input type="text" name="fper[]" placeholder="Final Percentage" class="form-control" /></div> 
</span> 
<input type="submit" name="submit_val" value="Submit" /> 

+0

Что такое имя столбца? – C2486

+0

имя, адрес электронной почты, мобильный – user3526766

+0

Использовать имя столбца в запросе, см. Мои ans – C2486

ответ

0

Я не мог найти, где вы назвали ваши поля ввода.

Назовите свои введенные поля ввода в соответствии с массивом, который вы хотите получить из параметра $ _POST.

<input name="dynfields[]"/> 

Скобки говорят PHP, что представленное значение является частью массива. В вашем отредактированном вопросе HTML будет выглядеть следующим образом.

<tr> 
    <td><input name="dynfields[]" type="text" value="" size="17%"/></td> 
    <td><input name="dynfields1[]" type="text" value="" /></td> 
    <td><input name="dynfields2[]" type="text" value="" /></td> 
</tr> 
<tr> 
    <td><input name="dynfields[]" type="text" value="" size="17%"/></td> 
    <td><input name="dynfields1[]" type="text" value="" /></td> 
    <td><input name="dynfields2[]" type="text" value="" /></td> 
</tr> 
(...) 

После отправки формы вы должны быть в состоянии получить доступ к 3 отдельных массивов:

$_POST['dynfields']; 
$_POST['dynfields1']; 
$_POST['dynfields2']; 
+0

Я обновил. взгляни, пожалуйста. Спасибо. – user3526766

+0

больше .. обновления .. проверим – elfwyn

+0

Я обновил..Он работает. Но после подачи, только 0,0,0,0,0 идут в таблице. – user3526766

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