mardi 10 avril 2018

How to get textboxs values if a checkbox is checked

I have created a page to generate invoices. I am getting products data from database using php. Now when I try to generate an invoice and select some product(s) using checkbox. It only give me values of selected checkbox which is "Product Name" but it is not giving me values of relevant checkboxs containing its price and quantity etc. Following is my code: -

    <div class="container-fluid">
    <div class="panel panel-default">
        <div class="panel-heading" style="background: #c17107; color: white;">
                <h4>Add New Invoice</h4>
            </div>
        <div class="panel-body">
            <form action="addInvoice.php" method="post">
                <div class="row">
                    <div class="col-sm-4">
                        <div class="form-group">
                            <input type="date" name="date" class="form-control" placeholder="Enter Date">   
                        </div>
                        <div class="form-group">
                            <select name="client_id" class="form-control" required>
                            <option value="">Select Client</option>
                            <?php 
                                $query = mysqli_query($conn, "SELECT * from clients");
                                while ($row = mysqli_fetch_array($query)) 
                                {
                                    $client_id = $row['client_id'];
                                    $client_name = $row['client_name'];
                                    echo "<option value='$client_id'>$client_name</option>";
                                }
                            ?>
                        </select>   
                        </div>
                    </div>
                    <div class="col-sm-4">
                        <div class="form-group">
                            <input type="text" name="p_order" class="form-control" placeholder="P/Order Number (If Any)">
                        </div>
                        <div class="form-group">
                            <input type="text" name="dc_number" class="form-control" placeholder="DC Number (If Any)">
                        </div>
                    </div>
                    <div class="col-sm-4">
                        <div class="form-group">
                            <input type="text" name="patient_name" class="form-control" placeholder="Patient Name (If Any)">
                        </div>
                        <div class="form-group">
                            <input type="text" name="mr_number" class="form-control" placeholder="MR Number (if Any)">
                        </div>
                    </div>
                </div>
                <hr>
                <div class="row">
                    <div col-sm-12>
                        <div class="container-fluid">
                    <table width="100%">
                        <tr>
                            <td>Sr No.</td>
                            <td>Item Name</td>
                            <td>Product Reference (if any)</td>
                            <td></td>
                            <td>Quantity</td>
                            <td></td>
                            <td>Unit Price</td>
                        </tr>
                        <?php 
                            $query = mysqli_query($conn, "SELECT * from products order by product_name asc");
                            $i = 1;
                            while ($row = mysqli_fetch_array($query)) 
                            {
                                $product_id = $row['product_id'];
                                $product_name = $row['product_name'];
                                $product_ref = '';
                                $quantity = '';
                                $unit_price = '';

                                echo "<tr>
                                    <td>$i</td>
                                    <td><input type='checkbox' name='product_id[]' value='$product_id'> $product_name</td>
                                    <td><input type='text' name='product_ref[]' value='$product_ref' class='form-control'></td>
                                    <td width='2%'></td>
                                    <td><input type='text' name='quantity[]' class='form-control'></td>
                                    <td width='2%'></td>
                                    <td><input type='text' name='unit_price[]' class='form-control'></td>
                                </tr>";
                                $i++;
                            }
                        ?>
                    </table>
                    <br>
                    <input type="submit" name="submit" value="Generate Invoice" class="btn btn-default pull-right" style="background: #c17107; color: white;">
                </div>
                </div>
                </div>
            </form>
        </div>
    </div>
</div>



<?php 
include "includes/db.php";

if(isset($_POST['submit']))
{
  $date = $_POST['date'];
  $client_id = $_POST['client_id'];
  $p_order = $_POST['p_order'];
  $dc_number = $_POST['dc_number'];
  $patient_name = $_POST['patient_name'];
  $mr_number = $_POST['mr_number'];

  $product_id = $_POST['product_id'];
  $product_ref = $_POST['product_ref'];
  $quantity = $_POST['quantity'];
  $unit_price = $_POST['unit_price'];

  $query = mysqli_query($conn, "INSERT into invoice (date, client_id, p_order, dcno, pname, mrno) values ('$date', '$client_id', '$p_order', '$dc_number', '$patient_name', '$mr_number') ");
  if($query)
  {
    $max_id = mysqli_query($conn, "SELECT MAX(invoice_id) as invoice_id from invoice ");
    $row = mysqli_fetch_array($max_id);
    $invoice_id = $row['invoice_id'];

    for($i = 0; $i < count($product_id); $i++)
    {
      $product = $product_id[$i];
      $product_reference = $product_ref[$i];
      $qty = $quantity[$i];
      $u_p = $unit_price[$i];
      $total_price = $u_p * $qty;

      $qur = mysqli_query($conn, "INSERT into operations (invoice_id, client_id, date, product_id, ref, quantity, unit_price, total) values ('$invoice_id', '$client_id', '$date', '$product', '$product_reference', '$qty', '$u_p', '$total_price') ");

      if($qur)
      {
        header("location: dashboard.php");
      }
    }
  }
}

?>




Aucun commentaire:

Enregistrer un commentaire