我正在尝试使用PHP,CSS和SQL创建一个词云。用户可以输入任何单词,它将被集成到单词云中。
问题是单词云与CSS li
类一起使用(单词由文本转换,颜色,大小等分开......)。
以下是我的尝试。问题是一切都重复了,我不知道如何将我的SQL数据库中的每个单词放在<li>
的不同类中(参见屏幕截图)。
<!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次的单词必须更大......
我必须更改我的数据库?
我想创建一个“重复单词”列,并在表单中创建一个if
函数。但我不知道脚本是否有可能识别,例如“你好”这个词,它在我的专栏“重复的单词”中出现的次数。
答案 0 :(得分:0)
在这里,你只想知道如何做到这一点。
$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 ?>
没有检查过一些语法错误。但我认为你应该知道我的意思,如果有的话,你自己会发现错误。 ;)
答案 1 :(得分:0)
假设以下情况:
$response = $bdd->query('SELECT count(id) AS total_row FROM form_element');
第1步:
计算要分类的数据库的总行数。 例如:
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
}
现在假设您获得17条记录。
所以在PHP中。这样做;
第2步:
{{1}}