-2

問題を検索しましたが、見つかりません。この警告を表示するスクリプトがあります警告:52.php行の/home/でゼロ除算-http://usedcarsforsaleingauteng.comでエラーを確認できます//

以下を見ると、$ pages = ceil($ total / $ _GET [p]); //ページ数は52.php行です

助けてくれませんか。ありがとうございました

// get total number of entries for pagenation
$result = mysql_query("SELECT COUNT(*) FROM $dblist $where", $link);
$total  = mysql_fetch_array($result); $total = $total[0]; // total number of listings
$pages  = ceil($total / $_GET[p]); // number of pages
}
4

3 に答える 3

2

これを回避する最善の方法$_GET['p']は、除算を行う前に 0 かどうかを確認することです。

$pages = ($_GET['p']==0) ? 1 : ceil($total / $_GET['p']);

$pagesまたは、0の場合は何になりたいか$_GET['p'](上記の例では1を想定しています)

于 2012-07-28T17:07:10.157 に答える
1

$_GET[p]おそらく未定義です。存在するかどうかを確認する必要があります。

if(isset($_GET['p'])) {
    $p = (int) $_GET['p'];
    // Your code
    if($p != 0)
        $pages  = ceil($total / $p);
    else {
        // Do errorhandling e.g. setting $page = 0
    }
}

$_GET['p']また、常に代わりに書く必要があることに注意してください$_GET[p]

于 2012-07-28T17:07:49.447 に答える
1

使用し$_GET['p']ないでください$_GET[p] ( ' に注意してください)

あなたのウェブサイトをチェックアウトしたところ、エラーが表示されました。$_GET['p']URL に変数が指定されていない場合、変数をフォールバック値に設定していません。

http://usedcarsforsaleingauteng.com/にアクセスすると、エラーが表示されますが、次のエラーは表示されません: http://usedcarsforsaleingauteng.com/?p=1

フォールバック値が必要です:

if($_GET['p']){
 $page = $_GET['p'];
} else{
 $page = 1;
}
$pages  = ceil($total / $page);
于 2012-07-28T17:08:38.320 に答える