【问题标题】:when no rows retrieved from SQL database then dont display a div当没有从 SQL 数据库检索到的行时,不显示 div
【发布时间】:2013-03-27 21:00:30
【问题描述】:

我在 jquery 中尝试了空选择器,但它不起作用。内容仍在显示中。我正在从 SQL 数据库中检索一些行。如果没有数据库,那么我不想显示该 div。

<div id="scrollingText">
<div class="scrollWrapper">
<div class="scrollableArea">
<marquee behavior="scroll" direction="left">
<p>
<?php
$con = mysql_connect("localhost","fraptech_test","");
mysql_select_db("fraptech_test", $con);
if (mysqli_connect_errno($con))
  {
echo "Failed to connect to MySQL: " . mysqli_connect_error();
  }
mysql_select_db("fraptech_ndsnotice", $con);
$result = mysql_query("SELECT * FROM ndsnotice");
while($row = mysql_fetch_array($result))
  {
  echo $row['Notice'];
  }
?>
</p>
</marquee>
</div>
</div>
</div>

【问题讨论】:

  • 请注意,您似乎正在混合使用 mysql_* 和 mysqli_* 函数
  • 如果有数据,为什么不直接渲染 div?渲染它然后隐藏它似乎有点奇怪。
  • 你的代码在哪里?你有没有尝试过?
  • 所以如果没有结果行就不要输出 div。 if (mysql_num_rows($result) &gt; 0) { echo '&lt;div&gt;'; }

标签: php jquery sql html


【解决方案1】:

这是你的全部代码吗?你在使用ajax吗?如果您使用没有 ajax 的纯 PHP,只需将输出 div 设置为“if”条件?

如果你想使用 jQuery,试试:

if (  ($("div.scrollableArea p").text()).length > 0  )
{  
$("div.scrollableArea p").show();
}
else
{
$("div.scrollableArea p").hide();
}

但我猜你可以不使用 jQuery。

【讨论】:

  • 但这不起作用...你可以编辑 div id=scrollingText 的 d 代码
  • 第一行的元素是“源”元素。如果元素内没有文本,这将被检查。在我的情况下,我假设

    -Tag 绝对不包含任何文本,如果你没有得到结果的话。如果你得到了结果,那么

    -tag 中有一些文本。第三行或第七行的元素将被显示或隐藏。因为我不确切知道你想做什么,所以我无法编辑代码:-)

  • 感谢您的帮助.....我做了一些更改并得到了输出..你可以检查答案..我已经发布了我的答案:)
【解决方案2】:

您需要将 HTML 放在 php if 子句中。

简单示例:

<div id="scrollingText">
<?php
$con = mysql_connect("localhost","fraptech_test","");
mysql_select_db("fraptech_ndsnotice", $con);
$result = mysql_query("SELECT * FROM ndsnotice");
if (mysqli_connect_errno($con)) {
<div class="scrollWrapper">
<div class="scrollableArea">
<marquee behavior="scroll" direction="left">
<p>
<?php
while($row = mysql_fetch_array($result))
{
   echo $row['Notice'];
 }
?>
</p>
</marquee>
</div>
</div>
<?php } else { ?>
<div class="errordiv">Display this on error</div>
<?php } ?>
</div>

【讨论】:

  • 解析错误:语法错误,第 132 行 /home/fraptech/public_html/notredamedelhi.com/index.php 中的意外 '
  • 它必须工作......在if (mysqli_connect_errno($con)) {之后必须有一个“?>”......应该看起来像:if (mysqli_connect_errno($con)) { ?&gt;
【解决方案3】:

谢谢你们的帮助,我做了一些改变。下面的代码做到了:

<?php
$con = mysql_connect("localhost","fraptech_test","");
mysql_select_db("fraptech_test", $con);
if (mysqli_connect_errno($con))
  {
echo "Failed to connect to MySQL: " . mysqli_connect_error();
  }
mysql_select_db("fraptech_ndsnotice", $con);
$result = mysql_query("SELECT * FROM ndsnotice");
if (mysql_num_rows($result) > 0) 
{
?><div id="scrollingText">
<div class="scrollWrapper">
<div class="scrollableArea">
<marquee behavior="scroll" direction="left">
<p>
<?php while($row = mysql_fetch_array($result))
  {
  echo $row['Notice'];
  }
 ?> </p>
</marquee>
</div>
</div>
</div>  
<?php } ?>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-07-21
    • 1970-01-01
    • 2016-10-21
    • 2014-01-10
    • 1970-01-01
    • 2016-12-04
    • 2014-04-14
    相关资源
    最近更新 更多