2010-12-14 76 views
1

Je suis coincé dans l'écriture d'une fonction PHP. Ce que je dois faire est de passer environ 10 - 12 ID dans un tableau, puis les trier par nom dans la base de données mysql et ensuite imprimer quelques déclarations. Je suis arrivé là où j'ajoute manuellement un numéro d'identification et j'imprime les informations dont j'ai besoin, mais à ce stade, je dois trier les données avant d'utiliser ces numéros d'identification.Comment? PHP et MySQL sortdata dans une fonction

Voici ce que j'ai fait jusqu'à présent.

<?php 
function print_software_info($id) { 
    $appinfo = "SELECT * FROM `appinfo` WHERE `id` = ".intval($id); 
    $rt = mysql_query($appinfo) or die(mysql_error("Could not retrieve database information")); 
    echo $rt['name']; 
    echo $rt['image']; 
} 
?> 
<?php 
print_software_info(217); 
print_software_info(179); 
print_software_info(8); 
?> 
+0

En fait, je n'ai pas obtenu ce que vous voulez exactement. S'il vous plaît expliquer plus. – Chandresh

+0

J'ai une table avec les champs suivants. 1) ID 2) Nom 3) Image_location 4) À propos de. Ce que j'ai besoin de faire est de transmettre des valeurs d'ID dans un tableau et de les trier par nom et d'imprimer des informations à leur sujet – Chirag

+0

Heureux de dire que la conception de la fonction mince est terrible. Contre toutes les règles –

Répondre

1

avec

$ids = array(13, 14, 250, ...); 

Première (en option pour l'instant, mais gardez à moi) assurez-vous qu'ils sont tous entier (Désinfecter)

$ids = array_map('intval',$ids); 

Vous devez construire une requête comme ce

$q = "SELECT * FROM `appinfo` WHERE `id` IN (". implode(',',$ids) .") ORDER BY name"; 

$result = mysql_query($q); 

Ensuite, passez par chaque r ows ..

while ($row = mysql_fetch_object($result)) { 
    echo $row->name; 
    echo $row->image; 
} 
+0

Je me demande s'il va accepter cette réponse –

+0

Cela ressemble plus à ça. Merci. – Chirag