-1

私はコーディングを学ぶためにウェブサイトに取り組んでおり、簡単な検索サイトを作成しています。

ユーザーが「Restaurant」または「Restaurants」(または他の単語を例として使用しています)を検索すると、「AmericanFood」や「ChineseFood」などの検索を絞り込むのに役立つ単語のリストが表示されます。しかし、選択できる洗練された単語がかなりあるので、それらすべてをデータベースに保存し、Javascriptを使用してさらに表示しています(最初にアクセスしたときは、ページに10個の洗練された単語の制限がありますが、クリックすると詳細を表示しますとにかく、私はmysql selectを実行して行1〜10を表示し、次に別のmysql selectを実行して行11を実行し、ユーザーがクリックするまで表示されないdiv内のすべての行の最後まで表示することを考えました。 。しかし、私はこのエラーを受け取り続けます

警告:mysql_fetch_array()は、パラメーター1がリソースであると想定しています。ブール値は17行目の/Users/searchswitch.phpで指定されています

警告:mysql_close():4は22行目の/Users/searchswitch.phpにある有効なMySQL-Linkリソースではありません

これを引き起こしているのは何ですか?また、私は(新しいプログラマーであっても)私のコードがあまりきれいではないことを知っています、どうすればこれをきれいにすることができますか)

コードは次のとおりです。読みやすくするために他のスイッチケースは省略しましたが、さらに情報が必要な場合は、喜んでお手伝いします。すべての助けをありがとう!

switch ($q) {
            case "Restaurants" || "Restaurant":
                echo "<hr /><span><strong>Refine Search</strong><br/><br/>";
                $result = mysql_query("SELECT * FROM subcat WHERE catnumber='1' LIMIT 0,10");

                while($row = mysql_fetch_array($result))
                {
                    echo "<a href='search.php?q=". $row['subcat'] ."'/>" . $row['subcat'] ."</a>";
                    echo "<br />";
                }
                mysql_close($link);

                echo "<a href='#' id='example-show' class='showLink' onclick='showHide(\"example\");return false;'><br/>See more</a></span><div id='example' style='display:none;'>";
                $result = mysql_query("SELECT * FROM subcat WHERE catnumber='1' LIMIT 11,100");

                while($row = mysql_fetch_array($result))
                {
                    echo "<a href='search.php?q=". $row['subcat'] ."'/>" . $row['subcat'] ."</a>";
                    echo "<br />";
                }
                mysql_close($link);

                echo"<br/><a href='#' id='example-hide' class='hideLink' onclick='showHide(\"example\");return false;'>Hide</a></div>";

            break;

また、17行目は* while($ row = mysql_fetch_array($ result))*であり、22行目は* mysql_close($ link);*であることを指摘しておきます。

4

1 に答える 1

1

これを使用すると、クエリが正常に機能します

switch ($q) {
        case "Restaurants" || "Restaurant":
            echo "<hr /><span><strong>Refine Search</strong><br/><br/>";
            $result = mysql_query("SELECT * FROM subcat WHERE catnumber='1' LIMIT 0,10");

            while($row = mysql_fetch_array($result))
            {
                echo "<a href='search.php?q=". $row['subcat'] ."'/>" . $row['subcat'] ."</a>";
                echo "<br />";
            }


            echo "<a href='#' id='example-show' class='showLink' onclick='showHide(\"example\");return false;'><br/>See more</a></span><div id='example' style='display:none;'>";
            $result = mysql_query("SELECT * FROM subcat WHERE catnumber='1' LIMIT 11,100");

            while($row = mysql_fetch_array($result))
            {
                echo "<a href='search.php?q=". $row['subcat'] ."'/>" . $row['subcat'] ."</a>";
                echo "<br />";
            }


            echo"<br/><a href='#' id='example-hide' class='hideLink' onclick='showHide(\"example\");return false;'>Hide</a></div>";

        break;
于 2012-07-23T04:01:16.630 に答える