不确定这是多么可行,但我刚刚推出了我自己的用户搜索表单,它只是查询我的数据库并使用LIKE'some_username%'语句以任何给定的用户名或类似方式返回所有结果。
我的搜索效果非常好,而且我真的很喜欢自己,因为我是一名php和mysql新手。
我使用了mysql_fetch_assoc($ result)语句,然后使用while循环将数据库中的每一行回显到一个html表中。
我希望能够做的是从表中选择一条记录,然后打开一个新页面,其中填充了该记录的所有字段,然后我可以使用它来编辑和更新用户设置。
我想也许有一种方法可以做到这一点,也许是回应一个形式呢?这样我可以在每一行旁边有一个按钮,将字段发布到我的新页面上的某些PHP代码中?我觉得这可能有点笨拙,并且不确定我会如何回应每一行的不同形式。
不要知道是否有人对最佳方法有任何想法?如果你需要任何我正在使用的代码示例,我可以在这里发布。
非常感谢!! 编
答案 0 :(得分:0)
不是表格而是超链接 我想知道为什么你不熟悉这种打开新页面的方式,因为它随处可见。
只需创建一个超链接
<a href="edit.php?id=1">name</a>
这是一个这样的应用程序的草图示例,只编辑一个字段,但您也可以添加任何数字:
主脚本:
<?
mysql_connect();
mysql_select_db("new");
$table = "test";
if($_SERVER['REQUEST_METHOD']=='POST') { //form handler part:
$name = mysql_real_escape_string($_POST['name']);
if ($id = intval($_POST['id'])) {
$query="UPDATE $table SET name='$name' WHERE id=$id";
} else {
$query="INSERT INTO $table SET name='$name'";
}
mysql_query($query) or trigger_error(mysql_error()." in ".$query);
header("Location: http://".$_SERVER['HTTP_HOST'].$_SERVER['PHP_SELF']);
exit;
}
if (!isset($_GET['id'])) { //listing part:
$LIST=array();
$query="SELECT * FROM $table";
$res=mysql_query($query);
while($row=mysql_fetch_assoc($res)) $LIST[]=$row;
include 'list.php';
} else { // form displaying part:
if ($id=intval($_GET['id'])) {
$query="SELECT * FROM $table WHERE id=$id";
$res=mysql_query($query);
$row=mysql_fetch_assoc($res);
foreach ($row as $k => $v) $row[$k]=htmlspecialchars($v);
} else {
$row['name']='';
$row['id']=0;
}
include 'form.php';
}
?>
和两个负责输出的简单模板,
一个用于显示表单,form.php
<? include TPL_TOP ?>
<form method="POST">
<input type="text" name="name" value="<?=$row['name']?>"><br>
<input type="hidden" name="id" value="<?=$row['id']?>">
<input type="submit"><br>
<a href="?">Return to the list</a>
</form>
<? include TPL_BOTTOM ?>
和一个显示列表list.php
<? include TPL_TOP ?>
<a href="?id=0">Add item</a>
<? foreach ($LIST as $row): ?>
<li><a href="?id=<?=$row['id']?>"><?=$row['name']?></a>
<? endforeach ?>
<? include TPL_BOTTOM ?>
答案 1 :(得分:0)
总是像这样启动php&lt;?php,通常php手动配置不支持这样的短标签&lt;? 对于超链接只需使用视图记录 这只是查询字符串,并在下一页上获取id $ id = $ _GET ['id']; 希望你能理解..