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

Posted

技术标签:

【中文标题】从 mysql 获取数据并以另一种形式使用【英文标题】:fetch data from mysql and use it in another form 【发布时间】:2013-09-25 15:10:20 【问题描述】:

这个 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);

    ?>

【问题讨论】:

创建一个类并在您想要数据的页面顶部访问该类的功能!!!基本的php,mysql..您面临的问题是什么? 无需带onclick功能 OPUS,我无法访问单击“book”行的“phase”和“site”的值,一旦单击任何行的“book”,“phase”和“所有行中的 site" 值都在 "get" 中传递 【参考方案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);

    ?>

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

$_POST['site'];
$_POST['phase'];

【讨论】:

Ivo Geersen ,我如何访问这个阶段和站点值以另一种形式。 我不完全理解你的问题,但是你想在点击书时转到另一个表单?这可以通过多种方式完成 如果您想使用现有函数 (whichForm()),则必须使用 javascript 打开该表单,然后可以在 URL 中传递变量。更好的是为每一行创建一个表单,将阶段和站点放置在每一行的隐藏字段中,然后从您的 restricted.php 中的 $_POST 获取它们(顺便说一句,然后选择表单方法=post)【参考方案2】:

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

【讨论】:

以上是关于从 mysql 获取数据并以另一种形式使用的主要内容,如果未能解决你的问题,请参考以下文章

如何以另一种方法从列表中获取一个结果?

以另一种形式运行 C# 函数

使用 PHP 从 MySQL 数据库中获取数据,以表格形式显示以进行编辑

单击列表框时,如何在文本框中以另一种形式从ms access 2010中的列表框中移动所选项目

如何从 firebase 获取特定文档数据并以字符串形式返回

如何以另一种形式使用标签中的 user_id