2009-10-26 1 views
0

누군가이 코드를 객체 형식에서 절차 형식으로 변환하는 데 도움이되기를 바랍니다.PHP 코드를 객체에서 프로 시저로 변환하는 방법에 대한 도움이 필요하십니까?

그래서이 스 니펫이 출현 한 모든 객체 형태의 코드를 변환하려고 할 때 무엇을해야하는지에 대한 감각을 가질 수 있습니다.

저는 아주 새로운 초보자입니다.

$sql = "SELECT id, label, link_url, parent_id FROM dyn_menu ORDER BY parent_id, id ASC"; 
$items = mysql_query($sql); 
while ($obj = mysql_fetch_object($items)) { 
    if ($obj->parent_id == 0) { 
     $parent_menu[$obj->id]['label'] = $obj->label; 
     $parent_menu[$obj->id]['link'] = $obj->link_url; 
    } else { 
     $sub_menu[$obj->id]['parent'] = $obj->parent_id; 
     $sub_menu[$obj->id]['label'] = $obj->label; 
     $sub_menu[$obj->id]['link'] = $obj->link_url; 
     $parent_menu[$obj->parent_id]['count']++; 
    } 
} 
mysql_free_result($items); 

이 코드에 문제가 있습니까?

$mysqli = new mysqli("localhost", "root", "", "sitename"); 
$dbc = mysqli_query($mysqli,"SELECT id, label, link_url, parent_id FROM dyn_menu ORDER BY parent_id, id ASC"); 

if (!$dbc) { 
    // There was an error...do something about it here... 
    print mysqli_error(); 
} 

while ($obj = mysql_fetch_assoc($dbc)) { 
    if ($obj->parent_id == 0) { 
     $parent_menu $obj['id']['label'] = $obj['label']; 
     $parent_menu $obj['id']['link'] = $obj['link_url']; 
    } else { 
     $sub_menu $obj['id']['parent'] = $obj['parent_id']; 
     $sub_menu $obj['id']['label'] = $obj['label']; 
     $sub_menu $obj['id']['link'] = $obj['link_url']; 
     $parent_menu $obj['parent_id']['count']++; 
    } 
} 
mysql_free_result($dbc); 
+1

이렇게하기 만하면 안됩니다. – ceejayoz

+1

당신이 가지고있는 것은 깨끗한 접근법입니다, 왜 그것을 바꾸시겠습니까? –

+0

왜 그렇게 도움이되지 않을까요? – stack

답변

3

나는 당신이 성취하려는 것을 전혀 모른다. mysql_fetch_object 대신에 다른 것을 사용하고 싶습니까? mysql_fetch_assocmysql_fetch_array은 크게 유사합니다. $obj->id 대신 $obj['id']으로 작성하십시오.

mysql_result (한 번에 한 열씩, 열 번호별로 데이터를 가져 오는 것)을 사용하면 훨씬 느릴 것입니다. 나는 그것을 사용하는 좋은 이유를 정말로 생각할 수 없다.

업데이트는 : mysqli 객체 스타일, mysqli 절차 적 스타일과 '오래된'MySQL의 확장 (mysql_로 * 기능) :
두 번째 코드는 MySQL을 접속하는 방법에는 세 가지의 혼합을 사용합니다. 그것은 작동하지 않을 것입니다.

여기에 약간의 예의 바른 예가 있습니다. PHP Manual page. 그들은 객체 지향과 "절차 적"스타일을 모두 보여줍니다.

관련 문제