2010-12-14 4 views
1

PHP 함수를 작성하는 데 어려움이 있습니다. 내가해야 할 일은 배열에 약 10 - 12 ID를 전달한 다음 mysql 데이터베이스에서 이름별로 정렬 한 다음 몇 가지 문구를 출력하는 것입니다. 나는 멀리 수동으로 ID 번호를 추가하고 필요한 정보를 인쇄하지만이 시점에서 그 ID 번호를 사용하기 전에 데이터를 정렬해야합니다.방법? 함수의 PHP 및 MySQL sortdata

여기까지 제가 한 것입니다.

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

실제로 나는 당신이 원하는 것을 얻지 못했다.? 더 설명해주세요. – Chandresh

+0

다음 필드가있는 테이블이 있습니다. 1) ID 2) 이름 3) Image_location 4) 정보. 배열에서 ID 값을 전달하고 이름순으로 정렬하고 그에 대한 정보를 출력하는 것입니다. – Chirag

+0

얇은 함수의 디자인이 끔찍하다는 점에 다행입니다. 모든 규칙에 대해 –

답변

1

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

첫 번째와

당신은 같은 쿼리를 작성해야합니다 (살균)

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

그들은 모두 정수인지 확인하기 (지금은 선택 사항이지만 내에서 계속) 이

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

$result = mysql_query($q); 

그런 다음 각 r 엎드려서 ..

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

그가이 대답을 받아 들일 지 궁금합니다. –

+0

이것은 더 비슷합니다. 감사. – Chirag