2013-05-18 3 views
0

아래 루프에서 원하는 출력을 얻을 때 문제가 발생합니다. 내 원하는 출력은 다음과 같은 배열입니다.SQL 루프 출력 문제

Array 
    (
     [0] => Array 
      (
       [0] => 10013 
       [1] => 8 
       [2] => 2 
       [3] => 6 
       [4] => Array 
        (
         [0] => Array 
          (
           [0] => Jerk Chicken 
           [1] => Drink 
           [2] => 8 
           [3] => 2 
           [4] => 6 
          ) 

        ) 

      ) 

     [1] => Array 
      (
       [0] => 10107 
       [1] => 28 
       [2] => 28 
       [3] => 0 
       [4] => Array 
        (
         [0] => Array 
          (
           [0] => Konig Pilsener 
           [1] => Tobacco 
           [2] => 3.5 
           [3] => 3.5 
           [4] => 0 
          ) 

        ) 

      ) 

     [2] => Array 
      (
       [0] => 10259 
       [1] => 18 
       [2] => 18 
       [3] => 0 
       [4] => Array 
        (
         [0] => Array 
          (
           [0] => Trailer Grog 
           [1] => Tobacco 
           [2] => 7 
           [3] => 7 
           [4] => 0 
          ) 

        ) 

      ) 

     [3] => Array 
      (
       [0] => 10375 
       [1] => 8 
       [2] => 2 
       [3] => 6 
       [4] => Array 
        (
         [0] => Array 
          (
           [0] => Steak Sandwhich 
           [1] => Drink 
           [2] => 8 
           [3] => 2 
           [4] => 6 
          ) 

        ) 

      ) 

    ) 

유일한 문제는 나에게 내가 얻고 그 위의 사람들을 더 많은 값을하지 표시해야한다.

나는이 표시되어야합니다 : 어떤 도움 http://awesomescreenshot.com/0321af5cc4

감사합니다. 나는 당신에게 다음과 같이 많은 변종을 시도했지만 아무 소용이 없다고 확신합니다.

// all passing through correctly 
global $actual; 
global $potentialarray; 
global $compsarray; 
global $CheckName; 
} 

unset($temparray); 
unset($temparray2); 

$i=0; 
foreach ($CheckName as $value) { 
$v=0; 

$query8 = "SELECT * FROM Comps_Item_Name WHERE DOB="."'". $from_date."'"." AND CheckID=" . $value ." ORDER BY CheckID AND ITMNAME"; 
$result8 = mysql_query($query8) or die(mysql_error()); 
//$var= mysql_num_rows($result8); 

    $row1[] = mysql_fetch_array($result8,MYSQL_ASSOC); 


    //print_r($row1); 
    //echo'<br>'; 
foreach ($row1 as $itemvalue){ 

    //Item Name 
    $itemname = $itemvalue['ITMNAME']; 
    $catname = $itemvalue['CatName']; 
    $saleprice = $itemvalue['SalePrice']; 
    $discount1 = $itemvalue['Discount']; 
    //Actual retail value of check 
    $actual1= $itemvalue['SalePrice'] - $itemvalue['Discount']; 

    $temparray[$i][$v] = array($itemname, $catname, $saleprice, $discount1, $actual1); 
    $v++; 

} 
echo '<pre>'; 
     print_r($temparray[$i]); 
     echo '</pre>'; 


$temparray2[$i] = array($CheckName[$i], $potentialarray[$i], $compsarray[$i], $actual[$i], $temparray[$i]); 
$i++; 
unset($row1); 
} 

// $DesiredOutput = array($CheckName, $potential[$i], $comps[$i], $actual[$i], array($itemname[$i][$v], $catnam[$i][$v], $saleprice[$i][$v], $discount1[$i][$v], $actual1[$i][$v])); 
unset($itemname); 
unset($catname); 
unset($saleprice); 
unset($discount1); 
unset($actual1); 

     echo '<pre>'; 
     print_r($temparray2); 
     echo '</pre>'; 

어떤 생각 ?? 건배.

+0

참고 :'unset' 인수의 변수 금액을 받아들입니다. 당신은 그것을 과용하고 있습니다. – Aleph

+0

당신의 질문은 이것과 거의 비슷합니다. http://stackoverflow.com/questions/12771708/create-nested-list-from-multidimensional-array – danihp

+0

$ i 선언이 루프? –

답변

0

문제는 $row1[] = mysql_fetch_array($result8,MYSQL_ASSOC);은 첫 번째 행을 제공합니다. 시도 :

$row1 = array(); 
while($row = mysql_fetch_array($result8,MYSQL_ASSOC)) {$row1[]=$row;} 

은 참조 :

<? 
error_reporting(E_ALL); 
ini_set('error_reporting','on'); 
$CheckName=array('test1','test2'); 

for($i=0; $i<count($CheckName); $i++) 
{ 


/*$query8 = "SELECT * FROM Comps_Item_Name WHERE DOB="."'". $from_date."'"." AND CheckID=" . $value ." ORDER BY CheckID AND ITMNAME"; 
$result8 = mysql_query($query8) or die(mysql_error()); 
//$var= mysql_num_rows($result8); 

    $row1[] = mysql_fetch_array($result8,MYSQL_ASSOC);*/ 

$row1 = array(); 
$row1[] = array('ITMNAME'=>'cola','CatName'=>'drink'); 
$row1[] = array('ITMNAME'=>'beer','CatName'=>'drink'); 
$v=0; 
foreach ($row1 as $itemvalue){ 

    //Item Name 
    $itemname = $itemvalue['ITMNAME']; 
    $catname = $itemvalue['CatName']; 


    $temparray[$i][$v] = array($itemname, $catname); 
    $v++; 

} 
$temparray2[$i] = array($CheckName[$i], $temparray[$i]); 

} 


echo '<pre>'; 
print_r($temparray2); 
echo '</pre>'; 
+0

Bass = Genius ! 정말 고마워요. – howler