1

这是我的代码。我正在尝试连接到我的数据库并制作“今日笑话”,因此每天都会显示不同的笑话。我已经多次查看我的代码,但无法找出它为什么不起作用。

<div id="joke">
This is the Joke of the Day:
<script>
var jokesArray = new Array ();
<?php
$jokeid = 1;
$link = mysqli_connect("localhost","root","","nick-website-database") or die("Error " . mysqli_error($link));
$temp = mysqli_query($link, "SELECT * FROM `jokes`");
$i = 0;
while($joke = mysqli_fetch_array($temp)) {
    echo "jokesArray[".$i."]='" . $joke["description"]."';" ;
    $i++;
}
?>
var x=new Date();
var d(d.getDay());
if (d === 0) {
    document.write(jokesArray[0];
}
else if (d === 1) {
    document.write(jokesArray[1];
}
    else if (d === 2) {
    document.write(jokesArray[2];
}
    else if (d === 3) {
    document.write(jokesArray[3];
}
    else if (d === 4) {
    document.write(jokesArray[4];
}
    else if (d === 5) {
    document.write(jokesArray[5];
}
    else if (d === 6) {
    document.write(jokesArray[6];
}

</script>
</div>
4

4 回答 4

5

首先解决这个问题:

var x=new Date();
var d(d.getDay());

var x = new Date();
var d  = x.getDay();

其次,每次你有这个document.write(jokesArray[1];你都没有关闭它,像这样:

document.write(jokesArray[1]);

而不是做那个巨大的if 语句块,只做这个,这是一样的。

document.write(jokesArray[d]);
于 2013-08-14T16:28:10.740 回答
3

您所有的 document.write 都只有一个左括号,您需要在 ; 之前关闭括号

编辑: 还要解决这个问题,您的日期变量错误

var x=new Date();
var d(d.getDay());

需要是

var x = new date();
var d = x.getDay();

Javascript 是一种有趣的语言,因为如此简单的东西会在没有警告的情况下中断,请尝试使用 firefox 调试 javascript。

例子:

Your Current Code:

if (d === 0) {
  document.write(jokesArray[0];
}
else if (d === 1) {
  document.write(jokesArray[1];
}
else if (d === 2) {
  document.write(jokesArray[2];
}
else if (d === 3) {
  document.write(jokesArray[3];
}
else if (d === 4) {
  document.write(jokesArray[4];
}
else if (d === 5) {
  document.write(jokesArray[5];
}
else if (d === 6) {
  document.write(jokesArray[6];
}

你需要这样的:

The Correct Code:

    if (d === 0) {
  document.write(jokesArray[0]);
}
else if (d === 1) {
  document.write(jokesArray[1]);
}
else if (d === 2) {
  document.write(jokesArray[2]);
}
else if (d === 3) {
  document.write(jokesArray[3]);
}
else if (d === 4) {
  document.write(jokesArray[4]);
}
else if (d === 5) {
  document.write(jokesArray[5]);
}
else if (d === 6) {
  document.write(jokesArray[6]);
}

希望这可以帮助

于 2013-08-14T16:27:35.690 回答
2

PHP 有一个 getdate() 函数。请参阅此处的文档。在 PHP 代码中而不是在 javascript 中为日期使用条件,然后在需要的地方简单地“echo jokesarray[x]”。

于 2013-08-14T16:27:06.313 回答
-1

好的,我想通了。这是我的数据库的问题。我在值中有撇号和破折号,所以它搞砸了其余的代码。不管怎么说,多谢拉!

于 2013-08-14T16:59:26.007 回答