-2

ここで真剣な助けが必要です!私はこのサイトを構築しています。各記事の要約は、タイトルをリンクとしてデータベースから生成されますが、誰かがリンクをクリックすると、記事のページが手間をかけずに自動的に生成されるようにしたいと思います。データベースにあるすべての記事のページをコーディングすることはできません。要約を生成する私のコードは次のとおりです。

<?php
        if(isset($_POST['search'])){
                $term = mysql_real_escape_string($_POST['keyword']);

                        $search = mysql_query("select * from article 
                        where match(title, body) against('$term') ");

                    if(mysql_num_rows($search)>0){  

                            echo "<div>"."Search Results For: "."<h3><u>".$term."</u></h3>"."</div>";

                            while($result = mysql_fetch_array($search)){

                                    echo "<div class=\"article\">".

                                    "<div class=\"title\"><a href=\"".$result['cat'].".php"."\">".$result['title']."</a></div>".
                                    "<div class=\"body\">".substr($result['body'], 0, 250)."</div>".
                                    "<div class=\"cat\"><a href=\"".$result['cat'].".php"."\">"."Category: ".$result['cat']."</a></div>".
                                    "<div class=\"author\">"."Author: ".$result['author']."</div>".
                                    "<div class=\"dateTime\">"."Date: ".$result['date']."</div>".

                                        "</div>";
                                }

                    }   


                    else{
                            echo "Sorry! The search for "."<h3>".$term."</h3>"." gave no results.";
                        }

                }

    ?>
4

2 に答える 2

1

各記事に ID があると仮定します。動的ページに移動するようにリンクを変更し、その ID を渡します。

"<div class=\"title\"><a href=\"dynamic_page.php?id=$result[id]\">$result[title]</a></div>"

次に、dynamic_page.phpその ID を受け入れて次のように記事を生成する を作成します。

if (isset($_GET['id'])) {
    $id = mysql_real_escape_string($_GET['id']);
    $q = "SELECT
            *
        FROM
            `article`
        WHERE
            `id` = '$id'
        LIMIT 1;";
    $q = mysql_query($q);
    if (mysql_num_rows($q) > 0) {
        $result = mysql_fetch_assoc($q);
        echo "<div class=\"article\">".
                "<div class=\"title\">".$result['title']."</div>".
                "<div class=\"body\">".$result['body']."</div>".
                "<div class=\"cat\"><a href=\"".$result['cat'].".php"."\">"."Category: ".$result['cat']."</a></div>".
                "<div class=\"author\">"."Author: ".$result['author']."</div>".
                "<div class=\"dateTime\">"."Date: ".$result['date']."</div>".
            "</div>";
    }
    else {
        /* Article not found */
    }
}

$result['body']今回は完全に表示されていることに注意してください。また、あなたの場合に使用することをお勧めしmysql_fetch_assoc()ます。

コードはこちら

于 2012-12-06T17:43:32.417 に答える
0

リンクが次のようなものである場合page.com/article.php?id=20、クエリは次のようになります。

$id = mysql_real_escape_string($_GET['id']);
mysql_query("SELECT * FROM articles WHERE id = '$id'");

次に、mysql_fetch_array を使用してデータを表示できます。

于 2012-12-06T17:34:04.123 に答える