2016-03-28 1 views
-1

これは簡単な質問の1つです。テーブルのすべての行と列を印刷できません

私はこのテーブルを持っている:

Table Image

バイロ=近所/プレコ=価格

これは価格参照テーブルです。

私は近所と価格の表を印刷しようとしているが、私は好きなことが起こっていない

ProblematicTable

あなたたちが見ることができるように、各値は3に印刷されています回!

コードはこれです:

function getInfo() 
    { 
     $this->sql = "SELECT * FROM deliverypricestable"; 

     $this->query = $this->mysqli->query($this->sql); 

     while($this->result = $this->query->fetch_assoc()) 
     { 
     foreach ($this->result as $key) 
     { 
      echo "<tr><td>".$this->result["bairro"]."</td>";//neighborhood 
      echo "<td>".$this->result["preco"]."</td></tr>";//price 
     } 
    } 

私は、この問題はおそらくdeliverypricestable上の列の数と関連しているけど、私はただ、コードに学んだ、とlilのは、失われた、私を助けてください!

+0

あなたは2回ループしています。 – noahnu

+0

私はこれを見ました:http://stackoverflow.com/questions/2970936/how-to-echo-out-table-rows-from-the-db-phpそれは2回のループがありますが、その印刷は3回 –

+0

私の答えを見てください。投稿したリンクでは、個々のセルの値が印刷されているため、コードはキーをループしています。あなたのコードでは、各繰り返しごとに行全体を印刷しています。 '$ this-> result ['...']'の代わりに '$ key'を出力すると、私は何を意味するのか分かります。 – noahnu

答えて

-1

2回繰り返す必要はありません。新しい行がある間、whileループが実行されます。この新しい行は$this->resultに格納されます。

function getInfo() 
{ 
    $this->sql = "SELECT * FROM deliverypricestable"; 
    $this->query = $this->mysqli->query($this->sql); 

    while($this->result = $this->query->fetch_assoc()) { 
     echo "<tr><td>".$this->result["bairro"]."</td>";//neighborhood 
     echo "<td>".$this->result["preco"]."</td></tr>";//price 
    } 
} 

何あなたのコードが行に属するすべての行をループされ、その後、行ごとに、あなたはすべてのキー(列)をループしているやっています。 3つの列があるので、各行に対して値を3回印刷します。

+0

ありがとうございました!!!そのような論理問題。私はもっ​​と勉強しなければならない! –

関連する問題