PHP MySQL使用可点击的表行显示数据

时间:2013-06-27 21:11:37

标签: php javascript html mysql

我试图在HTML表格中使用PHP显示MySQL数据。这些行当前是可点击的,复选框将数据中的数字放入文本框中,然后在您勾选的每个复选框上添加。

我想保留这个但是当你单击该行时它会选中该框并将数字放入文本框中(就像检查文本框时一样)

然后如果双击该行,它将打开一个新网页

这是我目前的PHP代码:

<script>
function correctNumber(number) {
    return (parseFloat(number.toPrecision(12)));
}

function add(total, this_chk_bx) {
    var thetotal = (form2.thetotal.value * 1);
    var total = total * 1;


    if (this_chk_bx.checked == true) {
        //add if its checked
        form2.thetotal.value = correctNumber(thetotal + total);
    } else {
        //subtract if its unchecked
        form2.thetotal.value = correctNumber(thetotal - total);
    }
}
</script>

<form name="form2">
  <table width="100%" border="0" cellspacing="0" cellpadding="10">
  <tr>
    <td colspan="6"><form action="../">
    <select name="status" onchange="window.open(this.options[this.selectedIndex].value,'_top')">
    <option value="?status=" <?php if($_GET["status"] == '') { echo 'selected="selected"'; } ?>>Not Paid</option>
    <?php
    $sql2="SELECT * from billing_pdf_archive where status <> '' group by status ";
    $rs2=mysql_query($sql2,$conn) or die(mysql_error());
    while($result2=mysql_fetch_array($rs2))
    {
        echo ('<option value="?status='.$result2['status'].'"');
        if(($_GET['status']) == ($result2['status'].''))
        {
            echo (' selected ');
        }
        echo ('>'.$result2['status'].'</option>');
        }
    ?>
    </select>
    </form>
  </tr>
  <tr>
    <td width="20">&nbsp;</td>
    <td width="150"><strong><?php echo $invoicenumber_link; ?></strong></td>
    <td width="250"><strong><?php echo $company_link; ?></strong></td>
    <td width="100"><strong><?php echo $date_link; ?></strong></td>
    <td width="100"><strong><?php echo $total_link; ?></strong></td>
    <td width="100">&nbsp;</td>
  </tr>
<?php
$rs=mysql_query($sql,$conn) or die(mysql_error());
while($result=mysql_fetch_array($rs))
{
    $counter++;
    $sql2="SELECT * from customer where sequence = '".$result["customer_sequence"]."' ";
    $rs2=mysql_query($sql2,$conn) or die(mysql_error());
    $result2=mysql_fetch_array($rs2);

    $sql3="SELECT * from reseller where sequence = '".$result["reseller_sequence"]."' ";
    $rs3=mysql_query($sql3,$conn) or die(mysql_error());
    $result3=mysql_fetch_array($rs3);

    if($result["customer_sequence"] != '0')
    {
        $company = $result2["company"];
    }
    elseif($result["reseller_sequence"] != '0')
    {
        $company = '<strong>Reseller: </strong>'.$result3["company"];
    }

    $total = $result["total"];

    $date = date("d/j/Y",strtotime($result['datetime']));

    echo '<tr class="notfirst" style="cursor:pointer;" onclick="document.location=\'editinvoice.php?seq='.$result["sequence"].'&inv='.$result["invoice_number"].'\'">
                <td width="20"><input type="checkbox" name="check'.$counter.'" id="check'.$counter.'" onclick=\'add('.$total.', this);\' /></td>
                <td width="150">'.$result["invoice_number"].'</td>
                <td width="250">'.$company.'</td>
                <td width="100">'.$date.'</td>
                <td width="100">&pound;'.$result["total"].'</td>
                <td width="100">&pound;'.$result["total"].'</td>
            </tr>';
}
?>
<tr>
    <td colspan="6">&nbsp;</td>
</tr>
<tr>
    <td colspan="6">&nbsp;</td>
</tr>
</table>

<div class="div-bottom">
<table width="100%" border="0" cellspacing="0" cellpadding="10">
<tr>
    <td>&nbsp;</td>
    <td><strong>Total: </strong><input type="text" name="thetotal" value="0" /></td>
    <td><strong>VAT:</strong> </td>
  </tr>
</table>
</div>
</form>

任何想法最好的方法围绕这个?

1 个答案:

答案 0 :(得分:1)

看一下jQuery .click和.dblclick事件处理程序。

  1. http://api.jquery.com/dblclick/
  2. http://api.jquery.com/click/
  3. 如果您没有任何jquery知识,try.jquery.com