2016-05-11 2 views
-2

Как я могу вставить номер счета в таблице здесь является мой полный кодкак я могу вставить номер счета-фактуры в MySQLi

мой код Значение вставки

как этот

--------------------- 
Id | Name| Invoice No 
--------------------- 
1 | ali | 
2 | albert | 
3 | ruby | 
--------------------- 

и я хочу например

--------------------- 
Id | Name| Invoice No 
--------------------- 
1 | ali | 1 
2 | albert | 1 
3 | ruby | 1 
--------------------- 

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

я два файла

первый является index.php

<html> 
     <head> 
      <title>Dynamically Add or Remove input fields in PHP with JQuery</title> 
      <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css" /> 
      <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/js/bootstrap.min.js"></script> 
      <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.2.0/jquery.min.js"></script> 
     </head> 
     <body> 
      <div class="container"> 
       <br /> 
       <br /> 
       <h2 align="center">Dynamically Add or Remove input fields in PHP with JQuery</h2> 
       <div class="form-group"> 
        <form name="add_name" id="add_name"> 
          <div class="table-responsive"> 
           <table class="table table-bordered" id="dynamic_field"> 
            <tr> 
             <td><input type="text" name="name[]" placeholder="Enter your Name" class="form-control name_list" /></td> 
             <td><button type="button" name="add" id="add" class="btn btn-success">Add More</button></td> 
            </tr> 
           </table> 
           <input type="button" name="submit" id="submit" class="btn btn-info" value="Submit" /> 
          </div> 
        </form> 
       </div> 
      </div> 
     </body> 
</html> 
<script> 
$(document).ready(function(){ 
     var i=1; 
     $('#add').click(function(){ 
      i++; 
      $('#dynamic_field').append('<tr id="row'+i+'"><td><input type="text" name="name[]" placeholder="Enter your Name" class="form-control name_list" /></td><td><button type="button" name="remove" id="'+i+'" class="btn btn-danger btn_remove">X</button></td></tr>'); 
     }); 
     $(document).on('click', '.btn_remove', function(){ 
      var button_id = $(this).attr("id"); 
      $('#row'+button_id+'').remove(); 
     }); 
     $('#submit').click(function(){    
      $.ajax({ 
       url:"name.php", 
       method:"POST", 
       data:$('#add_name').serialize(), 
       success:function(data) 
       { 
        alert(data); 
        $('#add_name')[0].reset(); 
       } 
      }); 
     }); 
}); 
</script> 

второй является name.php

<?php 
$connect = mysqli_connect("localhost", "root", "", "test"); 
$number = count($_POST["name"]); 
if($number > 0) 
{ 
     for($i=0; $i<$number; $i++) 
     { 
      if(trim($_POST["name"][$i] != '')) 
      { 
       $sql = "INSERT INTO tbl_name(name) VALUES('".mysqli_real_escape_string($connect, $_POST["name"][$i])."')"; 
       mysqli_query($connect, $sql); 
      } 
     } 
     echo "Data Inserted"; 
} 
else 
{ 
     echo "Please Enter Name"; 
} 
?> 
+0

Просто введите 'Invoice No' is' 1' во все вставку? – Arulkumar

+0

Я не хочу вводить вручную номер счета-фактуры – msalman

+1

** ПРЕДУПРЕЖДЕНИЕ **: При использовании 'mysqli' вы должны использовать [параметризованные запросы] (http://php.net/manual/en/mysqli.quickstart.prepared-statements .php) и ['bind_param'] (http://php.net/manual/en/mysqli-stmt.bind-param.php), чтобы добавить данные пользователя в ваш запрос. ** НЕ ПРИНИМАЙТЕ ** использовать ручное экранирование и интерполяцию строк или конкатенацию, чтобы выполнить это, потому что вы создадите серьезные [SQL-инъекции ошибок] (http://bobby-tables.com/), если вы когда-нибудь забудете что-то избежать. – tadman

ответ

1

Ну, в настоящее время код для вставки одного значения в стол:

INSERT INTO tbl_name(name) VALUES('...') 

Если вы хотите вставить в обе колонки, обеспечивают значение для обеих колонок:

INSERT INTO tbl_name(name, `Invoice No`) VALUES('...','...') 

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

В основном , сделайте это точно так же, как вы уже есть, только с двумя столбцами вместо одного. Вы можете узнать больше о синтаксисе INSERThere.

+0

как сценарий может принимать номер счета автоматически – msalman

+1

@ msalman: Сначала вам нужно будет определить правила для * создания * этого значения. Единственный пример, который вы предоставляете, - это буквальное число '1', поэтому вы можете просто использовать этот литеральный номер. В противном случае, если вы хотите сгенерировать число, основанное на некотором наборе бизнес-логики, вам сначала нужно определить эту логику. «Как я могу создать номер?» на самом деле мы ничего не можем ответить. Что-то простое, как «var x = 1;' », создает число». – David

0
$sql = "INSERT INTO tbl_name(name) VALUES('".mysqli_real_escape_string($connect, $_POST["name"][$i])."')"; 

В приведенной выше строке вы вводите только name. Добавьте колонку Invoice No также в инструкцию INSERT, поэтому она должна быть

$sql = "INSERT INTO tbl_name(name, `invoice no`) VALUES('".mysqli_real_escape_string($connect, $_POST["name"][$i])."', 1)"; 
+0

как сценарий может принимать номер счета автоматически – msalman

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