2017-01-13 40 views
0

在靴子中形成列我想動態顯示3個引導柱中的內容。動態使用php

<div class="col-xs-12 col-sm-6 col-md-6 col-lg-4"> 
<content> 
</div> <---- Problem (should be placed at the very end of the column, 
but the same code should also fill 2nd and 3rd columns) 

雖然我把查詢提取到mysql。我也希望對象按從左到右的降序排序(id = 51,id = 50,id = 42(對象標題中的最後一位是id)) 我能夠做到這一點,使用row_number和row_number%3 = 0 row_number%3 = 1和row_number%3 = 2來顯示3列,但我必須做3查詢到數據庫連同3塊HTML(這是壞的)。

SELECT * 
FROM (
    SELECT 
    @row_number:[email protected]_number + 1 AS rownum, id,title, description, ...etc 
    FROM (
     SELECT @row_number:=0) r, flats ORDER BY id DESC) ranked WHERE rownum%3=1 ORDER BY id DESC 

但是,當我開始實現過濾器,它引起的問題與顯示對象,因爲不是每列有我想要顯示的對象,但我不得不爲每列自己的查詢。 Problems with filters

我想要什麼:動態地形成3個獨立的列與內容使用一個MYSQL查詢。 等待你的幫助! 1 3列的 例子:

<div class="col-xs-12 col-sm-6 col-md-6 col-lg-4"> 
<?php 
    $zapros = $DB_con->prepare('SELECT * 
FROM (
    SELECT 
    @row_number:[email protected]_number + 1 AS rownum, id,title, description,type, area,address, square, name, phone, email, price, avito, farpost 
    FROM (
     SELECT @row_number:=0) r, flats ORDER BY id DESC) ranked WHERE rownum%3=1 ORDER BY id DESC'); 
    $zapros->execute(); 
    $rowsone=$zapros->rowCount(); 
if($zapros->rowCount() > 0) 
    {$tmpCount = 1; 

    $count=$zapros->rowCount(); 
    while($data=$zapros->fetch(PDO::FETCH_ASSOC)) 
    { 
     extract($data); 


     $number=$data['id']; 
               $imagestm=$DB_con->prepare('SELECT file FROM flats_images WHERE post_id=:uid LIMIT 1'); 
               $imagestm->bindParam(':uid',$number); 
               $imagestm->execute(); 
               $imgrow=$imagestm->fetch(PDO::FETCH_ASSOC); 
               extract($imgrow);?> 

<div class="well-lg well-smallborders"> 
<a href="flat.php?flat_id=<?php echo $data['id']; ?>"> 
<img src="/mysql/uploads/<?php echo $imgrow['file']; ?>" class="img-responsive title-image center-block" /></a> 
<div class="flat-price center-block"><?php echo $data['price']; ?><span class="glyphicon glyphicon-rub" aria-hidden="true"></span> </div> 
<div class="flat-title"><?php echo $data['title'];?> <?php echo $data['id']; ?></div> 
<div class="dimmed-text left"><?php echo $data['type']; ?> </div> 
<div class="dimmed-text right"><div class="tooltip_my"><span class="glyphicon glyphicon-map-marker" aria-hidden="true"></span><?php echo $data['area'];?> <span class="tooltiptext"><?php echo $data['address']; ?></span></div></div> 
<br> 
<div class="dimmed-text left"><div class="tooltip_my"> <span class="glyphicon glyphicon-phone" aria-hidden="true"></span><?php echo $data['phone'];?><span class="tooltiptext"><?php echo $data['name'];?></span></div></div> 
<div class="dimmed-text right"> <?php echo $data['square'];?></div> 
<table class="flats-table"> 
<tr> 
<td colspan="3"> 
    <button id="collapsar" class="btn btn-info pull-left" data-toggle="collapse" data-target="#hide-me<?php echo $tmpCount;?>"><span class="glyphicon glyphicon-plus" aria-hidden="true"></span> <span class="btntext">Показать миниатюры</span></button> 
    <a href="flat.php?flat_id=<?php echo $data['id']; ?>" class="btn btn-info pull-left" ><span class="glyphicon glyphicon-eye-open"></span> <span class="btntext">Подробнее ...</span></a> 
    </td> 
    </tr> 
    <tr> 
    <td colspan="3"> 
<div id="hide-me<?php echo $tmpCount;?>" class="collapse"> 
<? 
$imagestm2=$DB_con->prepare('SELECT file FROM flats_images WHERE post_id=:uid'); 
               $imagestm2->bindParam(':uid',$number); 
               $imagestm2->execute(); 


for ($i = 1; $i <= $imagestm2->rowCount(); $i++) { 
    $imgrow2=$imagestm2->fetch(PDO::FETCH_ASSOC); 
               extract($imgrow2); ?> 

<div class="col-xs-6 col-sm-6 col-md-4 col-lg-4"> 
<div class="thumbnail"> <img src="mysql\uploads\<?php echo $imgrow2['file']; ?>" data-toggle="modal" data-target="#myModal" class="img-responsive"/></div> 
</div> 
    <? 

} ?> 
</div> 
    </td> 
    </tr> 
</table> 
</div><? 
$tmpCount++; 
     }}  
    ?> 
    </div> 

實際結果,我想:Actual result

+0

我認爲你徹底的過分複雜。如果您只是從您的表中獲取原始數據,那麼查詢和結果將如何?忽略'row_number'的東西 – Tom

+0

正常的查詢看起來像這樣:SELECT id,title,description,type,area,name,phone,email,price FROM flats ORDER BY id DESC所有字段都是varchar字段exept價格是整數。 – Sonit

+0

您能否在我們的問題中提供一個HTML完成後的外觀示例? – Tom

回答

0

我覺得你只是想迭代您的結果,產生輸出的3列,然後還要應用濾鏡,也許通過Javascript,它隱藏了你的一些元素。我知道要做到這一點,最簡單的方法如下:

<div class="row"> 
    <div class="col-xs-12 col-sm-6 col-md-6 col-lg-4"></div> 
    <div class="col-xs-12 col-sm-6 col-md-6 col-lg-4"></div> 
    <div class="col-xs-12 col-sm-6 col-md-6 col-lg-4"></div> 
    <div class="col-xs-12 col-sm-6 col-md-6 col-lg-4"></div> 
    <div class="col-xs-12 col-sm-6 col-md-6 col-lg-4"></div> 
    <div class="col-xs-12 col-sm-6 col-md-6 col-lg-4"></div> 
    ... 
    <!-- Bootstrap can manage with only 1 .row --> 
</div> 
+0

我試過這種解決方案,但我有按鈕,顯示一些縮略圖(左下角按鈕)在這種情況下,所有內容都移動到右側,但我希望它向下移動。這就是爲什麼我想要3列。 http://puu.sh/tkQ1z/966fe71963.jpg – Sonit

0

我不認爲這是可以做到的,我想做的事,而不是我發現顯示的內容更簡單的方法:只要團結在3列並將所有數據放在那裏。你打開擾流板時有問題,但我想我會處理它。感謝您的答覆。