2013-07-13 4 views
0

У меня есть HTML таблицы, в которой я использую, чтобы показать свою продукцию, и у меня есть следующий код:PHP показать следующие результаты в новых строках в HTML таблице

<?php 
$result = mysqli_query($con,"SELECT * FROM products"); 

while($row = mysqli_fetch_array($result)) 
    { 
    echo '<td> 
<!--START OF PRODUCT-->  
     <div> 
     <h3>'.$row['productname'] . '</h3><img src="'.$row['thumb']. '" width="100%"> 

       <div> 
      <div class="panel"> 
        <h5>From £' . $row['price']. '</h5> 
        <div class="row"> 
        <div class="large-12 columns"> 
        <p>'. $row['shortdesc']. '</p> 

        <div class="row"> 
        <div class="large-12 columns"> 
        </div> 
        <form name="sign" action="http://www.shapeways.com/cart/addMultiple" method="GET" class="custom"> 
     <input type="hidden" name="model_id[]" value="'. $row['id']. '"> 
<label for="customDropdown1">Material/Colour</label> 
     <select name="material_id[]" id="customDropdown1" class="medium">'.$row['materials']. '</select> 
     <div class="row"> 
        <div class="large-6 columns"> 
        <a href="#'. $row['id']. '" class="button secondary">Information</a> 
        </div> 
     <div class="row"> 
        <div class="large-6 columns"> 
     <input type="submit" class="button" name="submit" id="add_to_cart" alt="add to cart" value="Buy Now"> 

     </form> 

       </div> 
      </div> 
     </div> 
</div>   
</div> 
</div> 
</div> 
</div> 
</div> 
    </td> 
'; 

    } 



mysqli_close($con); 
?> 

Я хочу, чтобы это показать 3 строку из и затем, когда он выбирает следующие 3 для того, чтобы быть на следующей строке в таблице html. и для этого нужно повторить.

Надеюсь, это ясно, и некоторая помощь будет отличной.

Благодаря Райан

код первого ответа:

<table width="100%" border="0" cellspacing="0" cellpadding="0"> 


     <?php 
$result = mysqli_query($con,"SELECT * FROM products"); 



     echo "<tr>"; 
$start = 0; 
while($row = mysqli_fetch_array($result)){ 

    $cell = '<td> 
<!--START OF PRODUCT-->  
     <div> 
     <h3>'.$row['productname'] . '</h3><img src="'.$row['thumb']. '" width="100%"> 

       <div> 
      <div class="panel"> 
        <h5>From £' . $row['price']. '</h5> 
        <div class="row"> 
        <div class="large-12 columns"> 
        <p>'. $row['shortdesc']. '</p> 

        <div class="row"> 
        <div class="large-12 columns"> 
        </div> 
        <form name="sign" action="http://www.shapeways.com/cart/addMultiple" method="GET" class="custom"> 
     <input type="hidden" name="model_id[]" value="'. $row['id']. '"> 
<label for="customDropdown1">Material/Colour</label> 
     <select name="material_id[]" id="customDropdown1" class="medium">'.$row['materials']. '</select> 
     <div class="row"> 
        <div class="large-6 columns"> 
        <a href="#'. $row['id']. '" class="button secondary">Information</a> 
        </div> 
     <div class="row"> 
        <div class="large-6 columns"> 
     <input type="submit" class="button" name="submit" id="add_to_cart" alt="add to cart" value="Buy Now"> 

     </form> 

       </div> 
      </div> 
     </div> 
</div>   
</div> 
</div> 
</div> 
</div> 
</div> 
    </td>'; 

    if($counter%3 == 0 && $start == 1){ 
     echo "</tr><tr>", $cell; 
    } 
    else{ 
     echo $cell; 
    } 
    $started = 1; 
    $counter++; 
} 
echo "</tr>"; 





mysqli_close($con); 
?> 

</table> 
+0

Итак, вы спрашиваете, как обернуть ваш 'td' '' tr' для вашего стола? – hungerstar

+0

Нет, я хочу, чтобы он обернул td s тегом tr после использования 3 td s –

+0

Вот что я спросил. Я полагал, что подразумевалось, что мы обернем 3 'td' s. – hungerstar

ответ

0

Следующий код должен получить, что вы хотите (если я правильно понимаю) ... Просто замените содержимое $cell с код, который у вас есть в вашем echo

$counter = 1; 

echo "<tr>"; 
$started = 0; 
while($row = mysqli_fetch_array($yourArray)){ 

    $cell = "Put the code you were echoing above in here"; 

    if($counter%3 == 0 && $started == 1){ 
     echo $cell, "</tr><tr>"; 
    } 
    else{ 
     echo $cell; 
    } 
    $started = 1; 
    $counter++; 
} 
echo "</tr>"; 
+0

Привет, я пробовал это, и это не сработало. Мне также пришлось изменить «» в ячейке $ на «», чтобы Dreamweaver переставал говорить мне, что это было неправильно. Я добавил свой код к моему вопросу, на случай, если бы я сделал ошибку. –

+0

В коде вы положили 'if ($ counter% 3 == 0 && $ start == 1) {' not 'if ($ counter% 3 == 0 && $ началось == 1) {'. Я виноват, я его отредактировал! – Steven

+0

Вам также нужно изменить декларацию '$ start = 0' на' $ start = 0' – Steven

Смежные вопросы