2013-10-29 37 views
-2

我有下拉选择,当我点击提交按钮时,它显示基于下拉值的记录。它工作正常,但是当我刷新app_list2.php时,它什么也没有显示。我想保留显示在app_list2.php中的记录。我如何在会话中存储所有$ _POST值?

<?php 
    $mysqli = new mysqli("localhost", "root", "", "app"); 
    if(isset($_POST['submit'])){ 
    $drop = $_POST['drop_1']; 
    $tier_two = $_POST['tier_two']; 

    $where = "WHERE app_cn='$drop' AND app_plan_no='$tier_two'"; 

$result1 = $mysqli->query(" 
    SELECT *, SUM(unit_cost*quantity) AS total_amount, SUM(unit_cost*1st_quarter) AS 1st_quarter_total, SUM(unit_cost*2nd_quarter) AS 2nd_quarter_total, SUM(unit_cost*3rd_quarter) AS 3rd_quarter_total, 
    SUM(unit_cost*4th_quarter) AS 4th_quarter_total, SUM((quantity)-(1st_q_qty_del+2nd_q_qty_del+3rd_q_qty_del+4th_q_qty_del)) AS balance 
    FROM app 
    $where 
    GROUP BY counter ORDER BY counter 
"); 
?> 

<?php 
echo'<table id="tfhover" cellspacing="0" class="tablesorter" style="text-transform:uppercase;"> 
     <thead> 
      <tr> 
     <th>Item</th> 
     <th>Description</th> 
     <th>Fund Source</th> 
     <th>Unit</th> 
     <th>Unit Cost</th> 
    </tr> 
     </thead>'; 
     echo'<tbody>'; 
$i=1; 
while($row = $result1->fetch_assoc()){ 
if($row['app_cn'] != '') 
{ 
echo'<tr> 
    <td>'.$row['item_name'].'</td> 
     <td>'.$row['item_description'].'</td> 
    <td>'.$row['fund_source'].'</td> 
     <td>'.$row['unit'].'</td> 
     <td>'.number_format($row['unit_cost'], 2, '.', ',').'</td> 
     </tr>'; 
    } 
     } 
    echo "</tbody></table>"; 
} 
?> 
+0

检查错误,似乎是一个PHP错误。并清理您的查询字段 – Sal00m

+0

没有错误,我认为它bcoz它没有身份证确定记录? –

+0

它因为刷新,你将失去发布值的跟踪,所以什么都不会出现 –

回答

0

尝试这个代码

<?php 

    ob_start(); 
    session_start(); 
     $mysqli = new mysqli("localhost", "root", "", "app"); 



    if(isset($_POST['submit'])){ 

    //unset the session value 
    $_SESSION['content'] = ''; 

    $drop = $_POST['drop_1']; 
    $tier_two = $_POST['tier_two']; 

    $where = "WHERE app_cn='$drop' AND app_plan_no='$tier_two'"; 

$result1 = $mysqli->query(" 
    SELECT *, SUM(unit_cost*quantity) AS total_amount, SUM(unit_cost*1st_quarter) AS 1st_quarter_total, SUM(unit_cost*2nd_quarter) AS 2nd_quarter_total, SUM(unit_cost*3rd_quarter) AS 3rd_quarter_total, 
    SUM(unit_cost*4th_quarter) AS 4th_quarter_total, SUM((quantity)-(1st_q_qty_del+2nd_q_qty_del+3rd_q_qty_del+4th_q_qty_del)) AS balance 
    FROM app 
    $where 
    GROUP BY counter ORDER BY counter 
"); 
?> 

<?php 
echo'<table id="tfhover" cellspacing="0" class="tablesorter" style="text-transform:uppercase;"> 
     <thead> 
      <tr> 
     <th>Item</th> 
     <th>Description</th> 
     <th>Fund Source</th> 
     <th>Unit</th> 
     <th>Unit Cost</th> 
    </tr> 
     </thead>'; 
     echo'<tbody>'; 
$i=1; 
while($row = $result1->fetch_assoc()){ 
if($row['app_cn'] != '') 
{ 
echo'<tr> 
    <td>'.$row['item_name'].'</td> 
     <td>'.$row['item_description'].'</td> 
    <td>'.$row['fund_source'].'</td> 
     <td>'.$row['unit'].'</td> 
     <td>'.number_format($row['unit_cost'], 2, '.', ',').'</td> 
     </tr>'; 
    } 
     } 
    echo "</tbody></table>"; 

    $sPageContent = ob_get_clean(); 
    $_SESSION['content'] = $sPageContent; 

}else{ 

    if (isset($_SESSION['content'])){ 
     echo $_SESSION['content']; 
    } 


} 
?> 
+0

没有显示。 –

+0

尝试在尝试此代码之前清除缓存,并在刷新之前在第一个显示器上调试会话值。是否存储存储在值中的页面内容? –

+0

对于迟到的回复感到抱歉,我试过这段代码。当我点击提交按钮app_list.php它什么都不显示。但是当我刷新页面时,它会显示记录。这是为什么? –