2017-01-08 1 views
2

Iは、(「ユーザ」という名前の)データベーステーブルにテーブルの列に格納された特性を有する各ユーザーのユーザーの束を持っている:ID、ユーザ名を、first_name、last_nameなどです。PHPのプッシュユーザアレイ(プロパティ)

ユーザーがログインすると、そのユーザーのデータがデータベースから取得され、HTMLテーブルに表示されます。

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; 
} 

し、ユーザーのページ:(のfunctions.phpファイル内)関数を作っている私、この目的のために

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

2人のユーザーがデータベースまだ$ユーザーの配列であり、しますprint_rとして一つだけのユーザー、($ユーザー)が含ま示しています

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

が、私は、各ユーザーのすべてのユーザーを通って、をループする必要があります特性ユーザのファーストネームと、各行にEditボタンを表示一般的なテーブルを表示します。

私は間違っていますか?

答えて

2

は、その後、配列に値を抽出するuser_data()メソッドから返された反復FETCH_ASSOC

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; 
} 

でそれらのそれぞれをフェッチ行クエリで指定したフィールドのを反復しています。

var $usr = user_data();  
foreach ($usr as $arr){ 
foreach ($arr as $key => $value){ 
    echo $key ." ".$value; 
} 
    } 
+0

Iは、上記のコードを実装し、それがエラーを与える: 警告:mysqli_query()はヌル与えられ、パラメータ1はmysqliのことを期待。 –

+0

こんにちは、しかし、私はあなたを助けようとしていた唯一の人ですが、あなたは本当に私をdownvoteする必要がありました.. :)。 * $ conn = new mysqli( "yourhost"、 "username"、 "pass"、 "dbname")のような* mysqli_query()*の最初の引数は '$ your_connection_var'です。 ; '、この' $ conn'を渡します。とにかく、私はそれを単純化するために私の答えを編集しました。 –

+0

私は上記の答えが正しいと思う、あなたはDBからデータをフェッチしながらユーザーの配列に格納するループを実行する必要があります。それ以外の場合は、サンプルコードを参照してください: 'while($ row = mysql_fetch_assoc($ result)){ $ my_arary [] = $ row; print_r($ row); } ' –

関連する問題