アプリ版:「スタンプのみでお礼する」機能のリリースについて

【mysql+php】
レビューサイトの運営をしています。
ここ1週間ほど、機械的に投稿されるものにつかまってしまい、荒らしにあっています。
荒らしの投稿は、必ず
<a href
とaタグがつくので、それ以外を吐き出ししたいと思います。
いま組んでいるソースを載せますので、そのように組んだらよいのか教えていただけますと幸いです。
(本当なら、そういった投稿を阻止するプログラムを組めればいいのですが、今回は暫定的に、上記のプランで行きたいと思います)
宜しくお願いいたします。



テーブル review

reviewid , titleid , review , review_date
1 , 1 , おもしろかった , 2011-02-12
2 , 15 , つまらなかった , 2011-03-10
3 , 55 , <a href="http://・・・ , 2011-03-12
4 , 55 , <a href="http://・・・ , 2011-03-12
5 , 55 , <a href="http://・・・ , 2011-03-12
6 , 55 , <a href="http://・・・ , 2011-03-12


---------------------------------------------

$sql99= "select * from review
order by reviewid desc limit 0, 10";
$result99 = mysql_query($sql99);
$rows99 = mysql_num_rows($result99);


while($row99 = mysql_fetch_array($result99)){
echo $row99["review"];
}

---------------------------------------------

除外したい言葉(登録は来てもいいので、吐き出したくない言葉)
href


細かい組んだソースは書いておりませんが、
これだけではわからない、などありましたらぜひお願いいたします。

宜しくお願いいたします。

A 回答 (1件)

単純にSQLを以下のようにすればよいのではないでしょうか。


ちなみに検証はしていませんので、そのまま貼り付けても動かないかもしれません。

select * from review
NOT review.review like '%<a href%'
order by reviewid desc limit 0, 10

この回答への補足

すいません!
自分でいろいろと調べてみて、
WHEREをつけることで成功しました!
ありがとうございました!!

補足日時:2011/03/13 16:01
    • good
    • 0
この回答へのお礼

おはやいご回答本当にありがとうございます!
まさに私がやりたかったことです!

ただ、実装してみたら全てのレビューが非表示になってしまいました。。
<a href
でも
href
でも試してみましたが駄目でした。。

実は、このselet文、
本当はもうひとつテーブルをleft joinでつなげて

$sql99= "select * from review
left join title on review.titleid = title.titleid
order by review.reviewid desc limit 0, 10";
$result99 = mysql_query($sql99);
$rows99 = mysql_num_rows($result99);

としているのですが、上手くいかない理由として関係ありそうでしょうか・・・?


どなかたお分かりになりましたら宜しくお願いいたします。

お礼日時:2011/03/13 15:29

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!