我在设置我从数据库中提取的信息时遇到了麻烦。如果有人可以提供帮助,我会非常感激。我尝试在while循环中定义$ style,然后为它分配$ questions,但网页上没有任何反应。我是一般的编码新手,虽然我对css有一些了解,但我不知道你是如何在php脚本中使用它的。
我试图将每个问题放在后面的背景样式*
#frm1
{
background: #D9D9D9;
margin:auto;
top:150px; left:200px; width:880px; height:60px;
position:absolute;
font-family: "Comic Sans MS", cursive, sans-serif;
font-size: 9px;
font-style: italic;
line-height: 24px;
font-weight: bold;
text-decoration: none;
-webkit-border-radius: 10px;
-moz-border-radius: 10px;
border-radius: 10px;
padding:10px;
border: 1px solid #999;
border: inset 1px solid #333;
-webkit-box-shadow: 0px 0px 8px rgba(0, 0, 0, 0.5);
-moz-box-shadow: 0px 0px 8px rgba(0, 0, 0, 0.5);
box-shadow: 0px 0px 40px rgba(0, 0, 0, 0.7);
}
从数据库中检索信息的PHP代码*
if (mysql_num_rows($result) >= 0)
{
$toggle = false;
while ($rows = mysql_fetch_array($result, MYSQL_ASSOC) and $i<10 )
{
$i++;
$toggle = !$toggle;
if($toggle)
$style = "id:frm1;";
else
$style = "background: white;";
questions .= "<a style='$style'> </a>";
questions .= "Titlee: " ."<a href='show_question2.php?question_id=" . $rows["question_id"] . "'>". $rows['title'] . "</a> <br> ";
questions .= "Details: " . "<a href='show_question2.php?question_id=" . $rows["question_id"] . "'>". $rows['detail'] . "</a> <br> ";
questions .= "Category: " . "<a href='show_question2.php?question_id=" . $rows["question_id"] . "'>". $rows['categories'] . "</a> <br> <br> <br> ";
}
echo questions;
}
答案 0 :(得分:1)
虽然我对css有一些了解,但我不知道你是如何使用它的 php脚本。
好。
您的PHP脚本是服务器上的PHP脚本,并为用户生成常规HTML页面。 [见答案的底部,我会试着给你一个快速的概述]
您可以像使用普通HTML页面一样使用CSS,尽管受PHP支持,它仍可以正常使用。
这意味着不要使用style =“$ style”。样式属性不好。
由于您希望有条件地构建CSS,我的建议是:
<style>
标记内,然后使用PHP更改这些样式。此答案将使用第一个选项 (编辑考虑新信息)
在您的PHP代码中,在您的链接之前:
if($toggle) {
$questions.='<div id="frm1">';
}
else {
$questions.='<div id="frm2">';
}
在您的PHP代码中,链接后:
$questions .= "</div>";
最后,在您的外部样式表或您的头部<style>
标签中:
#frm1 {
...
}
#frm2 {
...
}
服务器端语言的快速概述
所以,网络编程。这通常以两种方式完成。 客户端(读取:javascript)和服务器端(在您的情况下,请阅读:php,但还有更多内容)。
使用像javascript这样的客户端语言,代码实际上会被发送到Web浏览器。然后,Web浏览器根据脚本所说的内容修改页面内容。这意味着您的用户可以查看代码,甚至可以在其Web浏览器中将其关闭或在其位置执行其他JavaScript。
使用服务器端语言,有一个不同的工作流程。
请注意,Web浏览器是执行HTML和CSS所有处理的组件,从不会看到php。当你的php脚本到达你的用户时,它只是一个html页面。
由于Web浏览器只能看到HTML页面,因此在PHP脚本上使用CSS和在常规HTML页面上使用CSS之间没有功能差异。
答案 1 :(得分:0)
这将有效:
if (mysql_num_rows($result) >= 0) {
$toggle = false;
while ($rows = mysql_fetch_array($result, MYSQL_ASSOC) and $i<10 ) {
$i++;
$toggle = !$toggle;
if($toggle)
$style = "background: #D9D9D9;"; else
$style = "background: green;";
questions .= "<a href='#' style='display:block;$style'> </a>";
questions .= "Titlee: " ."<a href='show_question2.php?question_id=" . $rows["question_id"] . "'>". $rows['title'] . "</a> <br> ";
questions .= "Details: " . "<a href='show_question2.php?question_id=" . $rows["question_id"] . "'>". $rows['detail'] . "</a> <br> ";
questions .= "Category: " . "<a href='show_question2.php?question_id=" . $rows["question_id"] . "'>". $rows['categories'] . "</a> <br> <br> <br> ";
}
echo questions;
}
问题是你的a-tag没有href属性,因为它显示为内联(默认行为),后台CSS属性将不起作用。
答案 2 :(得分:0)
而不是样式,构建类并在css中定义它们。
if ($toggle)
$questionClass="redBackground";
else
$questionClass="greenBackground";
$questions.="<a class='$questionClass'>";
另外,一定要看看mysqli或pdo。 mysql_函数已被弃用,并不是很酷!
答案 3 :(得分:0)
你可以做 -
if (mysql_num_rows($result) >= 0)
{
$toggle = false;
while ($rows = mysql_fetch_array($result, MYSQL_ASSOC) and $i<10 )
{
$i++;
$toggle = !$toggle;
if($toggle)
$style = "bg";
else
$style = "bg_green";
echo("<a class='".$style."'> </a>");
echo("Titlee: " ."<a href='show_question2.php?question_id=" . $rows["question_id"] . "'>". $rows['title'] . "</a> <br> ");
echo("Details: " . "<a href='show_question2.php?question_id=" . $rows["question_id"] . "'>". $rows['detail'] . "</a> <br> ");
echo("Category: " . "<a href='show_question2.php?question_id=" . $rows["question_id"] . "'>". $rows['categories'] . "</a> <br> <br> <br> ");
}
在此文件中添加 -
<style type="text/css">
.bg {
background: #D9D9D9;
}
.bg_green {
background: green;
}
</style>
答案 4 :(得分:0)
您可以使用$i
在计数器$i % 2
上进行切换,以在两个CSS类之间切换。这将为您提供0, 1, 0, 1, 0, 1, ...
,因此依次选择第一个和第二个CSS类名称。
PHP:
$css_class = array('frm1', 'second');
while ($rows = mysql_fetch_array($result, MYSQL_ASSOC) and $i<10 )
{
$i++;
questions .= "<a class='$css_classes[$i % 2]'> </a>";
questions .= "Titlee: " ."<a href='show_question2.php?question_id=" . $rows["question_id"] . "'>". $rows['title'] . "</a> <br> ";
questions .= "Details: " . "<a href='show_question2.php?question_id=" . $rows["question_id"] . "'>". $rows['detail'] . "</a> <br> ";
questions .= "Category: " . "<a href='show_question2.php?question_id=" . $rows["question_id"] . "'>". $rows['categories'] . "</a> <br> <br> <br> ";
}
并在CSS文件中定义两个类
.frm1 {
background: #D9D9D9;
margin:auto;
top:150px; left:200px; width:880px; height:60px;
position:absolute;
...
}
.second {
background: white;
}
答案 5 :(得分:0)
正如本说使用课。
首先创建一个类
<style>
.gray{background: #D9D9D9;}
.green{background: green;}
</style>
然后试试这个
if (mysql_num_rows($result) >= 0)
{
$toggle = false;
while ($rows = mysql_fetch_array($result, MYSQL_ASSOC) and $i<10 )
{
$i++;
$toggle = !$toggle;
$style = ($toggle)?"green":"gray";
$questions .= "<a class='".$style."'> Put some thing here </a>";
$questions .= "Titlee: " ."<a href='show_question2.php?question_id=" . $rows["question_id"] . "'>". $rows['title'] . "</a> <br> ";
$questions .= "Details: " . "<a href='show_question2.php?question_id=" . $rows["question_id"] . "'>". $rows['detail'] . "</a> <br> ";
$questions .= "Category: " . "<a href='show_question2.php?question_id=" . $rows["question_id"] . "'>". $rows['categories'] . "</a> <br> <br> <br> ";
}
echo $questions;
}
请尝试一下,我没有经过测试,但根据您的需要它应该可以使用。