2010-02-06 1 views
1

У меня есть эта таблица:не удается получить все значения из таблицы тузда

option_values table: 
option_id (FK) 
value_id (PK) 
classified_id (FK) 
value 

пример:

option_id (FK)  value_id (PK)  classified_id (FK)  value 
     1     1     22    'Petrol' 
     2     2     22    'Manual' 
     3     3     22    'Black' 

Как я могу получить и эхо каждого найденное значения с classified_id = 22?

Я попытался это:

$res=mysql_query("SELECT * FROM option_values WHERE classified_id=22"); 
    $row = mysql_fetch_row($res); 
    echo $row[3]; // This displays 'Petrol' 

Но как я могу также отобразить 'Manual', 'Черный' и т.д.?

Благодаря

ответ

3

Используйте это, вам нужно получить массив строк ... они, как вы делаете это дает вам значение одной строке в массиве.

while ($row = mysql_fetch_array($result, MYSQL_NUM)) { 
    printf("ID: %s Value: %s", $row[0], $row[3]); 
} 

Источник: here

0
$res=mysql_query("SELECT * FROM option_values WHERE classified_id=22"); 
while(FALSE != ($row = mysql_fetch_row($res)) { 
    echo $row[3]; 
} 
+0

Почему вы вызываете mysql_fetch_rows дважды? – Gabe

+0

Плохая копия, я отредактирую – XKpe

0
$res=mysql_query("SELECT * FROM option_values WHERE classified_id=22"); 
    while($row = mysql_fetch_array($res)) 
    { 
    echo $row[1]; 
    echo $row[2]; 
    echo $row[3]; 
    } 
0

Сделайте себе одолжение и реализовать вспомогательную функцию следующим образом:

function fetch_multi_rows($query) 
{ 
    $rows = array(); 

    while ($row = mysql_fetch_array($result)) 
     $rows[] = $row; 

    return $rows; 
} 

// Use it like this 
$my_rows = fetch_multi_rows(...your query...); 
foreach ($my_rows as $row) 
    echo $row[3]; 

Ура!

0

Вы можете написать "более объектно-ориентированный" код как :)

 
// Execute the query 
$res = mysql_query("SELECT * FROM option_values WHERE classified_id=22"); 

// Check for empty result 
if (mysql_num_rows($result) == 0) { 
    echo "No results."; 
    exit; 
} 

// Fetch results as objects 
while ($row = mysql_fetch_object($result)) { 
    echo "Option Id: ".$row->option_id; 
    echo "Value: ".$row->value; 
} 

// Free results memory 
mysql_free_result($result); 


Приветствия Mate!