【问题标题】:How to separate words from a row individually using php and mysql如何使用php和mysql分别从一行中分离单词
【发布时间】:2017-07-09 17:57:27
【问题描述】:

我有一个 mysql 数据库,其中有一个名为关键字的表——见下文

**** 如您所见,该行中列出了多个单词。

我的问题 有没有办法使用 mysql 和 php 单独分隔每个单词。现在它将所有单词组合为一个而不是单独。

下图显示的是单词,但一个按钮可能包含 3 个或更多单词。 我需要这些词是独一无二的,并且是独立的。这可以在MYSQL中完成吗?如果可以,请提供php编码,谢谢。

【问题讨论】:

  • $arrayOfWords = explode (",", $keywordsString); 这基本上将长字符串转换为数组。然后,您可以根据需要循环显示单个单词。
  • $uniqueArray=array_unique ($arrayOfWords); 这会进行过滤以避免重复关键字。
  • @Ashraf 实际上最好explode(", ", $str); 注意逗号空格。
  • 在严格的 RDBMS 意义上,您没有表,所以这(还)不是 SQL 问题

标签: php mysql


【解决方案1】:

您可以使用 PHP 用逗号和空格分隔关键字。

//Split the keyword into array
$keywords_array = explode(", ", $keywords);

//Use array_unique to remove duplicates
$unique_keywords_array = array_unique($keywords_array);

//Print output
foreach($unique_keywords_array as $key) {
    echo $key . "<br />";
}

【讨论】:

  • 好的,我看到了上面的代码,你能帮我应用我的代码吗?我不确定如何正确插入此代码。 $key .
    "; } ?>
  • &lt;?php $sql = mysqli_query($sample,"SELECT * FROM tablename ORDER BY keywords"); while ($row = mysqli_fetch_array($sql)) { $link = $row['link']; $keywords_array = explode(", ", $row['keywords']); $unique_keywords_array = array_unique($keywords_array); foreach($unique_keywords_array as $key) { echo "&lt;a href='" . $link . "'&gt;" . $key . "&lt;/a&gt;&lt;br /&gt;"; } } ?&gt;
  • 哦,感谢您的耐心、善意和帮助。谢谢,厉害!!!有效。 :))
  • 好的,现在我有了这段代码(顺便说一句,它看起来很棒)我如何将单词合并在一起只显示一个。例如,我有出现五次的国家这个词,但我只需要一次。然后,那个单词(例如:nation)将链接到另一个页面,该页面将显示基于单词 national 的所有帖子。再次感谢您的帮助,因为您真的在帮助:) livinghisword.org/php/articles/a-c2.php
  • $all_keywords_array = array(); $sql = mysqli_query($sample,"SELECT * FROM tablename ORDER BY keywords"); while ($row = mysqli_fetch_array($sql)) { $keywords_array = explode(", ", $row['keywords']); $unique_keywords_array = array_unique($keywords_array); foreach($unique_keywords_array as $key) { // use empty to prevent null exception for the first keyword // Check if current keyword is in $all_keywords_array if ((empty($all_keywords_array)) || (!in_array($key, $all_keywords_array))) { $all_keywords_array[] = $key; echo "&lt;a href='" . $row['link'] . "'&gt;" . $key . "&lt;/a&gt;&lt;br /&gt;"; } } }
【解决方案2】:

由于您没有共享任何代码,我可以给您一个简单的猜测,以便您继续进行:-

使用 php 从表中获取数据并使用explode 函数分隔每个单词。

【讨论】:

    【解决方案3】:

    最好的选择是使用爆炸功能, 下面的链接是explode in php网站的参考: http://php.net/manual/en/function.explode.php

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-10-26
      • 2023-02-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-07-24
      • 2023-01-25
      • 2022-01-01
      相关资源
      最近更新 更多