繁体   English   中英

使用PHP和SQL创建多语句动态表

[英]Creating a Multi-Statement Dynamic Table Using PHP and SQL

我正在尝试使用PHP构建动态表,以将来自MSSQL数据库的数据插入正在构建的站点的页面中。 每个可见行代表一个单独的薪水。 每行下方是与之关联的详细信息。 对于税收来说,这很容易,因为每张支票的数据都保存在主表行中。 现在,我需要添加扣除额,问题是,对于每个支票号码,我都会得到多行明细扣除额。

我可以在While循环中切换SQL语句,但完成后再切换回原始语句吗?

还是这是其他SQL向导的令人困惑的外部联接的工作。

这是我现在拥有的代码示例。

  while ($row = mssql_fetch_array($rs))
  {
      $paychecknum =$row['check_no'];
      $paycheckdate=$row['check_date'];
      $netpay=$row['check_amount'];
      $grosspay=$row['gross_pay'];
      $tax=$row['taxes'];
      $deductions=$row['deductions'];
      $fit=$row['fit'];
      $lit=$row['lit'];
      $sit=$row['sit'];
      $fica=$row['fica'];
    echo('<div class="row">');
    echo('<div class="cell">Check Date:');
    echo $paycheckdate;
    echo('</div>');
    echo('<div class="cell">Check Number: ');
    echo $paychecknum;
    echo('</div>');
    echo('<div class="cell">Gross Pay: ');
    echo $grosspay;
    echo('</div>');
    echo('<div class="cell clickable"  onClick="showAmount('.$paychecknum.')"> Taxes: ');
    echo $tax;
    echo('</div>');
    echo('<div class="cell clickable" onClick="showAmount(1'.$paychecknum.')">Deductions: ');
    echo $deductions;
    echo('</div>');
    echo('<div class="cell">Net Pay: ');
    echo $netpay;
    echo('</div>');
    echo('</div>');
    echo('<div class="row hidden" id="'.$paychecknum.'">');
    echo('<div class="cell">Federal Income Tax: ');
    echo $fit;
    echo('</div>');
    echo('<div class="cell">Local Income Tax:  ');
    echo $lit;
    echo('</div>');
    echo('<div class="cell">State Income Tax:  ');
    echo $sit;
    echo('</div>');
    echo('<div class="cell">FICA:  ');
    echo $fica;
    echo('</div>');
    echo ('</div>');
    echo ('<div class="row hidden" id="1'.$paychecknum.'">');
####    echo('<div> Deductions go here');   ######Where I need my details###
    echo('</div>');
    echo ('</div>');

对于上述部分,我需要其他查询的结果。 可能吗? 最佳解决方案?

您可以在while循环中执行第二个SQL查询,以得出推论。

例:

$sql1 = "select * from checks";
$result1 = mysql_query($sql1);
while($data1 = mysql_fetch_assoc($result1)){
    // output data

    $sql2 = "select * from deductions where check_id='" . $data1['check_id'] . "'";
    $result2 = mysql_query($sql2);
    while($data2 = mysql_fetch_assoc($result2)){
        //output deduction data
    }

    // output remaining info
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM