2011-08-18 5 views
1

누군가가 도울 수 있기를 바랍니다.배열 배열을 반복하는 방법

나는 그저 단순한 것으로서 나는 어떤 이유로 든 운동 할 수 없다고 확신한다.

기본적으로 모든 데이터베이스 기능 (연결, 선택, 삽입, 업데이트)을 처리하는 클래스가 있습니다.

select 함수에서 배열을 반환합니다.

public function getAll($table, $cols, $where, $limit, $order) { 
    // Set the query variables 
    if($cols == '') { 
     $cols = '*'; 
    } 
    if($where!='') { 
     $where = ' WHERE '.$where; 
    } 
    if($limit!= '') { 
     $limit = ' LIMIT '.$limit; 
    } 
    if($order!='') { 
     $order = ' ORDER BY '.$order; 
    } 

    // Make the query string 
    $sql = 'SELECT '.$cols.' FROM '.$table.$where.$order.$limit; 

    //echo $sql; 

    // Set the query 
    $news_qry = mysql_query($sql); 

    // Set the array 
    $rows = array(); 

    // Run a loop through the results 
    while($item = mysql_fetch_object($news_qry)) 
    { 
     // Add each row to an array. 
     $rows[] = $item; 
    } 
    return $rows;  
} 

이 기능은 배열을 인쇄 할 수 있도록 작동합니다. 난 단지 데이터베이스에서 결과의 첫 글자를 얻을 각 루프의 내

$arr_GalleryInfo = $dataObj->getAll('tbl_Gallery', '', '', '', ''); 

(아래 참조) -

Array ([Gallery_id] => 1 [Gallery_Name] => Test [Gallery_FolderName] => Test Folder) 

을하지만 객체를 사용하는 갈 때 : 아래를 참조하십시오.

<?php 
     foreach ($arr_GalleryInfo[0] as $arrGallery) 
     { 
    ?> 
      <tr> 
       <td> 
        <?php echo $arrGallery['Gallery_Name']; ?>   
       </td> 

       <td> 
        <?php echo $arrGallery; ?> 
       </td> 

       <td> 
        <?php echo $arrGallery; ?>  
       </td> 
      </tr> 
    <?php 
     } 
    ?> 

도움이 될 것입니다.

감사합니다.

답변

9

바꾸기 :

foreach ($arr_GalleryInfo[0] as $arrGallery) 
{ 
    etc... 

로 :

foreach ($arr_GalleryInfo as $arrGallery)   
{ 
    etc...
1

글쎄, 당신의 큰 문제는이 배열의 0 인덱스를 반복하려는 것입니다. 실제로 일부 합법적 iteraction를 얻을 수 있도록합니다,하지만 당신은 칠에 대한 것 개는 몇 가지 다른 일이있는 것

foreach ($arr_GalleryInfo[0] as $arrGallery) // get rid of the `[0]`. 

.

// this will output `Array`. You want $artGallery['Gallery_FolderName'] 
// or $artGallery['Gallery_id'] 
echo $arrGallery; 

물론, 당신은 중첩 루프와 그 전체 두 번째 문제를 피할 수 : $news_qry = mysql_query($sql); 실패

foreach ($arr_GalleryInfo as $arrGallery) { 
    echo '<tr>'; 
    foreach($arrGallery as $val) echo "<td>$val</td>"; 
    echo '</tr>'; 
} 

경우에, 당신은 뭔가 나누기 경우 경고 아무 상관이없는 것입니다. 그것을 만들어야합니다 : $news_qry = mysql_query($sql) or die(mysql_error());

그리고 물론, 당신은 모든 db 입력에 mysql_real_escape_string을 사용해야합니다.

+0

도움 주셔서 감사합니다. 나는 그것을 시도하지 않았다는 것을 믿을 수 없다. –

관련 문제