从 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 获取数据并以另一种形式使用的主要内容,如果未能解决你的问题,请参考以下文章
使用 PHP 从 MySQL 数据库中获取数据,以表格形式显示以进行编辑
单击列表框时,如何在文本框中以另一种形式从ms access 2010中的列表框中移动所选项目