2017-01-12 13 views
1

下のコードに基づいて検索を行うと、私の結果はすべて垂直方向にスクロールダウンします...等、表示する方法はありますか? 3つのボックスの場合は水平方向に、次に再び開始します。 CSSを使ってスタイリングするだけで、テーブルを再利用するのではありません。ありがとうございますPHP、PDO - クエリ結果 - 垂直から水平へ

$stmt = $conn->prepare("SELECT * FROM whisky_results WHERE name LIKE :name ORDER BY name ASC"); // Use = instead of LIKE for full matching 
$stmt->bindParam(':name', $search); 
$stmt->execute(); 
$count = $stmt->rowCount(); // Added to count no. of results returned 

if ($count >= 1) { // Only displays results if $count is 1 or more 

while ($row = $stmt->fetch(PDO::FETCH_ASSOC)) { 

    echo "<br>"; 
    echo "<div class=\"results\">"; 
     echo "<div class=\"result_name\">"; 
      echo "<b>Whisky Name:</b><br>"; 
      echo $row['name']; 
     echo "</div>"; 

     //echo "<div class= \"result_description\">"; 
      //echo "Whisky Description: "; 
      //echo $row['description']; 
     //echo "</div>"; 

     echo "<div class= \"result_highprice\">"; 
      echo "Highest Price Paid: £"; 
      echo $row['highest_price']; 
     echo "</div>"; 

     echo "<div class= \"result_lowprice\">"; 
      echo "Lowest Price Paid: £"; 
      echo $row['lowest_price']; 
     echo "</div>"; 

    echo "<div class= \"average_price\">"; 
      echo "Average Price Paid: £"; 
      echo $row['average_price']; 
     echo "</div>"; 

    echo "<div class= \"last_price\">"; 
      echo "Last Price Paid: £"; 
      echo $row['last_price']; 
     echo "</div>"; 


    echo "<div class= \"last_date\">"; 
      echo "Last date sold: "; 
      echo $row['last_date']; 
     echo "</div>"; 
    echo "</div>"; 
    echo "<br>"; 

} 

} else { 
     echo " Sorry no records were found"; 
} 
+0

正直言って私はこれ以上はありません。誰かが初心者の言葉でそれを説明することを願っています。 – Jason

答えて

0

私はあなたのコンテンツをどのように分けたいのか分かりませんが、これはさまざまな方法で行うことができます。 flexboxを利用する1つのオプションがあります。

.container{ 
 
    display:flex; 
 
    width: 330px; 
 
    justify-content: space-around; 
 
    flex-wrap: wrap; 
 
    flex-direction: row; 
 
} 
 

 
.pod{ 
 
    width:30%; 
 
    height:90px; 
 
    background: red; 
 
    margin: 0 0 10px 0; 
 
}
<div class="container"> 
 
    <div class="pod"> 
 
    
 
    </div> 
 
    <div class="pod"> 
 
    
 
    </div> 
 
    <div class="pod"> 
 
    
 
    </div> 
 
    <div class="pod"> 
 
    
 
    </div> 
 
    <div class="pod"> 
 
    
 
    </div> 
 
    <div class="pod"> 
 
    
 
    </div> 
 
    <div class="pod"> 
 
    
 
    </div> 
 
    <div class="pod"> 
 
    
 
    </div> 
 
    <div class="pod"> 
 
    
 
    </div> 
 
</div>

ので、例えば:

$rows = $stmt->fetchAll(PDO::FETCH_ASSOC) 

foreach(array_chunk($rows, 3) as $chunks){ 
    //<div> 
    foreach($chunks as $chunk){ 
     //print the 3 divs 
    } 
    //</div> 
} 
+0

これは実際の結果とは関係ないと思います。私が選択したすべての結果を1つのコードスニペットで表示するためにphpコーディングしていて、コードをどのように表示するのかわかりません。私はそれが自動的に垂直リストとして結果を表示すると思います。私は結果のボックスの外観をスタイルすることができますが、明らかにすべての結果のための一般的なボックスです。次の行に行く前に、3行または4行に並べて表示する方法を確かめないでください。しかし、私はその返答を感謝し、私があなたの返答で何かを見逃しているかどうかを教えてください。 – Jason

+0

あなたは私の例を理解していませんでした。私は私の答えを編集してあなたを助けようとしています。 –

+0

ありがとうSerg、これはまだ混乱しています。応答を感謝します。 – Jason

0

まず、チャンクを使用してビューを構築し、その後、すべてのレコードを取得する必要があります質問を投稿し、本当に複雑な答えを得ました。私はこのウェブサイトからもっと多くを期待していただろう。私は自分自身でそれを理解したので、あなたはすべて "自分自身をシャックにする"べきです。次回は、人々は少しシンプルにしようとし、物事を複雑にしようとしません。

float:left and width ~= 25% 
+0

Thans人。私はまだPHPのPDOなどに新しいので、これはすべて私を本当にバッフルです。私はちょっと混乱して正直であるためにもっと読書をする必要があると思う。私の結果を得るために標準的な部分を学ぶのに十分な時間がかかりました。 HTMLとCSS私はうまくいっています。 – Jason

+0

あなたは、懸念の分離を持っている必要があります、クエリのループとビューを混在させないでください – meda

0

ので、私は:

echo "<div class=\"container\">"; 

while ($row = $stmt->fetch(PDO::FETCH_ASSOC)) { 

    echo "<div class=\"pod results\">"; 
     echo "<div class=\"result_name\">"; 
      echo "<b>Whisky Name:</b><br>"; 
      echo $row['name']; 
     echo "</div>"; 

     //echo "<div class= \"result_description\">"; 
      //echo "Whisky Description: "; 
      //echo $row['description']; 
     //echo "</div>"; 

     echo "<div class= \"result_highprice\">"; 
      echo "Highest Price Paid: £"; 
      echo $row['highest_price']; 
     echo "</div>"; 

     echo "<div class= \"result_lowprice\">"; 
      echo "Lowest Price Paid: £"; 
      echo $row['lowest_price']; 
     echo "</div>"; 

    echo "<div class= \"pod average_price\">"; 
      echo "Average Price Paid: £"; 
      echo $row['average_price']; 
     echo "</div>"; 

    echo "<div class= \"pod last_price\">"; 
      echo "Last Price Paid: £"; 
      echo $row['last_price']; 
      echo "Last date sold: "; 
      echo $row['last_date']; 
     echo "</div>"; 

    echo "</div>"; 

} 

} else { 
     echo " Sorry no records were found"; 
} 

echo "</div>"; 
関連する問題