请协助!我正在尝试构建一个可以执行多个功能的PHP脚本。我有2个mysql表(我不能发布图片,所以这里是描述):
PrimaryTable
ID first Last phone
1 Dan Powers 5559876578
2 Pete Williams 5559023245
SecondaryTable
ID user_id First Last phone
1 2 Pete Williams 5559023245
我需要一个PHP脚本,允许您从第一个(PrimaryTable)搜索手机#,从该表中获取所有数据,并在html表中回显它。我有这部分工作,请参阅下面的代码:
<?php
require 'Admin_connect.php';
$sql = 'SELECT * FROM PrimaryTable';
mysql_select_db('PrimaryTableDatabase');
$retval = mysql_query( $sql, $conn );
if(! $retval )
{
die('Could not get data: ' . mysql_error());
}
if (!empty($_REQUEST['searchphone'])) {
$searchphone = mysql_real_escape_string($_REQUEST['searchphone']);
$insert = mysql_real_escape_string($_REQUEST['insert']);
$sql = "SELECT * FROM PrimaryTable WHERE phone LIKE '%".$searchphone."%'";
$r_query = mysql_query($sql);
while ($row = mysql_fetch_array($r_query)){
$searchresults = '<tr>' . '<td headers="first_name">' .$row['first_name'] . '</td>' .
'<td headers="last_name">' .$row['last_name'] . '</td>' .
'<td id="phoneresult">' .$row['phone'] . '</td>' .
'<td headers="Birthday">' .$row['Birthday'] . '</td>' .
'<td headers="Gender">' .$row['Gender']. '</td>' .
'<td id="zip">' .$row['zip'] . '</td>' .
'<td>' . '<input type="submit" value="Scan" name="Scan" />' . '</form>' . '</td>' . '</tr>';
}
}
?>
---------HTML----------
<form action="" method="post">
Search: <input type="text" name="searchphone" /><br />
<input type="submit" value="Submit" />
</form>
<table width="200" border="1" cellspacing="1" cellpadding="1">
<tr>
<td>First Name:</td>
<td>Last Name:</td>
<td>Phone:</td>
<td>Birthday:</td>
<td>Gender:</td>
<td>Zip:</td>
</tr>
<?php echo $searchresults ?>
</table>
下一部分让我难过。我需要在表格中显示的每一行旁边都有一个“提交”按钮(如上面的php中所示)。当用户单击该提交按钮时,它会获取HTML表中显示的电话号码和用户名,从Mysql primaryTable(SELECT * FROM PrimaryTable WHERE phone=(variable) && Last = (variable)
)中选择所有信息,并将所有信息从PrimaryTable插入SecondaryTable 。
我想如果我能找到一种方法将表<td>
内容转换为变量,我可以使用它们来SELECT和INSERT。但我不知道如何解析HTML表格,我可以将手机#和名称转换为自己的变量。我已经查看了DomDocument,但似乎无法让它与我需要的东西一起工作。任何帮助将不胜感激。
答案 0 :(得分:1)
我认为如果您使用表中的ID会更容易(我假设ID列是主键。)如果您将表包装在表单(<form method="post"><table>...</table></form>
)中,那么您可以添加一个每行<button>
元素如下:
'<td><button name="id" value="' . $row['id'] . '">Submit</button></td>'
当您点击按钮时,它将提交带有相应ID的表单。然后,您可以从$_POST['id']
获取ID,确保其已正确转义,并让您的数据库为您获取姓名和电话号码。
INSERT INTO SecondaryTable
SELECT id AS user_id, first, last, phone
FROM PrimaryTable
WHERE id = $id