2

此 php 代码创建一个表格,该表格的每一行都有一个“书”按钮。

我想从单击“book”到另一个表单(在“restricted.php”中)的行中获取“phase”和“site”的值来预订站点。(目前所有行都通过点击书提交)

<?php 
    $phase=$_GET["q"];
    $sql ="select id, phase,size, facing, sply, status from plot where status='avail' and phase='$phase'";
    $ret=mysql_query($sql, $connect);

    echo "<form action='restricted.php' method='get'>";

    echo"<div style='overflow-y:scroll;height:200px;float:left;' ><table border=1 >
    <tr>
    <td>select </td><td>phase</td> <td>site no.</td> <td>plot-size</td> <td>face</td> <td>sply</td> <td>status</td>
    </tr>" ;
    while($row = mysql_fetch_array($ret, MYSQL_ASSOC))
    {

        echo "<tr>".
            "<td><input type='submit' name='book' value='book' onClick=\"whichForm('send_to_one');\" /></td>".
            "<td><input type='text' value=\"{$row['phase']}\" name='phase' size='3' readonly />  </td>".
             "<td><input type='text' value=\"{$row['id']}\" name='site' size='4' readonly /></td>".
             "<td> {$row['size']} </td>".
             "<td> {$row['facing']} </td>".
             "<td>{$row['sply']} </td> ".
             "<td>{$row['status']} </td> ".
             "</tr>";   

    } 
    echo "</table></div>";

    mysql_close($connect);

    ?>
4

2 回答 2

2

您必须在 while 循环中移动表单标签并在循环中关闭它,以便您可以为不同的行设置不同的表单,并且在提交按钮上它只会提交相关的表单。

于 2013-09-20T09:36:10.270 回答
1

单击按钮时执行 whichForm() 函数。在该函数中,您可以添加变量阶段和站点。

像这样的东西:

echo "<td><input type='submit' name='book' value='book' onClick=\"whichForm('send_to_one', '{$row['phase']}', '{$row['site']}');\" /></td>";

/edit:将您的代码更改为这样的内容。这不是可读性最漂亮的解决方案,但它应该可以工作。

<?php 
    $phase=$_GET["q"];
    $sql ="select id, phase,size, facing, sply, status from plot where status='avail' and phase='$phase'";
    $ret=mysql_query($sql, $connect);

    echo"<div style='overflow-y:scroll;height:200px;float:left;' ><table border=1 >
    <tr>
    <td>select </td><td>phase</td> <td>site no.</td> <td>plot-size</td> <td>face</td> <td>sply</td> <td>status</td>
    </tr>" ;
    while($row = mysql_fetch_array($ret, MYSQL_ASSOC))
    {

        echo "<tr>".
            "<form action='restricted.php' method='post'>".
            "<td><input type='submit' name='book' value='book' onClick=\"whichForm('send_to_one');\" /></td>".
            "<td><input type='text' value=\"{$row['phase']}\" name='phase' size='3' readonly />  </td>".
             "<td><input type='text' value=\"{$row['id']}\" name='site' size='4' readonly /></td>".
             "<td> {$row['size']} </td>".
             "<td> {$row['facing']} </td>".
             "<td>{$row['sply']} </td> ".
             "<td>{$row['status']} </td> ".
             "<input type='hidden' name='phase' value='{$row['phase']}'>".
             "<input type='hidden' name='site' value='{$row['site']}'>".
             "</form>".
             "</tr>";   

    } 
    echo "</table></div>";

    mysql_close($connect);

    ?>

在您的restricted.php 中,您可以通过以下方式访问这些值:

$_POST['site'];
$_POST['phase'];
于 2013-09-20T09:33:55.370 回答