2016-07-13 25 views
0

上記の2つのドロップダウンリストとテーブルを持つレポートフォームを作成しました。私は、データをフィルタリングし、ドロップダウンリストオプションでレポートを作成したいと思います。最初のドロップダウンリストにはデータベースのすべてのテーブル名があり、2番目のドロップダウンリストには「アイテム」列があり、すべてのテーブルには同じ項目値があります。表3と項目オプション1からレポートを作成する場合のように、レポートを作成する必要があります。ここでphpとmysql(レポート作成)でデータベースからデータを取得

はHTMLのための私のコードです:私がしようと

<div class="row"> 
       <div class="col-lg-12"> 
        <div class="ibox float-e-margins"> 
         <div class="ibox-title"> 
          <h5>Report by Items</h5> 
         </div> 
         <div class="ibox-content"> 
          <form method="post" class="form-horizontal"> 
           <div class="form-group"><label class="col-sm-4 control-label"Stocks</label> 
           <div class="col-sm-4"><select class="form-control m-b" name="Stock"> 
             <option></option> 
             <option>Stock</option> 
             <option>Stock1</option> 
             <option>Stock2</option> 
            </select> 
            </div> 
           </div> 
           <div class="form-group"><label class="col-sm-4 control-label">Items</label> 
           <div class="col-sm-4"> 
            <select class="form-control m-b" name="Items"> 
             <option></option> 
             <option>Item1</option> 
             <option>Item2</option> 
             <option>Item3</option> 
             <option>Item4</option> 
            </select> 
            </div> 
           </div> 
         </div> 
         <div class="col-lg-25"> 
          <div class="ibox float-e-margins">  
         </div> 
         </div> 
           <div class="form-group"> 
            <div class="col-sm-4 col-sm-offset-5"> 
             <button class="btn btn-white" type="submit">Cancel</button> 
             <button class="btn btn-primary" type="submit" name=submit>Run Report</button> 
            </div> 
           </div> 
          </form> 
         </div> 
        </div> 
       </div> 
      </div> 
     </div> 

PHPとテーブルのコードは次のとおりです。

    <div class="ibox-content"> 
         <table class="table table-striped table-bordered table-hover dataTables-example" > 
          <thead> 
           <tr> 
            <th>No</th> 
            <th>Quantity</th> 
            <th>Date</th> 
            <th>Sold</th> 
            <th>Total</th> 
           </tr> 
          </thead> 
          <tbody> 
          <?php 
$mysqli = new mysqli('localhost', 'user', 'pass', 'mis_db'); 

if (mysqli_connect_error()) { 
    echo mysqli_connect_error(); 
    exit(); 
} 
if($_POST['Stock']=='Stock1') 
{ 
    $stck1 = 'Stock1'; 
} 
if($_POST['Stock']=='Stock2') 
{ 
    $stck1 = 'Stock2'; 
} 
if($_POST['Stock']=='Stock1') 
{ 
    $stck1 = 'Stock3'; 
} 
if($_POST['Items']=='Item1') 
{ 
    $itm = 'Item1'; 
} 
if($_POST['Items']=='Item2') 
{ 
    $itm = 'Item2'; 
} 
if($_POST['Items']=='Item3') 
{ 
    $itm = 'Item3'; 
} 

      if (isset($_POST['submit'])) { 
       $query = 'SELECT * FROM .$stck1 where Items=.$itm'; 
       $data = mysqli_query($mysqli, $query) ; 

       if (!$data) { 
        echo("Error description: " . mysqli_error($mysqli)); 
       } else { 

        while ($row = mysqli_fetch_array($data)) { 
         echo "<tr> 
          <td>" . $row['No'] . "</td> 
          <td>" . $row['Qty'] . "</td> 
          <td>" . $row['date'] . "</td> 
          <td>" . $row['Sold'] . "</td> 
          <td>" . $row['Total'] . "</td>           
          </tr>"; 
        } 
       } 
      } 
        ?> 
          </tbody> 
          <tfoot> 
          </tfoot> 
         </table> 
        </div> 

私はMySQLのクエリに疑問を持っています。

答えて

1

構文エラーがあり、PHPをかなり単純化することができます。

ご覧のとおり、ドロップダウンリストの各項目にはifの文が削除されていますが、これは不要です。 $queryにも構文エラーがあります。連結には.が必要なので、削除しません。最後に、$query$stck1変数が単純に$stckに変更されました。

このお試しください:それは、このエラーを与える

<?php 
    $mysqli = new mysqli('localhost', 'user', 'pass', 'mis_db'); 

if (mysqli_connect_error()) { 
    echo mysqli_connect_error(); 
    exit(); 
} 

$stck = $_POST['Stock']; 
$itm = $_POST['Items']; 

if (isset($_POST['submit'])) { 
    $query = "SELECT * FROM $stck WHERE Items = $itm"; 

    $data = mysqli_query($mysqli, $query) ; 

    if (!$data) { 
     echo("Error description: " . mysqli_error($mysqli)); 
    } else { 

     while ($row = mysqli_fetch_array($data)) { 
      echo "<tr> 
       <td>" . $row['No'] . "</td> 
       <td>" . $row['Qty'] . "</td> 
       <td>" . $row['date'] . "</td> 
       <td>" . $row['Sold'] . "</td> 
       <td>" . $row['Total'] . "</td> 
       </tr>"; 
     } 
    } 
} 
?> 
+0

を:エラーの説明:不明な列「アイテムを」「WHERE句」 –

+0

はあなたのデータベーステーブルを何には次のようになり? – pmahomme

+0

申し訳ありませんが私は持っていません????好き? –

関連する問題