php javascript html,为什么这不起作用?

时间:2013-08-14 16:17:03

标签: php javascript html arrays mysqli

这是我的代码。我正在尝试连接到我的数据库并制作一个“当天的笑话”,所以每天都会显示一个不同的笑话。我已经多次查看了我的代码,但却无法找出它无法正常工作的原因。

<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 个答案:

答案 0 :(得分: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]);

而不是做 HUGE if语句阻止,只需这样做,这是相同的。

document.write(jokesArray[d]);

答案 1 :(得分: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]);
}

希望这有帮助

答案 2 :(得分:2)

PHP有一个getdate()函数。请参阅文档here。在PHP代码中使用条件而不是javascript中的日期,然后只需“echo jokesarray [x]”就可以了。

答案 3 :(得分:-1)

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