在MYSQL中按字母顺序排序具有多个单词和顺序的行

时间:2017-08-05 18:25:28

标签: php mysql database

我很亲密,但需要一些帮助。在我的网站上,我有标记词(visit here) - 正如你所看到的,我有2个词叫做美国,然后它说迫害然后是基督徒。这是我需要帮助的地方。

  1. 我只需要一个词代表美国而不是两个词。
  2. 在我网站的第一行(please go there to view),它说 堕胎美国美国迫害基督徒然后动物......你可以看到这不是按字母顺序排列的。我需要将其与其他词语按字母顺序排列。
  3. 现在我正在测试一行,里面有三个单词,其余的只有一个单词。测试行有“美国”,“迫害”,“基督徒”等字样。在我学会如何实现我需要的东西之前,所有的行里面都会有多个单词。

    enter image description here

    以下是我的代码----

    <?php
              include('connect.php');
              //now execut Select statement on table
    $sql = mysqli_query($db_xxx, "SELECT word FROM articles GROUP BY word ORDER BY word ASC");
    
    while ($row = mysqli_fetch_array($sql)) { 
    $link = $row['link'];
    $word_array = explode(", ", $row['word']); $unique_word_array = array_unique($word_array); 
    
    foreach($unique_word_array as $key) 
    { 
            echo "<div class='cloudbox tag'><a href = '../../articlestagresults.php?word=" . $key . "'> " . $key . "</a></div>"; }
    
    }
    
       // Close your database connection
    mysqli_close($db_xxx);
    ?>
    

    我再次需要帮助合并单词America 将所有标记单词按字母顺序排列,谢谢。如果您需要更多信息,请询问。我真的需要帮助,再次感谢你。

1 个答案:

答案 0 :(得分:1)

我在asort()变量上使用$unique_array_word,以下是添加了sort函数调用的代码:

$sql = mysqli_query($db_xxx, "SELECT word, word2 FROM post");  
while ($row = mysqli_fetch_array($sql)) { $link = $row['link']; 
  $word_array = explode(", ", $row['word']);
  $unique_word_array = array_unique($word_array);
  asort(unique_word_array);
  foreach($unique_word_array as $key) {
    echo "<div class='cloudbox tag'><a href = '../../articlestagresults.php?word=" . $key . "'> " . $key . "</a></div>"; 
  }
}

我希望这能帮助你实现你想要的目标。