Не могу получить все значения из таблицы MySQL - PullRequest
1 голос
/ 06 февраля 2010

У меня есть эта таблица:

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'

Как я могу получить и отобразить каждое найденное значение с свойством 店_id = 22?

Я пробовал это:

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

Но как мне также отобразить «Ручной», «Черный» и т. Д.?

Спасибо

Ответы [ 5 ]

3 голосов
/ 06 февраля 2010

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

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

Источник: здесь

0 голосов
/ 06 февраля 2010

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

// 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);


Ура, приятель!

0 голосов
/ 06 февраля 2010

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

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];

Ура! * * 1004

0 голосов
/ 06 февраля 2010
 $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 голосов
/ 06 февраля 2010
$res=mysql_query("SELECT * FROM option_values WHERE classified_id=22");
while(FALSE != ($row = mysql_fetch_row($res)) {
    echo $row[3];
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...