2010-02-06 6 views
1

J'ai ce tableau:Impossible d'obtenir toutes les valeurs de la table mysql

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

exemple:

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

Comment puis-je récupérer et faire écho à chaque valeur trouvée avec le classified_id = 22?

J'ai essayé:

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

Mais comment puis-je afficher aussi le 'Manuel', 'Black' etc?

Merci

Répondre

3

utiliser, vous devez obtenir un tableau de lignes ... ils comme vous le faites vous donne une seule valeur de ligne dans un tableau.

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

Source: here

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

Pourquoi appelez-vous mysql_fetch_rows deux fois? – Gabe

+0

pâte de mauvaise copie, je vais modifier – 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

Faites-vous une faveur et mettre en œuvre une fonction d'aide comme ceci:

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

Cheers!

0

Vous pouvez écrire un code "plus orienté objet" comme :)

 
// 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!

Questions connexes