2016-12-06 4 views
1

Я должен сделать этот код возвратом тех же результатов, но только там, где userID является числом (ex 16); Каждое устройство имеет идентификатор пользователя и имя пользователя в этой таблице. Это код:PHP & MySQL, таблица Fetch

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

?> 

Если я добавить пункт WHERE 'userID' = A-Number он ничего не делает.

Если у вас есть идеи, я буду рад попробовать их.

спасибо.

+6

'mysql' extension =' bad idea' ... – Hackerman

+1

'WHERE 1 ORDER' why' 1' здесь? – Thamaraiselvam

+0

Вы действительно добавляете WHERE 'userID' с кавычками? Это означает, что вы сравниваете строку с идентификатором, а не значением столбца. Запрос должен быть 'SELECT * FROM devicesissued di LEFT JOIN usercred uc ON di.userID = uc.userID WHERE uc.userId = 16 ORDER BY timeStamp DESC' – Finwe

ответ

1

Попробуйте изменить ваш запрос немного

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

Как есть идентификатор_пользователя в обоих соединяемых таблиц (deviceissued и usercred), вы должны сообщить MySQL на какую таблицу вы хотите выполнить WHERE -clause ,

+0

Спасибо большое, отлично работал: D –

+0

Добро пожаловать :) – Andreas