Php将用户数组推送到用户数组并循环遍历用户和用户数据(属性)

时间:2017-01-08 23:00:33

标签: php mysql arrays loops foreach

我有一堆用户进入数据库表(名为" users"),每个用户的属性都存储在表的列中:id,username,first_name,last_name等等。

当用户登录时,将从数据库中检索她/他的数据并显示在HTML表格中;为此我创建了函数(在functions.php文件中):

function user_data() {
  $users = array();
  $func_num_args = func_num_args();
  $func_get_args = func_get_args();
  if ($func_num_args > 1) {
    unset($func_get_args[0]);
    $fields = '`' . implode( '`, `', $func_get_args) . '`';
  }
  $query = "SELECT $fields FROM users";
  $result = query($query);
  $col = mysqli_fetch_assoc($result);   
  array_push($users, $col);

  print_r($users);
  return $users;
}

然后在用户页面上:

$user_data = $user_data[0];
echo "<span>Welcome, " . $user_data['first_name'] . " " .    $user_data['last_name'] . "!</span>";

数据库中有2个用户,但$ users数组只包含一个用户,因为print_r($ users)显示:

Array
(
[0] =&gt; Array
    (
        [username] =&gt; ajax
        [first_name] =&gt; Razvan
        [last_name] =&gt; Zamfir
        [email] =&gt; razvan.zamfir80@gmail.com
        [telefon] =&gt; 0743127315
        [oras] =&gt; Bucuresti
        [adresa] =&gt; Strada Alexandru Ipsilanti nr. 6, bloc 29E, sc. B, et. 3, ap. 83.
    )
);

我需要遍历所有用户并通过每个用户的属性来显示显示用户&的常规表 #39;每行名字姓氏编辑按钮

我做错了什么?

1 个答案:

答案 0 :(得分:2)

迭代查询指定的字段的,然后使用 fetch_assoc

获取每个
<form action="dateselection.php" method="POST" id="datePost">
    <p>Date: <input type="text" id="datepicker" name="dp"></p>
    <p>Date2: <input type="text" id="datepicker2" name="dp2"></p>
    <input type="submit" value="Submit">
</form>
<script>
    $("#datepicker").datepicker({ dateFormat: "yy-mm-dd" });
    $("#datepicker2").datepicker({ dateFormat: "yy-mm-dd" });
</script>

然后迭代从 function user_data() { $users = array(); $func_num_args = func_num_args(); $func_get_args = func_get_args(); if ($func_num_args > 1) { unset($func_get_args[0]); $fields = '`' . implode( '`, `', $func_get_args) . '`'; } //$result = query($query); $conn = new mysqli("yourhost","username","pass", "dbname"); $query = "SELECT $fields FROM users"; $result=$conn->query($query); if ($result->num_rows > 0) { while ($row =$result->fetch_assoc()) { array_push($users,$row); } /* free result set */ mysqli_free_result($result); } print_r($users); return $users; } 方法返回的数组以提取值。

user_data()