2016-12-15 23 views
-1

私は現在検索システムで作業していますが、2つの列名を持つすべての行を表示したいのですが、問題があります。私は数時間の間にこれを頭の中で働いてきましたが、私はそれを得ることができません。私が得る唯一の出力は最後の価格です。Whileループは1つの結果しか表示しません

<?php 
include_once("inc/head.php"); 
include_once("inc/db.php"); 
$leave = $_POST['departure']; 
$come = $_POST['destination']; 
$leavedate = $_POST['leavedate']; 
$comedate = $_POST['comedate']; 
$sql = "select * from flights where departure = '$leave' and destination ='$come'"; 
$result = $db->query($sql); 
$row = $result->fetchObject(); 
$price = $row->price; 
$mostflights = $row->departure; 
$mostcomings = $row->destination; 
?> 

<div> 
    <ul class="flights"> 
     <?php 
     while($row = $result->fetchObject()) 
     $price = $row->price; 
     $mostflights = $row->departure; 
     $mostcomings = $row->destination; 
     { ?> 

     <li> 
      <h3><?php echo $mostflights; ?></h3> 
      <h2><?php echo $mostcomings; ?></h2> 
      <h2><?php echo $price; ?></h2> 
     </li> 
     <?php 
     } 
    ?> 
    </ul> 
</div> 
+0

をこのブロックを削除 – Beginner

+0

select * from departures = departure = '$ leave'、destination = '$ come'、私がPostから取得した名前で変数を置き換えた場合、成功したクエリを取得する –

+0

なぜ 'fetchObject()'を2回使用していますか? –

答えて

1

あなたのDBMSに手動でクエリをしようとすると、結果は何ですか?10行目で

$row = $result->fetchObject(); 
$price = $row->price; 
$mostflights = $row->departure; 
$mostcomings = $row->destination; 
+0

それは同じ結果をもたらした、私はまだ最後の行の価格を見ることができます、私は価格変数を削除すると、私はmostflightsの値などを見ることができます。 –

+0

最初のオープンカール '{'をwhile whileループの直後に移動してください。このwhile($ row = $ result-> fetchObject()){' –

+0

のように、私は間違っていたことに気づきました。 –

関連する問題