从mysql获取数据并以另一种形式使用它

时间:2013-09-20 09:24:47

标签: javascript php html mysql forms

这个php代码创建了一个表格,每个行都有一个“book”按钮。

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

<?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);

    ?>

2 个答案:

答案 0 :(得分:2)

您必须在while循环中移动表单标记并在循环中将其关闭,以便您可以为不同的行和提交按钮使用不同的表单,它将仅提交相关表单。

答案 1 :(得分: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'];