2013-08-07 2 views
0

Мне нужно обновить SQL для фильтрации по номеру учетной записи, которую я хочу запросить: этот код отображает учетную запись, которая соответствует значению & memid = 3. Я думаю, что давая $ memid a значение ограничит мою фильтрацию. Как я могу сделать sql, где я укажу номер учетной записи, тогда отобразит корреспондентскую учетную запись.SQL для фильтрации по номеру учетной записи

$memid = 3; // example 
$sql = "SELECT member.*, account.* FROM member, account WHERE member.mem_id = 
account.mem_id AND member.mem_id = '".$memid."' "; 

здесь весь код:

<?php 
$dbhost = 'localhost'; 
$dbuser = 'root'; 
$dbpass = 'password'; 
$conn = mysql_connect($dbhost, $dbuser, $dbpass); 
if(! $conn) 
{ 
die('Could not connect: ' . mysql_error()); 
} 
$memid = 3; // example 
$sql = "SELECT member.*, account.* FROM member, account WHERE member.mem_id = 
account.mem_id AND member.mem_id = '".$memid."' "; 

mysql_select_db('databaseName'); 
$retval = mysql_query($sql, $conn); 
if(! $retval) 
{ 
die('Could not get data: ' . mysql_error()); 
} 
while($row = mysql_fetch_array($retval, MYSQL_ASSOC)) 
{ 
echo "Account Number:{$row['Account_Number']} <br> ". 
    "First Name: {$row['fname']} <br> ". 
    "Last Name: {$row['lname']} <br> ". 
    "Address: {$row['address']} <br> ". 
    "Contact: {$row['contact']} <br> ". 
    "Share Capital: {$row['Share_Capital']} <br> ". 
    "Regular Savings: {$row['Regular_Savings']} <br> ". 
    "Power Savings: {$row['Power_Savings']} <br> ". 
    "--------------------------------<br>"; 
} 
echo "Fetched data successfully\n"; 
mysql_close($conn); 
?> 
+2

mysql_ * устарел. Посмотрите на mysqli или pdo ... – Aquillo

+1

'WHERE Account_Number = your_acc_num'? –

+0

Вы можете вставить структуру таблиц элементов и учетных записей? кажется, вам нужно присоединиться к столбцу accountid. –

ответ

0

Прежде всего, если вам нужно получить только определенные поля, не используйте *. Если элементы таблицы и таблица учетных записей имеют поле с тем же именем, используйте выражение AS. Кроме того, лучше соединить таблицы с помощью JOIN SQL Примера:

SELECT a.mem_id AS memberid,a.Account_Number AS accnum, %etc.% FROM member AS a 
INNER JOIN account AS b ON a.mem_id = b.mem_id 
WHERE a.mem_id = '%id%'; 

В результате mysql_fetch_array вы получите $ грести переменный массив с уникальными ключами, которые вы установили в AS заявления:

Array ("memberid"=>"%id%","accnum"=>"%Account_Number from DB%", %etc.%) 

PS: Английский не мой родной язык, спасибо за понимание и не стесняйтесь исправлять меня, когда это необходимо.

+0

спасибо, но это не сработало. – Mhinne