0

试图根据复选框输入用数据回显多行时卡住了。在当前代码中,它只处理来自一个复选框的数据,无论勾选了多少个复选框。请帮忙!

while ($row = mysql_fetch_assoc($r)) {
    $pals .= '<input type="checkbox" name="pal_num[]" value="'
        . $row['pal_num'] . '">' . $row['pal_num'] . '<br>';
}

if ($pal == '') {
    echo '';
} else {
    echo '<form name="get_pal" action="post2.php" method="POST">';
    echo $pals;
    echo '<input type="submit" name="post" value="Go!">';
    echo '</form>';
}

post2.php:

$w = $_POST['pal_num'];
$rrr = mysql_query("SELECT * FROM pl_tab WHERE pal_num" . $w[0]);

while ($row = mysql_fetch_array($rrr)) {
    echo '<tr><td>' . '&nbsp' . '</td>';
    echo '<td rowspan="5">' . $row['descr'] . '</td>';
    echo '<td><b>' . 'Total weight' . '<b></td>';
    echo '<td>' . '&nbsp' . '</td><td>' . '&nbsp' . '</td></tr>';

    echo '<td>' . '&nbsp' . '</td>';
    echo '<td colspan="3">' . '&nbsp' . '</td>';

    //this part should multiple based on how many checkboxes are ticked.
    echo '<tr><td>' . $row['l_num'] . '</td>';
    echo '<td>' . $row['pal_num'] . '</td>';
    echo '<td>' . $row['weight 1'] . '</td><td>' . $row['weight 2'] . '</td></tr>';
}
echo "</table>";
}
4

1 回答 1

1

可能这会起作用:

$w = "'".implode("','",$_POST['pal_num'])."'";
$rrr = mysql_query("SELECT * FROM pl_tab WHERE pal_num in (".$w.");");

...并且您可能在:)echo "<table>";之前忘记了while

于 2013-09-01T04:13:32.187 回答