doujing4555 2014-12-02 16:52
浏览 141
已采纳

在for循环javascript中显示唯一值

I'm trying to display unique value in for loop per below. The data is retrieved from mysql. Currently, it's displaying all the values in this column (Book Name) but just want to show just unique value and remove any duplicated values from displaying.

  1. <?php
  2. $i=0;
  3. while($rows=mysql_fetch_array($result))
  4. {
  5. $roll1[$i]=$rows['bkname'];
  6. $i++;
  7. }
  8. $total_elmt=count($roll1);
  9. ?>
  10. <form method="POST" action=" ">
  11. <select name="sel1" id="sel1">
  12. <option value="Select Book Name">Book Name</option>
  13. <?php
  14. for($j=0;$j<$total_elmt;$j++)
  15. {
  16. ?><option><?php
  17. echo $roll1[$j];
  18. ?></option><?php
  19. }
  20. ?>
  21. </select>
  22. </form>
  • 写回答

3条回答 默认 最新

  • doujiao1949 2014-12-02 17:04
    关注

    Instead of removing duplicates in the PHP, you could just use a DISTINCT clause in your query:

    <?php
    
    $db = new mysqli('localhost', 'username', 'password', 'database_name');
    // $sql = 'SELECT DISTINCT(bkname) FROM your_table_name';
    $sql = 'SELECT * FROM your_table_name GROUP BY bkname';
    $query = mysqli_query($db, $sql);
    
    ?>
    
    <form method="POST" action="">
        <select name="sel1" id="sel1">
            <option disabled selected>Book Name</option>
            <?php while($row = mysqli_fetch_assoc($query)): ?>
                <option value="<?php echo $row['bkname']; ?>"><?php echo $row['bkname']; ?></option>
            <?php endwhile; ?>
        </select>
    </form>
    

    Obligatory Note:

    Please, don't use mysql_* functions in new code. They are no longer maintained and are officially deprecated. See the red box? Learn about prepared statements instead, and use PDO or MySQLi - this article will help you decide which. If you choose PDO, here is a good tutorial.

    Ref: https://stackoverflow.com/a/12860140/3859027

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)
编辑
预览

报告相同问题?

手机看
程序员都在用的中文IT技术交流社区

程序员都在用的中文IT技术交流社区

专业的中文 IT 技术社区,与千万技术人共成长

专业的中文 IT 技术社区,与千万技术人共成长

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

客服 返回
顶部