2017-01-27 20 views
0

これは本当に私を困惑させ、私は何をすべきかわかりません。2つのテーブルの値の一致は値と同じです

基本的に、ユーザー名がデータの表のユーザー名と一致する場合は、一部のデータを表示したいと考えています。あなたはコードを見ると分かります。

だからここに私は私のメインページに表示しようとする使用していたコードされています

<?php 
if($login_user == $feedbackuser) 
{ 
echo' 
<p>Hey</p> 
';      
} 
?> 

次に、ここでは私のコードは、SQLデータベースに接続し、各テーブルからの情報を呼び出そうとしています。表1に接続する

表2に接続する
<?php 
include('connection.php'); 
session_start(); 
$user=$_SESSION['user']; 
$ses_sql = mysqli_query($db,"SELECT user FROM feedback WHERE user='$user'"); 
$row=mysqli_fetch_array($ses_sql,MYSQLI_ASSOC); 
$feedbackuser=$row['user']; 
?> 

:だから基本的に私はテーブル2

からテーブルからその名が1試合のユーザーならば文を表示させたい

<?php 
include('connection.php'); 
session_start(); 
$user_check=$_SESSION['username']; 

$ses_sql = mysqli_query($db,"SELECT username FROM users WHERE username='$user_check' "); 



$row=mysqli_fetch_array($ses_sql,MYSQLI_ASSOC); 

$login_user=$row['username']; 
$admin=$row['admin']; 

if(!isset($user_check)) 
{ 
header("Location: index.php"); 
} 
?> 

さらにお手伝いできることがあれば、それは素晴らしいことです。私はより多くを説明する前に、あなたはスクリーンショットを見てみる場合:

https://gyazo.com/48bbdad68fa0e7f4e4ccd5969a37f614

だから、表2から表1試合ユーザからユーザ名が、テーブル2から「書き込み」がページ上に表示される場合。

+1

私はあなたがどんな種類の問題を説明していないと思います。 – isa424

+0

[sql-injection](https://en.wikipedia.org/wiki/SQL_injection)について読むことを検討する –

+0

両方のテーブルにユーザーあたり1行しかありませんか?そうであれば、次のように1つのクエリを書くことができます: 'SELECT u.username FROM users u INNER JOINフィードバックf ON u.username = f.user AND f.user = '$ user''。 特定の列に具体的にアクセスしたい場合は、 'SELECT u.username、f.col1、u.col2、..... 'のようにそれらを' SELECT'に含める必要があります。また、準備されたクエリに切り替えることを検討してください:http://php.net/manual/en/pdo.prepared-statements.phpおよびhttp://php.net/manual/en/pdo.prepared-statements.php –

答えて

0

あなたは例えば、任意のフィードバックがユーザーのために存在するかどうかを確認するためにleft joinで単一のクエリを使用することができます。:

SELECT u.username, f.user 
FROM users u LEFT JOIN feedback f ON u.username = f.user 
WHERE u.username=$user_check; 

この方法は、あなたがusernamefeedbackの両方を取得します。

  • feedbackの場合はnullですが、ユーザーは何もレコードがfeedbackテーブルに存在しないことを意味し、その後nullではありません。
  • の両方である場合nullユーザーが

存在しないことを意味し、私はuserマスター表であると仮定しています。そうでない場合は、左結合の順序を逆にしてfeedbackをマスター表として使用できます。

関連する問題