一个数据的不同样式 Php/SQL

Different style for one data Php/SQL

我正在尝试用 PHP、CSS 和 SQL 创建词云。用户可以输入任意词,将被整合到词云中。

问题是词云与CSSliclass一起工作(单词通过文本转换、颜色、大小等分隔...)。

以下是我的尝试。问题是一切都重复了,我不知道如何将我的 SQL 数据库中的每个单词放在 <li> 的不同 class 中(参见屏幕截图)。

<!DOCTYPE html>
<html>
<head><link rel="stylesheet" type="text/css" href="wordcloud.css">
<title>Nuage de mot</title>
</head>
<body>
<?php 
$bdd = new PDO('mysql:host=localhost;dbname=wordcloud', 'root', 'root');

$reponse = $bdd->query('SELECT * FROM form_element');
$donnees = $reponse->fetch();

?>
<ul class="word-cloud">
<?php while ($donnees = $reponse->fetch())
{
    ?>
    <li class="word-cloud__word  word-cloud__word--x-small"><?php echo $donnees['mot']?></li>
    <li class="word-cloud__word  word-cloud__word--small"><?php echo $donnees['mot']?></li>
    <li class="word-cloud__word  word-cloud__word--large"><?php echo $donnees['mot']?></li>
    <li class="word-cloud__word"><?php echo $donnees['mot']?></li>
<?php 
}
$reponse->closeCursor();
?>
</ul>
<div>
<a href="form.html"><input type="button" value="Ajouter un nouveau mot"></a>
</div>
</body>
</html>


这部分没问题,当我在我的表格中输入文字时,它们在云端。

但现在你是对的,我必须整合事件的概念......

重复 xx 次的单词必须更大...

我必须更改我的数据库吗?

我想创建一个列 "repeated words" 并在我的表单中创建一个 if 函数。但我不知道脚本是否可以识别,例如单词 "hello",它在我的列中出现的次数 "repeated word".

在这里,只是一个如何做到这一点的想法。

$counter = 0;
<?php while ($donnees = $reponse->fetch())
{

$counter++;

if($counter == 1) { ?>
 <li class="word-cloud__word  word-cloud__word--x-small"><?php echo $donnees['mot']?></li>
<?php }
if($counter == 2) { ?>
 <li class="word-cloud__word  word-cloud__word--small"><?php echo $donnees['mot']?></li>
 <?php }
if($counter == 3) { ?>
 <li class="word-cloud__word  word-cloud__word--large"><?php echo $donnees['mot']?></li>
<?php }
if($counter == 4) { ?>
<li class="word-cloud__word"><?php echo $donnees['mot']?></li>
<?php $counter = 0;
}
 ?>

可能有一些语法错误,<?php ?>还没有检查过。但是我想你应该明白我的意思,如果有错误你会自己找到。 ;)

假设以下情况:

row < 10 then small font
row > 10 and row < 20 then medium font
row > 20 then large font

第 1 步:

计算要分类的数据库中的总行数。 例如:

$response = $bdd->query('SELECT count(id) AS total_row FROM form_element');

现在假设你得到 17 条记录。

所以在 PHP。这样做 ;

第 2 步:

if($donnees['total_row'] < 10 ){
    echo "<li class="word-cloud__word  word-cloud__word--x-small"><?php echo $donnees['mot']?></li>";    // Output Small Font
}
else if($donnees['total_row'] > 10 && $donnees['total_row'] < 10 ){
    echo " <li class="word-cloud__word  word-cloud__word--small"><?php echo $donnees['mot']?></li>";    // Output Medium Font
}
else if($donnees['total_row'] > 20 ){
    echo " <li class="word-cloud__word  word-cloud__word--large"><?php echo $donnees['mot']?></li>";    // Output Large Font
}
else{
    echo " <li class="word-cloud__word "><?php echo $donnees['mot']?></li>";    // Output Same Font
}