将单行转换为阵列&将它回显到各自的文本框中

时间:2016-04-25 17:51:59

标签: php

我正在进行搜索功能,用户需要输入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? 
    }
}

任何帮助将不胜感激。谢谢。

1 个答案:

答案 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'];