我正在进行搜索功能,用户需要输入ID号才能搜索到某人的信息。我确实在网上搜索了如何做到这一点,但是在传回数据时我遇到了困难。就我而言,我想将每个数据传输到各自的文本框中。例如:
fullname => fullname textbox
gender => gender textbox
那么如何将数组转换为单独的php变量并在文本框中回显呢?或者可能有更好的方法?以下是我到目前为止所做的工作:
function userRetrieve ($cardid) {
$cardid = mysql_real_escape_string($cardid);
$sql = mysql_query("SELECT * FROM `users` WHERE `card_id` = '$cardid'");
$res = mysql_query($sql) or trigger_error(mysql_error().$sql);
$row = mysql_fetch_assoc($res);
if ($row){
//What should I do here?
}
}
任何帮助将不胜感激。谢谢。
答案 0 :(得分:1)
由于您只查询一个用户
if ($row){
$user = new user($row['id'], $row['name'], $row['birthdate'], ...);//if you have a class user,which is adivsable
//if you do not just save the row or use it like
echo "User name = " . $row['name'];
}
当您查询多个用户时,您可以执行
$users = array();
while($row = mysql_fetch_assoc($sql)){//do not call mysql_query twice
$users[] = new user($row['id'], $row['name'], $row['birthdate'], ...); //if you have a class user,which is adivsable
//if you do not, just save the whole row
$users[] = $row;
}
如果您使用第二个选项,您可以像这样访问用户:
foreach($users as $user){
echo $user['name'];
}
值[' 此处']应与数据库中的列名匹配。
从函数中获取值
return $row;
您的功能应如下所示:
function userRetrieve ($cardid) {
$cardid = mysql_real_escape_string($cardid);
$sql = mysql_query("SELECT * FROM `users` WHERE `card_id` = '$cardid'") or trigger_error(mysql_error().$sql);
$row = mysql_fetch_assoc($sql);
if ($row){
return $row;
}
return false;
}
现在您可以这样调用您的函数:
$current_user = userRetrieve(14); //id example, should be a variable
echo $current_user['name'];