2010-12-14 5 views
1

Ich bin beim Schreiben einer PHP-Funktion fest. Was ich tun muss ist, geben Sie etwa 10 - 12 ID in ein Array und dann sortieren sie nach Namen in der MySQL-Datenbank und dann einige Anweisungen drucken. Ich bin so weit gekommen, wo ich manuell eine ID-Nummer hinzufüge, und es druckt die Informationen, die ich brauche, aber an dieser Stelle muss ich die Daten sortieren, bevor ich diese ID-Nummern benutze.Wie? PHP & MySQL sortdata in einer Funktion

Hier ist was ich bisher gemacht habe.

<?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

eigentlich habe ich dich nicht bekommen, was du genau willst.? Bitte erläutern Sie mehr. – Chandresh

+0

Ich habe eine Tabelle mit folgenden Feldern. 1) ID 2) Name 3) Image_location 4) Über. Was ich tun muss, ist ID-Werte in einem Array übergeben und sortieren sie nach Name und drucken Informationen über sie – Chirag

+0

Gut zu sagen, dass Thin-Funktion Design ist schrecklich. Gegen alle Regeln –

Antwort

1

mit

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

Erste (optional für jetzt, aber in meiner halten) stellen Sie sicher, sie sind alle integer (sanitize)

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

Sie benötigen eine Abfrage wie bauen diese

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

$result = mysql_query($q); 

Dann gehen Sie durch jede r ...

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

Ich frage mich, ob er diese Antwort akzeptieren wird –

+0

Dies ist mehr wie es. Vielen Dank. – Chirag

Verwandte Themen