Mysql tablodaki tüm değerleri alınamıyor

3 Cevap php

Ben bu tablo vardır:

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

Örnek:

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

Nasıl I = 22 classified_id ile bulunan her değerini almak ve yankı?

Ben denedim:

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

Ama nasıl da vb 'Black', 'Manual' görüntüleyebilir?

Teşekkürler

3 Cevap

Bunu kullanın, onlar şekilde size bir dizideki tek bir satırın değerini veriyor yapıyorsun ... satırlar dizisi almak gerekiyor.

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

Source: here

Kendinize bir iyilik yapın ve bu yüzden gibi bir yardımcı işlevi uygulamak:

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

Şerefe!

Sen :)
gibi kod bir "odaklı daha nesne" yazabilirsiniz

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


Cheers Mate!