2017-08-03 15 views
-1

ユーザ名に基づいてテーブルからすべてを選択する方法を質問しますか?つまり、ユーザー1が自分のデータを挿入してlocalhostに送信すると、ステータスページに自分のデータのみが表示されます。以下は私のステータスページのPHPです。ユーザ名に基づいてテーブルからすべてを選択する方法

<?php 
require_once('dbConnect.php'); 


//Creating sql query 
$sql = "SELECT * FROM Table"; 

//getting result 
$r = mysqli_query($con,$sql); 

//creating a blank array 
$result = array(); 

//looping through all the records fetched 
while($row = mysqli_fetch_array($r)){ 

//Pushing name and id in the blank array created 
array_push($result,array(
"id"=>$row['id'], 
"username"=>$row['username'], 
"name"=>$row['name'] 

)); 
} 

//Displaying the array in json format 
echo json_encode(array('result'=>$result)); 

mysqli_close($con); 

?> 
+0

は、クエリの 'WHERE'句を使用してください。クエリもパラメータ化する必要があります。 – chris85

+0

個々のユーザーはどのようにステータスページを移動しますか?どのユーザがステータスページに来るのかを検出するためのパラメータを設定する必要がありますか?パラメータを設定したら 'where'句 –

+0

を使います。挿入ページにはビューステータスボタンがあり、それをクリックすると挿入されたデータが表示されますが、別のユーザによって挿入されたすべてのデータが表示されます。 –

答えて

0
"SELECT * FROM Table WHERE username = 'john'" 

これは、あなたが上記のそれを持っているとして、あなたのテーブルは実際には「テーブル」という名前で想定しています。それ以外の場合は、実際のテーブル名で置き換えます。

お持ちの場合はユーザー名の変数は、次の操作を行います。

"SELECT * FROM Table WHERE username = '" . $username . "'"; 
+0

$ usernameはこの行の前に宣言したい "SELECT * FROMテーブルWHERE username = '"。 $ username。 "'"; –

+0

はい、その前に$ usernameを宣言する必要があります。 – Difster

+0

$ username = $ _POST ['username'];これを宣言しますか? –

0

はあなたのようなクエリでWHERE句を使用することができます。

"SELECT * FROM Table WHERE username = 'lun L'" 

しかし、これはユーザー名でデータを取得するのには適していません。 IDのユーザーを選択する必要があり、IDは一意である必要があります。同じ名前を持つユーザーが非常に多いためです。

"SELECT * FROM Table WHERE youUniqueColName = '$uniqueVal'" 

一意の列がidが、その後id='$id'

+0

$ uniqueValの入力があると仮定すると、最初の儀式を宣言する必要がありますか? –

+0

はい、クエリ文字列を設定する方が良いです。 –

+0

何を意味する、ごめんなさい私はSQLクエリについてはあまり明確ではない –

0
SELECT * FROM tablename WHERE username = 'username' 

あなたの変数で固定SQLクエリをしたい場合は、これを使用するか、または使用を使用している場合。

SELECT * FROM tablename WHERE username = '$username' 

あなたが特定のユーザ名を表示するためのユーザ名を要求する入力を持っている場合...

関連する問題