2016-12-06 3 views
1

私はこのコードを同じ結果を返すようにしなければなりませんが、userIDが数字の場合のみ(例16)です。 すべてのデバイスには、この表にユーザーIDとユーザー名があります。私はそれが何もしないWHERE 'userID' = A-Number句を追加した場合PHPとMySQLのフェッチテーブル

<?php 

$myQuery= 'SELECT * FROM devicesissued di LEFT JOIN usercred uc ON di.userID = uc.userID WHERE 1 ORDER BY timeStamp DESC'; 
$result = mysql_query($myQuery) or die($myQuery."<br/><br/>".mysql_error()); 
while($row = mysql_fetch_array($result)) 
{ 
    $catQuery = 'SELECT * FROM deviceinventory WHERE deviceID = '. $row['deviceID']; 
    $catResult = mysql_query($catQuery) or die($catQuery."<br/><br/>".mysql_error()); 
    $cat = mysql_fetch_array($catResult); 
    echo "<tr>"; 
    echo "<td>" . $row['displayName'] . "</td>"; 
    echo "<td>" . $row['deviceID'] . "</td>"; 
    echo "<td>" . $cat['barCodeID'] . "</td>"; 
    echo "<td>" . $cat['category'] . "</td>"; 
    echo "<td>" . $row['deviceName'] . "</td>"; 
    echo "<td>" . $cat['operatingSystem'] . "</td>"; 
    echo "<td>" . $cat['serialNumber'] . "</td>"; 
    echo "<td>" . $cat['macAddress'] . "</td>"; 
    echo "<td>" . $row['timeStamp'] . "</td>"; 
    echo "</tr>"; 
} 

?> 

: これはコードです。

あなたは何かアイデアがあれば、私はそれらを試してうれしく思います。

ありがとうございます。

+6

「mysql」拡張子=「悪いアイデア」... – Hackerman

+1

「WHERE 1 ORDER」なぜ「1」ですか? – Thamaraiselvam

+0

実際に引用符付きの 'userID'を追加していますか?これは、列の値ではなく、文字列とIDを比較していることを意味します。クエリは 'SELECT * FROM devicesissued di LEFT JOIN usercred uc ON di.userID = uc.userID WHERE uc.userId = 16 ORDER BY timeStamp DESC' – Finwe

答えて

1

あなたは両方でユーザーIDを持っていたように少しに

$myQuery= 'SELECT * FROM devicesissued di 
      LEFT JOIN usercred uc ON di.userID = uc.userID 
      WHERE di.userID=the_number_here ORDER BY timeStamp DESC'; 

をあなたのクエリを変更しよう(deviceissuedusercred)テーブルに入社し、あなたがWHERE -clauseを実行したいテーブルの上にMySQLを伝える必要があります。

+0

ありがとう、完璧に働いた:D –

+0

あなたは大歓迎です:) – Andreas