2014-06-15 5 views
0

이 코드가 있습니다. 그리고 배열에서 데이터를 인쇄해야합니다. 문제는 내가 2 열, 하나의 이름과 두 번째를 가진 테이블을 설계했습니다. 그리고 난 두 열에있는 값을 인쇄하는 방법을 모르겠습니다.테이블의 배열을 두 열로 인쇄하십시오.

class Tabel{ 
     private $tabel = array(); 
     public function getElemente(){ 
      $conn = mysql_connect('localhost','root','');/
      $db_selected = mysql_select_db('world',$conn); 
      $result = mysql_query("SELECT c.Continent, COUNT(c.Name) FROM country c 
            GROUP BY c.Continent  
            Order By COUNT(c.Name) desc"); 
      while($row = mysql_fetch_array($result)){ 
       //echo $row['Continent'] . " " . $row['COUNT(c.Name)']."<br>"; 
       $this->tabel[]=$row['Continent']. " " . $row['COUNT(c.Name)']; 

      } 


     } 
     public function afisare(){ 
     print_r($this->tabel); 
      echo"<table border=1 cellpading=0 cellspacing=0 >"; 
      echo"<th>Continent</th>"; 
      echo"<th>Tari</th>"; 
      foreach($this->tabel as $value){ 
       echo"<tr>"; 
       echo"<td>".$value."</td>"; 
       echo"</tr>"; 
      } 


     } 

나는 매트릭스와 연관 배열에 대해 생각했다. 나는 약간의 아이디어를 시도했다. 그러나 어떤 운도. 구문이 나를 죽이고있다.

답변

0

나는 몇 가지를 변경하려고합니다 :

  • 귀하의 변수 $ 테이블은 다차원 배열이 될 수 있습니다.
  • 이 다차원 배열을 작동 시키려면 sql-statement를 확인해야합니다.
  • foreach-function을 약간 변경해야합니다.

SQL 문을 사용하여 시작해 보겠습니다. 대륙뿐만 아니라 continent-id도 선택하십시오.

이 continentId를 $ table 변수의 키로 사용하십시오. 귀하의 코드는 다음과 같습니다

$result = mysql_query("SELECT c.ContinentId, c.Continent, COUNT(c.Name) as count FROM country c 
         GROUP BY c.Continent  
         Order By COUNT(c.Name) desc"); 
while($row = mysql_fetch_array($result)){ 
    $this->tabel[$row['ContinentId']]['continent'] = $row['Continent']; 
    $this->tabel[$row['ContinentId']]['count'] = $row['count']; 
} 

참고 : 당신의 열 "COUNT (c.Name)"내가 별칭 ("수")를 제공합니다. 이 당신을 위해 일을해야

echo"<table border=1 cellpading=0 cellspacing=0 >"; 
echo"<th>Continent</th>"; 
echo"<th>Tari</th>"; 
foreach($this->tabel as $key=>$value){ 
    echo"<tr>"; 
    echo"<td>".$value['continent']."</td>"; 
    echo"<td>".$value['count']."</td>"; 
    echo"</tr>"; 
} 

: 당신의 $ 테이블 변수에서 새로운 정보와

당신은 foreach 문을 편집 할 수있는 가능성이있다.

그 외 : 만약 내가 당신의 수업에서 벗어난 데이터를 반향하는 것을 방지 할 수있는 방법이 있다면 나는 바라 볼 수 있습니다.

+0

그다지 좋지 않습니다. 정의되지 않은 인덱스에 관한 이상한 오류가 발생합니다. 나는 이것을했다 : private $ tabel = array (array()); 그리고 ... 나는 이것을 얻는다 : 알림 : 정의되지 않은 인덱스 : 대륙의 ... and otice : 정의되지 않은 인덱스 : count in ... at afisare() –

+0

이 오류를 게시 할 수 있습니까? – Chris

+0

Here : http://postimg.org/image/w1sn56wd1/ –

관련 문제