【问题标题】:Selecting rows from a database based on priority根据优先级从数据库中选择行
【发布时间】:2018-02-20 01:04:31
【问题描述】:

我正在制作一个简单的幻灯片,它从数据库中获取数据。我制作了一个 php 循环,以便从数据库中的表中获取所有行。它工作正常(代码写在文本下方)。在决赛中,每一行都有一个充满严重信息的 div。然后我使用 javascript 逐渐添加和删除类“.visible”并循环。

但现在我想创建类似优先系统的东西。我想我会在表中添加一列,我可以在其中写一个数字,比如说从 1 到 3。如果一行的优先级为 1,它将每隔三个 div 循环显示一次,而如果优先级设置为3,它将显示每个循环。我只是不知道该怎么做。

我不知道我是否清楚,如果您有任何不明白的地方,请随时问我。

非常感谢。

        $query = "SELECT *
                FROM tbpolozky
                WHERE active = 1";

        $statement = $conn->prepare($query);
        $statement->execute();

        $produkty = $statement->fetchAll();

         ?>

         <!DOCTYPE html>
         <html lang="cs">
         <head>
            <meta charset="UTF-8">
            <title>DongleAd - Slideshow</title>
            <link rel="stylesheet" href="slideshow.css">
         </head>
         <body>
            <div class="slider">
                <?php $i=0; foreach($produkty as $p): ?>
                <div class="slide <?php if($i==0){echo('active');} ?>">
                    <div class="container">
                        <div class="slide_popis">
                            <div class="popis">
                                <h1><?= $p['nazev_produktu'] ?></h1>
                                <p><?= $p['popis_produktu'] ?></p>
                            </div>
                            <div id="logo"></div>
                        </div>
                        <div class="slide_produkt">
                            <img src="<?= $p['img_url'] ?>" alt="">
                            <span><?= $p['cena'] ?> Kč</span>
                        </div>
                    </div>
                </div>
                <?php $i++; ?>
            <?php endforeach; ?>
            </div>

【问题讨论】:

  • 在最后,行的优先级越高,填充该行数据的 div 就越频繁地显示。

标签: javascript php loops


【解决方案1】:

我不知道你是怎么显示的,你可以试试modulus 这样的东西

<?php
 $counter = 0;
  $names =array('Jose'=>'1','Javier'=>'3','Jerome'=>'1','Anna'=>'3','Joselito'=>'1','Javi'=>'3','Andrew'=>'1','Bob'=>'3','Doc'=>'1','Dope'=>'3','Brod'=>'1','Brad'=>'3',
          'Duke'=>'1','John'=>'3','Doe'=>'1','Michael'=>'3');
foreach($names as $name => $priority) {



if($priority == '1') // Check for priority first
{
 if($counter % 3 === 1 ) {
    echo "<div style = 'background-color:green;'>" . $name . "Priority no." . $priority . "</div>"; // do something every third loop ( DISPLAY THE LOWEST )
 }
}else{
     echo "<div style = 'background-color:blue;'>" . $name . "Priority no." . $priority . "</div>";  // DISPLAY THE HIGHEST 
}
++$counter;
}
?>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-05-01
    • 2012-08-08
    • 2012-08-20
    • 2020-06-23
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多