简体   繁体   English

PHP MySQL Echo计数

[英]PHP MySQL Echo count

I am trying to make buttons echo 5 per row, and for each row they are to be wrapped by an element. 我试图使按钮每行回显5,并且对于每一行,它们将被元素包裹。

The issue i have is when echoing, the echo is not happening how i thought it would. 我遇到的问题是回声,回声没有发生我的想法。

The desired result (every 5 span_1_of_5 ) wrapped by <div class="section group"></div> <div class="section group"></div>包装的所需结果 (每5个span_1_of_5

<div class="section group">   

    <div class="col span_1_of_5">
        <div class='button_epos_a button_epos_a-border'>
            <div class='button_epos_a_content'>
                Button
            </div>
        </div>
    </div>

    <div class="col span_1_of_5">
        <div class='button_epos_a button_epos_a-border'>
            <div class='button_epos_a_content'>
                Button
            </div>
        </div>
    </div>

    <div class="col span_1_of_5">
        <div class='button_epos_a button_epos_a-border'>
            <div class='button_epos_a_content'>
                Button
            </div>
        </div>
    </div>

    <div class="col span_1_of_5">
        <div class='button_epos_a button_epos_a-border'>
            <div class='button_epos_a_content'>
                Button
            </div>
        </div>
    </div>

    <div class="col span_1_of_5">
        <div class='button_epos_a button_epos_a-border'>
            <div class='button_epos_a_content'>
                Button
            </div>
        </div>
    </div>

</div>


<div class="section group">   

    <div class="col span_1_of_5">
        <div class='button_epos_a button_epos_a-border'>
            <div class='button_epos_a_content'>
                Button
            </div>
        </div>
    </div>

    <div class="col span_1_of_5">
        <div class='button_epos_a button_epos_a-border'>
            <div class='button_epos_a_content'>
                Button
            </div>
        </div>
    </div>

    <div class="col span_1_of_5">
        <div class='button_epos_a button_epos_a-border'>
            <div class='button_epos_a_content'>
                Button
            </div>
        </div>
    </div>

    <div class="col span_1_of_5">
        <div class='button_epos_a button_epos_a-border'>
            <div class='button_epos_a_content'>
                Button
            </div>
        </div>
    </div>

    <div class="col span_1_of_5">
        <div class='button_epos_a button_epos_a-border'>
            <div class='button_epos_a_content'>
                Button
            </div>
        </div>
    </div>

</div>

The PHP PHP

$itemCount = 0;     

    while ($row5x = mysql_fetch_array($result5x)) { 

    $item_id = $row5x[item_id]; 
    $item_title = $row5x[item_title];

       if ($itemCount==0 || $itemCount%5===0) { echo "<div class='section group'>"; }     
    ?>

    <div class="col span_1_of_5">
        <div class='button_epos_a button_epos_a-border'>
            <div class='button_epos_a_content'>
                <? echo $item_title; ?>
            </div>
        </div>
    </div>

    <?
    if ($itemCount%5===0) { echo "</div>"; }    
    $itemCount++;
    }
    ?>

The output from the PHP (not the desired result) PHP的输出 (不是所需的结果)

<div class='section group'>     

    <div class="col span_1_of_5">
        <div class='button_epos_a button_epos_a-border'>
            <div class='button_epos_a_content'>
                Coffee          
            </div>
        </div>
    </div>

</div>     

<div class="col span_1_of_5">
    <div class='button_epos_a button_epos_a-border'>
        <div class='button_epos_a_content'>
            sdsd            
        </div>
    </div>
</div>


<div class="col span_1_of_5">
    <div class='button_epos_a button_epos_a-border'>
        <div class='button_epos_a_content'>
            cccc            
        </div>
    </div>
</div>


<div class="col span_1_of_5">
    <div class='button_epos_a button_epos_a-border'>
        <div class='button_epos_a_content'>
            BBBB            
        </div>
    </div>
</div>


<div class="col span_1_of_5">
    <div class='button_epos_a button_epos_a-border'>
        <div class='button_epos_a_content'>
            juice           
        </div>
    </div>
</div>

<div class='section group'>     

    <div class="col span_1_of_5">
        <div class='button_epos_a button_epos_a-border'>
            <div class='button_epos_a_content'>
                juice2          
            </div>
        </div>
    </div>

</div>

I cannot see why this is happening, any enlightenment would be great. 我不明白为什么会这样,任何启蒙都会很棒。 thanks 谢谢

Change: 更改:

if ($itemCount==0 || $itemCount%5===0) { echo "<div class='section group'>"; }    

To: 至:

if ($itemCount==0) { echo "<div class='section group'>"; }

Also Change: 也改变:

<?
    if ($itemCount%5===0) { echo "</div>"; }    
    $itemCount++;
}
?>

To: 至:

<?php
    if ($itemCount===4) { echo "</div>"; $itemCount = 0;} else { $itemCount++;}
}
if ($itemCount !== 0) { echo '</div>';}
?>

I think it makes it easier. 我觉得它更容易。 Couple of side notes: 几个旁注:

  1. If this is new code, you are better off using mysqli/Pdo instead. 如果这是新代码,最好使用mysqli / Pdo。
  2. Always use <?php instead of the short code <? 总是使用<?php而不是短代码<? .
  3. Always make your indexes strings: $row5x['item_id']; 始终使索引字符串: $row5x['item_id'];
$itemCount = 0;     

    while ($row5x = mysql_fetch_array($result5x)) { 

    $item_id = $row5x[item_id]; 
    $item_title = $row5x[item_title];

       if ($itemCount==0 || $itemCount==5) { echo "<div class='section group'>"; }     
    ?>

    <div class="col span_1_of_5">
        <div class='button_epos_a button_epos_a-border'>
            <div class='button_epos_a_content'>
                <? echo $item_title; ?>
            </div>
        </div>
    </div>

    <?
    if ($itemCount==4 || $itemCount==9) { echo "</div>"; }    
    $itemCount++;
    }
    ?>

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM