• ベストアンサー

phpとjavascriptで画像を切り替える

こんにちは。phpで掲示板を作っているんですが、画像差し替えのためのjavascriptを入れると上手く動作しません。どなたかお手数ですがご教授いただけませんでしょうか?以下がスクリプトです。 <?php require_once("****.php"); $con = mysql_connect($DBSERVER, $DBUSER, $DBPASSWORD); $selectdb = mysql_select_db($DBNAME, $con); $sql = "select * from stock where no = '$no'"; $rst = mysql_query($sql,$con); $body =""; while($col = mysql_fetch_array($rst)) { $img = $col["imgfilename"]; $img1 = $col["imgfilename1"]; $body .= "<p style='text-align: center;'> <img src ='upload/$img' name='imgs' alt='*'><br> <a href ='#' onClick='roimg('upload/$img1'); return false;'>差し替え画像</a> </p>"; } $con= mysql_close($con); ?> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <HTML> <HEAD> <META http-equiv="Content-Type" content="text/html; charset=Shift_JIS"> <META http-equiv="Content-Style-Type" content="text/css"> <script type="text/javascript"> <!-- function roimg(i){ if (document.images){ document.imgs.src=i; } } //--> </script> </HEAD> <center> <?= $body ?> </center> </BODY> </HTML>

質問者が選んだベストアンサー

  • ベストアンサー
  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.2

回答については#1さんのとおりだと思いますが補足。 $bodyにデータを流し込むとき、複数行をダブルコー テーションでくくっていますが、可読性もわるく、 バグの温床ともなりかねないのでヒアドキュメントを お使いになるとよいでしょう。 それならコーテーションをエスケープする必要もなく なります。 $body .=<<<eof 普通にHTMLをかく eof;

briantaphy
質問者

補足

#1さん#2さんご回答有難うございます。ヒアドキュメント??ですか・・ 恐縮ですが上記のスクリプトを以下のようにすればいいのですか?試したところエラーが出てしまって上手くいきません。宜しくお願いします。 ~中略~ $body .=<<<eof<p style="text-align: center;"> <img src ="upload/$img" name="imgs" alt="*"><br> <a href ="#" onClick="roimg('upload/$img1'); return false;">差し替え画像</a> eof; } $con= mysql_close($con); ~中略~

その他の回答 (2)

  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.3

#2です。 エラーはPHPのエラーですかjavascriptのエラーですか? とりあえず「eof」は終端子なのでその後ろになにも かけません。すぐ改行してください。

briantaphy
質問者

お礼

試行錯誤の上何とかできました。なるほど終端子ですか。 有難うございます、大変勉強になりました。

  • moon_night
  • ベストアンサー率32% (598/1831)
回答No.1

<a href ='#' onClick='roimg('upload/$img1'); return false;'>差し替え画像</a> シングルクウォーテーションの中にシングルクウォーテーションが入っているけど、こういう書き方ってできましたっけ?

関連するQ&A