0

私は検索エンジンを持っており、パラリンピックのために、サイトの上部に配置した 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>";
}
4

3 に答える 3

0

=1は( )に等しく、を割り当て、2/3(==/ ===)はを比較します。この線

if ($k = "Paralympics 2012") {

$k空の文字列()以外の文字列は真であるため、文字列に割り当てます。これは常にtrueを返します""。これを試して:

if ($k === "Paralympics 2012") {
于 2012-08-22T14:46:50.887 に答える
0
if ($k = "Paralympics 2012") {
    echo "<h1> Countdown to Paralympics: 7 Days </h1>";
}

を常に出力します<h1>。比較ではなく割り当てを行っています。試す:

if ($k == "Paralympics 2012")

また、デバッグ時に $k が期待どおりであることを確認してください。

于 2012-08-22T14:46:20.760 に答える
0

まず最初に、質問の状態と<h1>は反対に、常に表示されます。次のようにfalse以外の値の割り当てを行っているため、常に表示されます。

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)) {
        ...
于 2012-08-22T14:50:08.423 に答える