2016-08-09 1 views
2

私はphpを持ち、mysqlデータベース名daily_data2はdatepicker(1番目のクエリ)を使ってdaterangeのテーブルをフィルタリングできました。別のボタンで作業していますが、私の問題はどのようにdept(2番目のクエリ)をフィルタリングする1番目のクエリで結果を使用することができますか?または私は2つの条件を1つの条件で組み合わせる必要がありますか?誰かが私を助けることができます。以下は私のコードです。フィルターをもう一度実行するとPHP

<?php 

$post_at = ""; 
$post_at_to_date = ""; 

if(isset($_POST['post_at']) && isset($_POST['post_at_to_date'])) 
    { 
    $post_at = $_POST['post_at']; 
    $post_at_to_date = $_POST['post_at_to_date']; 
    $query = "SELECT * FROM daily_data2 WHERE Checkdate between '" . $post_at . "' and '" . $post_at_to_date . "'"; 

    $search_result = filter($query); 
    } 
    else { 
    $sql = "SELECT * FROM daily_data2"; 
    $search_result = filter($sql); 
    } 
    function filter($query) 
    { 
    $connect = mysqli_connect("localhost", "root", "","bio_db"); 
    $filter_Result = mysqli_query($connect, $query); 
    return $filter_Result; 
    }    

?> 

<?php 

    if(isset($_POST['go'])) 
    { 
    $cmbDept = $_POST['cmbDept']; 
    $query ="SELECT * FROM $row array WHERE Campaign LIKE '".$cmbDept."' "; 
    $search_result = filterTable($query); 
    } 
function filterTable($query) 
{ 
    $connect = mysqli_connect("localhost", "root", "","bio_db"); 
    $filter_Result = mysqli_query($connect, $query); 
    return $filter_Result; 
    }    

?> 
    <html> 
    <head> 
    <title>Employee Logs</title> 
    <script src="http://code.jquery.com/jquery-1.9.1.js"></script> 
    <link rel="stylesheet" href="http://code.jquery.com/ui/1.11.4/themes/smoothness/jquery-ui.css"> 
    <style> 
     .table-content{border-top:#CCCCCC 4px solid; width:50%;} 
.table-content th {padding:5px 20px; background: #F0F0F0;vertical-align:top;} 
.table-content td {padding:5px 20px; border-bottom: #F0F0F0 1px solid;vertical-align:top;} 
    </style> 
    </head> 

    <body> 
    <h2 align="center">Time and Attendance Monitoring</h2> 

    <center> 

<form name="frmSearch" method="POST" action="index.php"> 
    <p class="search_input"> 
    <input type="text" placeholder="From Date" id="post_at" name="post_at" value="<?php echo $post_at; ?>" class="input-control" /> 
     <input type="text" placeholder="To Date" id="post_at_to_date" name="post_at_to_date" style="margin-left:10px" value="<?php echo $post_at_to_date; ?>" class="input-control" />    
    <input type="submit" name="search" value="Search" > 
    </p> 


    <form method="POST" action="excel.php"> 
     <input type="hidden" name="cmbDept" value="<?php echo isset($_POST['cmbDept']) ? $_POST['cmbDept'] : ''; ?>"> 
     <input type="submit" name="export_excel" class="btn btn-success" value="Export to Excel"> 
     </form> 




    <form action="index.php" method="post"> 
    <select id="cmbDept" name="cmbDept"> 
     <option value = '' selected="selected">Filter by Department</option> 
      <option value = 'TKV'>TKV</option> 
      <option value = 'NA'>NA</option> 
      <option value = 'PURE-INC'>PURE INC</option> 
      <option value = 'DUTY-FREE'>DUTY-FREE</option> 
      <option value = 'HQL'>HQL</option> 
      <option value = 'PRO-XPN'>PRO-XPN</option> 
      <option value = 'Mate1'>Mate1</option> 
      <option value = 'STUDENT-rUS'>STUDENT-rUS</option> 
      <option value = 'COLLECTIONS'>COLLECTIONS</option> 
      <option value = 'NTD'>NTD</option> 
      <option value = 'DATA RESEARCHER'>DATA RESEARCHER</option> 
      <option value = 'VA'>DATA RESEARCHER</option> 

     </select>   
     <input type="submit" name="go" value="Filter"><br><br> 

    </center> 

    <table align="center" width="600" border="1" cellpadding="1" cellspacing="1"> 
     <tr> 
      <th>Userid</th> 
      <th>Name</th> 
      <th>Campaign</th> 
      <th>Checkdate</th> 
      <th>Hoursworked</th> 
      <th>Overtime</th> 
     </tr> 

    <?php while($row = mysqli_fetch_array($search_result)):?> 
     <tr> 
      <td style="text-align:center;"><?php echo $row['Userid'];?></td> 
      <td width="200"><?php echo $row['Name'];?></td> 
      <td style="text-align:center;"><?php echo $row['Campaign'];?> </td> 
      <td width="100" style="text-align:center;"><?php echo $row['Checkdate'];?></td> 
      <td style="text-align:center;"><?php echo $row['Hoursworked'];?></td> 
      <td style="text-align:center;"><?php echo $row['Overtime'];?></td> 
     </tr> 

    <?php endwhile;?> 

     </table> 
     </form> 
    <script src="http://code.jquery.com/ui/1.10.3/jquery-ui.js"></script> 
    <script> 
     $.datepicker.setDefaults({ 
     showOn: "button", 
     buttonImage: "datepicker.png", 
     buttonText: "Date Picker", 
     buttonImageOnly: true, 
     dateFormat: 'yy-mm-dd' 
    }); 
     $(function() { 
     $("#post_at").datepicker(); 
     $("#post_at_to_date").datepicker(); 
    }); 
    </script> 


    </body> 
    </html> 
+0

同じクエリで別のwhere句を追加して、データベースを一度クエリするだけで済みます。 注:phpでmysqlを使用する場合は、何らかの形式の準備済みクエリを使用する必要があります。 –

答えて

0

私の質問と一緒に。希望すると便利です

if(isset($_POST['post_at']) && isset($_POST['post_at_to_date']) && isset($_POST['cmbDept'])) 
    { 
     $query ="SELECT * FROM daily_data2 WHERE Campaign = '".$cmbDept."' and Checkdate between '{'" . $post_at . "'}' and '{'" . $post_at_to_date . "'}'"; 
    } 
1

クエリに参加して、一つだけ、それを維持する、のようなもの:皆さんのおかげで、私はついにそれを考え出した、私はちょうど1に私の2つのクエリを組み合わせ、ここにいたのです私が来た

if(isset($_POST['post_at']) && isset($_POST['post_at_to_date'])) 
    { 
    if(isset($_POST['go'])) { 

     $cmbDept = $_POST['cmbDept']; 
     $post_at = $_POST['post_at']; 
     $post_at_to_date = $_POST['post_at_to_date']; 
     $query = "SELECT * FROM daily_data2 WHERE Campaign LIKE '".$cmbDept."' " AND Checkdate between '" . $post_at . "' and '" . $post_at_to_date . "'"; 

    } else { 
     $query = "SELECT * FROM daily_data2 WHERE Checkdate between '" . $post_at . "' and '" . $post_at_to_date . "'"; 
    } 

    } else { 

    if(isset($_POST['go'])) { 
     $cmbDept = $_POST['cmbDept']; 
     $query = "SELECT * FROM daily_data2 WHERE Campaign LIKE '".$cmbDept."'"; 
    } else { 
     $query = "SELECT * FROM daily_data2"; 
    } 
    } 

    $search_result = filter($query); 

    function filter($query) 
    { 
    $connect = mysqli_connect("localhost", "root", "","bio_db"); 
    $filter_Result = mysqli_query($connect, $query); 
    return $filter_Result; 
    }  
+0

あなたは部分的に正しいです、ありがとう – Seryu

+0

あなたの必要に応じて修正することができます。ヘルパーは部分コードに基づいて判断し、すべてのアイデアを持っていない可能性があります。 –

関連する問題