【问题标题】:Different style for one data Php/SQL一种数据 PHP/SQL 的不同风格
【发布时间】:2016-12-15 22:05:32
【问题描述】:

我正在尝试使用 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 函数。但我不知道脚本是否可以识别,例如“hello”这个词,它在我的列“repeated word”中出现的次数。

【问题讨论】:

  • 当您有更多信息时,您知道可以edit 您的问题吗? Stack Overflow 不是主题论坛。

标签: php html css mysql word-cloud


【解决方案1】:

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

$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;
}
 ?>

&lt;?php ?&gt; 可能有一些语法错误没有检查它。但是我认为您应该知道我的意思,如果有错误,您会自己发现错误。 ;)

【讨论】:

  • 我不知道 ++ 是什么,我的意思是我不明白它是如何工作的。我必须检查一下;)。谢谢!
  • counter++ 表示每次经过此行时计数器都会递增。所以意味着在开始时计数器为0。然后你的while循环被触发,因为有更多的响应要获取,所以计数器将为1。对于下一个结果,计数器将为2等等。意味着++只是将值增加+1。对--也是一样。与++相反,表示值会递减。
  • 好吧,看起来不错。是的,有语法错误,我尝试修复它,但我不是专家^^
【解决方案2】:

假设以下情况:

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
}

【讨论】:

  • 好的!当我 var_dump $donnees 时,它会计算表中的单词数。但它不显示单词。你有想法显示与单词出现相关的不同&lt;li class&gt; 吗?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-12-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多