PHP ページでパラメーターを渡す問題についてアドバイスをお願いします
この投稿は、hisweetgirl によって最終編集されました: 2015-04-17 18:09:12
<br />$query = $db->findall("p_newsclass where f_id='$_GET[cid]'");<br />while ($row = $db->fetch_array($query)) {<br /> $news_class_in.= $row[id].",";<br />}<br />echo $news_class_in=$news_class_in."$_GET[cid]";<br />
ログイン後にコピー
と表示されます
しかし、
<br />$result = mysql_query("select id from p_newsbase where cid in ($news_class_in)");<br />$total = mysql_num_rows($result);<br />pageft($total, 20);<br />if ($firstcount < 0)<br /> $firstcount = 0;<br />$query = $db->findall("p_newsbase where cid in ($news_class_in) limit $firstcount, $displaypg");<br />
ログイン後にコピー
を SQL に書き込むときにエラーが発生し、取得された CID は実際には変更されました
- -----解決策----------------------$news_class_in.= $row[ id].",";
この方法で結合した結果は余分なカンマになりますが、これは substr または rtrim で削除できます:
while ($row = $db->fetch_array($query) ) {
$news_class_in.= $row [id].",";
}
$new_class_in = rtrim($new_class_in, ",");
echo $new_class
スクリーンショットを見ると、括弧内の最後のカンマが原因で cid in( ) SQL エラーが発生しているはずです
-----解決策のアイデア-------------- -------- URL は id ですが、$_GET[
cid] を使用して取得するにはどうすればよいですか?
------解決策のアイデア----------------------最後の図、間違った SQL ステートメント、余分な「、」があります。
このようにループを記述すると、最後に余分なカンマが発生します
-----解決策のアイデア----- ------$news_class_in この変数の最後には余分なカンマが付いています。
文を追加します:
<br />$news_class_in = trim($news_class_in, ',');<br />
ログイン後にコピー