在我的搜索引擎中添加一个if echo语句

时间:2012-08-22 14:42:52

标签: php if-statement

我有一个搜索引擎,因为残奥会,我希望人们能够看到我放在我网站顶部的h1倒计时。下面是我的数据库的循环结果。我出错的任何想法?因为在此if中,它根本不会回显h1标记。我想高于我的结果。

$query = " SELECT * FROM scan WHERE "; 

$terms = array_map('mysql_real_escape_string', $terms);
$i     = 0;
foreach ($terms as $each) {
    if ($i++ !== 0) {
        $query .= " OR ";
    }
    $query .= "keywords LIKE '%{$each}%'";
}
// Don't append the ORDER BY until after the loop
$query .= "ORDER BY rank";

$query   = mysql_query($query) or die('MySQL Query Error: ' . mysql_error($connect));
$numrows = mysql_num_rows($query);
if ($numrows > 0) {

    while ($row = mysql_fetch_assoc($query)) {
        $id          = $row['id'];
        $title       = $row['title'];
        $description = $row['description'];
        $keywords    = $row['keywords'];
        $link        = $row['link'];
        $rank        = $row['rank'];

        echo '<h2><a class="ok" href="' . $link . '">' . $title . '</a></h2>' . PHP_EOL;
        echo '<p maxlength="10" class="kk">' . $description . '</p>' . PHP_EOL;
        echo '<p><a class="okay" href="' . $link . '">' . $link . '<br><br><span class="keywords"></p>' . PHP_EOL;
    }
} else {
    echo "No results found for \"<b>{$k}</b>\"";
}


if ($k = "Paralympics 2012") {
    echo "<h1> Countdown to Paralympics: 7 Days </h1>";
}

3 个答案:

答案 0 :(得分:0)

if ($k = "Paralympics 2012") {
    echo "<h1> Countdown to Paralympics: 7 Days </h1>";
}

将始终打印<h1>。你在做作业而不是比较。尝试:

if ($k == "Paralympics 2012")

另外,验证$ k是您在调试时所期望的。

答案 1 :(得分:0)

一个等于(=分配,两个/三个(== / ===比较。这条线

if ($k = "Paralympics 2012") {

$k分配给一个总是返回true的字符串,因为除了空字符串之外的任何字符串("")都是真实的。试试这个:

if ($k === "Paralympics 2012") {

答案 2 :(得分:0)

首先,<h1> 总是显示,与您的问题状态相反。它始终显示是因为您正在使用以下内容分配非假值:

if ($k = "Paralympics 2012") {

更新以使用比较来修复该逻辑问题。

if ($k == "Paralympics 2012") {

接下来,要使其显示在结果上方,您需要将if-statement实际移到echo结果的循环之上。尝试将其放在if ($numrows > 0) {块中,如下所示:

if ($numrows > 0) {
    if ($k == "Paralympics 2012") {
        echo "<h1> Countdown to Paralympics: 7 Days </h1>";
    }
    while ($row = mysql_fetch_assoc($query)) {
        ...