Как отобразить записи согласно вочер нет - PullRequest
0 голосов
/ 15 ноября 2018

Ожидаемый результат Expected result Структура таблицы закупочных элементов purchaseitem table Структура таблицы закупочных счетов purchase bill table Текущий выпуск enter image description here IЯ готовлю регистр, который вводит данные от даты и до даты от пользователя в соответствии с датой, когда он должен печатать записи в соответствии с billno ... Я использую два запроса для этого, чтобы отобразить номер ваучера, дату счета и название партии и другоезапрос имени элемента количество. Query1 работает нормально. У меня возникла проблема с переменной запроса. Она печатает все записи, имеющиеся в базе данных, от пользователя, предоставленного от даты и до даты, но мне приходится печатать от даты и до даты в соответствии с ваучером.нет.Помогите мне решить эту проблему ... Код контроллера:

$this->db->where('billdate >=', $newDate);
    $this->db->where('billdate <=', $newDate2);
    $this->db->from('purchaseitem');
        $this->db->order_by("vno", "asc");
        $this->db->join('purchasebill', 'purchasebill.no = purchaseitem.billno','left outer');
        $this->db->join('itemmaster','itemmaster.itcode = purchaseitem.Product_Code','left outer');
        $query = $this->db->get('')->result_array();
        $data['query'] = $query;
        $this->db->where('date >=', $newDate);
        $this->db->where('date <=', $newDate2);
        $this->db->select();
        $this->db->from('purchasebill');
        $this->db->order_by('voucherno');
        $this->db->group_by('voucherno');
        $this->db->join('parmaster','parmaster.Pcode = purchasebill.partyname','left outer');
        $query = $this->db->get('')->result_array();
        $data['query1'] = $query;
        $this->load->view('Receipt_View1',$data);

Просмотр кода:

<?php $rowcount = 1 ?>                          
        <?php foreach ($query1 as $row): ?>

<tr>
                                            <td><?=$rowcount;?></td>
                                            <td><?=$row['voucherno'];?></td>
                                            <td><?=$row['date'];?></td>
                                            <td><?=$row['PName'];?></td>
                                            <?php $rowcount +=1?>
                                            <?php foreach ($query as $row): ?>
                                                <tr>
                                            <td><?=$row['Prdtname'];?></td>
                                            <td><?=$row['Qty'];?></td>
                                            <td><?=$row['bundle'];?></td>

                                            <?php endforeach ?> 
                                            <?php endforeach ?> 
</tr></tr>

1 Ответ

0 голосов
/ 06 декабря 2018

Это можно сделать с помощью ваучера № в массиве. Код контроллера:

<code>public function Purchase_Register1()
{
    $startdate = $this->input->post('SDate');
$enddate = $this->input->post('EDate');
$date = str_replace('/', '-', $startdate);
$newDate = date("Y-m-d", strtotime($date));
$date2 = str_replace('/', '-', $enddate);
$newDate2 = date("Y-m-d", strtotime($date2));
$data['startdate'] = $startdate;
$data['enddate'] = $enddate;
if( ($this->input->post('all')) && ($this->input->post('item')) ) {
    $this->db->select('parmaster.PName, purchasebill.voucherno, purchaseitem.billdate, purchasebill.partyname, purchaseitem.prdtname, purchaseitem.quantity,purchaseitem.bundle');
    $this->db->from('purchasebill');
    $this->db->join('purchaseitem', 'purchasebill.voucherno = purchaseitem.vno');
    $this->db->join('parmaster', 'parmaster.pcode = purchasebill.partyname');
    $this->db->where('purchaseitem.billdate >=', $newDate);
    $this->db->where('purchaseitem.billdate <=', $newDate2);
    $this->db->order_by('purchasebill.voucherno');

    $result = $this->db->get()->result_array();
    if($result){
        $finalArray = array();
        $checkArray = array();
        foreach ($result as $key => $value) {
            if(in_array($value['voucherno'], $checkArray)){
                $finalArray[$value['voucherno']][] = $value;
            } else {
                $checkArray[] = $value['voucherno'];
                $finalArray[$value['voucherno']][] = $value;
            }
        }
        $data['query'] = $finalArray;
        $this->load->view('Whole_Sales/Purchase_Register2', $data);
        //echo '<pre>';print_r($finalArray);echo '
'; exit ();}} else if (($ this-> input-> post ('selected')) && ($ this-> input-> post ('businessType')) && ($ this-> input-> post ('item')))) {$ name = $ this-> input-> post ('businessType');$ this-> db-> select ('parmaster.PName, purchasebill.voucherno, purchaseitem.billdate, purchasebill.partyname, purchaseitem.prdtname, purchaseitem.quantity, purchaseitem.bundle');$ This-> db-> из ( 'purchasebill');$ this-> db-> join ('purchaseitem', 'purchasebill.voucherno = purchaseitem.vno');$ this-> db-> join ('parmaster', 'parmaster.pcode = purchasebill.partyname');$ this-> db-> where ('purchaseitem.billdate> =', $ newDate);$ this-> db-> where ('purchaseitem.billdate <=', $ newDate2);$ This-> db-> где ( 'PNAME', $ название);$ This-> db-> order_by ( 'purchasebill.voucherno');$ result = $ this-> db-> get () -> result_array ();if ($ result) {$ finalArray = array ();$ checkArray = array ();foreach ($ result as $ key => $ value) {if (in_array ($ value ['voucherno'], $ checkArray)) {$ finalArray [$ value ['voucherno']] [] = $ value;} else {$ checkArray [] = $ value ['voucherno'];$ finalArray [$ value ['voucherno']] [] = $ value;}} $ data ['query'] = $ finalArray;$ this-> load-> view ('Whole_Sales / Purchase_Register2', $ data);

Просмотр страницы:

    <?php
    $totalQuantity = 0;
    $totalBundle = 0;
     $rowcount = 1;
    foreach ($query as $key => $value){
        $counter = 0;
?>
        <?php
        foreach ($value as $sub_key => $sub_value) {
            if($counter == 0) {
                $totalQuantity = $totalQuantity + $sub_value['quantity'];
                $totalBundle = $totalBundle + $sub_value['bundle'];
            ?>
                <tr>
                    <td><?php echo $rowcount?>
                    <td><?php echo $sub_value['voucherno'] ?></td>
                    <td><?php echo $sub_value['billdate'] ?></td>
                    <td><?php echo $sub_value['PName'] ?></td>
                    <td><?php echo $sub_value['prdtname'];?></td>
                    <td><?php echo $sub_value['quantity'];?></td>
                    <td><?php echo $sub_value['bundle'];?></td>
                    <?php $rowcount +=1?>
                </tr>
            <?php
            $counter++;
            } else {
                $totalQuantity = $totalQuantity + $sub_value['quantity'];
                $totalBundle = $totalBundle + $sub_value['bundle'];
        ?>
        <tr>
            <td></td>
            <td></td>
            <td></td>
            <td></td>
            <td><?php echo $sub_value['prdtname'];?></td>
            <td><?php echo $sub_value['quantity'];?></td>
            <td><?php echo $sub_value['bundle'];?></td>
        </tr>
        <?php
            } // else
        } // foreach
    }
    ?> 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...