テーブルの内容を<a>タグでくるんだ時のアンカー

このQ&Aのポイント
  • テーブルの内容を<a>タグで挟んで表示しているスクリプトにおいて、先頭レコードのアンカーが正しく表示されず、ただのテキストになってしまう問題が発生しています。
  • 他のレコードにはアンカーがつけられており、正しくテーブルの内容が表示されています。
  • 先頭レコードにアンカーをつけるためには、どこが誤っているかご指導ください。
回答を見る
  • ベストアンサー

テーブルの内容を<a>タグでくるんだ時のアンカー

下記のPHPスクリプトにおいて、テーブルの内容を<a>タグで 挟み、データベースの内容を表示しているのですが、 先頭レコードのアンカーだけが表示されず、ただのテキストになってしまいます。 二番目以降のレコードはテーブルの内容がアンカー付きで表示されるのですが、 先頭レコードにアンカーをつけるには、どこがまちがっているのか ご指導お願いいたします。 mysql_set_charset("utf-8"); //$sql = "SELECT * FROM hospytal;"; //$result = mysql_query($sql, $con) or die(mysql_error()); if($_POST['radio_btn']==="1"){ $sql = "SELECT * FROM hospytal order by manzokudo desc;"; // 満足度の降順 $result = mysql_query($sql, $con) or die(mysql_error()); }else{ $sql = "SELECT * FROM hospytal order by kuchikomi desc;"; // 口コミ数の降順 $result = mysql_query($sql, $con) or die(mysql_error()); } $rowco = mysql_num_rows($result); // テーブルの行数 for($i=0; $i<$rowco; $i++){ $row = mysql_fetch_row($result); // 取得された行に対応する配列を返し、内部のデータポインタを前に進める echo '<a href="'.$i.'.php?sid='.$row[0].'">'; echo '<table width="500" height="120" border="1">'; echo '<tr>'; echo '<td width="500" height="30">'.$row[1].'</td>'; echo '</tr><tr>'; echo '<td width="500" height="30">'.$row[4].'&nbsp;&nbsp;&nbsp;'.$row[5].'件</td>'; echo '</tr><tr>'; echo '<td width="500" height="30">'.$row[7].'</td>'; echo '</tr><tr>'; echo '<td width="500" height="30">'.$row[9].'</td>'; echo '</tr>'; echo '</table>'; echo '</a>'; } mysql_close($con); // データベースとの接続を解除する

  • PHP
  • 回答数1
  • ありがとう数1

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

  • ベストアンサー
  • agunuz
  • ベストアンサー率65% (288/438)
回答No.1

まず >先頭レコードのアンカーだけが表示されず、ただのテキストになってしまいます。 どういうhtmlソースが返っているかを確認してください。anchor要素とtable要素をまとめて出力しているので抜け落ちる可能性はありません。最初の <a の前に閉じていない二重引用符があったりしてhtmlソースとして解釈出来ない状態になっていたりはしませんか? 以下はソースを眺めていて気になった点を書きます。 まずネイティブなMySQL関数はすでに非推奨です。今から書くならPDOをお勧めします。 http://php.net/manual/ja/mysqlinfo.api.choosing.php >mysql_set_charset("utf-8"); MySQLには、utf-8という文字セットはありません。utf8です。 >$rowco = mysql_num_rows($result); 行数を得るのはなんのためでしょうか?見たところforで回している中でもレコード番号を使っているのは >echo '<a href="'.$i.'.php?sid='.$row[0].'">'; の部分だけですが、0.phpや1.phpは存在するのですか?普通は同じphpスクリプト名(たとえばview.phpとか)でQueryStringで引き渡すIDだけを変えると思いますが・・・。 もし表示上で「行番号」が必要なら $cnt = 0; while ($row = mysql_fetch_row($result)) { $cnt++; // $rowを使った処理 } で済みます。行数を得てからforで回す意図がわかりません。 なお、そもそもanchorはインライン要素なのでtable(ブロック要素)を内包するのはマズイです。各々のtd要素内の文字列に対してanchor要素を書いてください。 (PDOの例) <?php // table要素の書式 $table = <<<EOD <table width="500" height="120" border="1"> <tr> <td width="500" height="30"><a href="view.php?sid=%s">%s</a></td>'; </tr> <tr> <td width="500" height="30"><a href="view.php?sid=%s">$s&nbsp;&nbsp;&nbsp;%d件</a></td>'; </tr> <tr> <td width="500" height="30"><a href="view.php?sid=%s">%s</a></td>'; </tr> <tr> <td width="500" height="30"><a href="view.php?sid=%s">%s</a></td>'; </tr> </table> EOD; try { $pdo = new PDO("mysql:host=localhost;dbname=dbname;charset=utf8", 'user', 'pass'); $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); if($_POST['radio_btn']==="1"){ $stmt = mysql_query('SELECT * FROM hospytal order by manzokudo desc'); } else { $stmt = mysql_query('SELECT * FROM hospytal order by kuchikomi desc'); } while ($row = $stmt->fetch(PDO::FETCH_OBJ)) { printf($table, $row->id, $row->name, $row->id, $row->rank, $row->cnt, $row->id, $row->address, $row->id, $row->address, $row->id, $row->open); } } catch (PDOException $e) { // tryブロックの終了(例外を捕捉) // 例外処理(適切に書き直してください) die('database error<br />' . $e->getMessage()); }

beterugius
質問者

お礼

長文のご説明、本当にありがとうございました。 感謝しております。

関連するQ&A

  • テーブル<TR></TR>の処理について

    次の様な処理を行いたいのですが方法をご教授下さい。 DBのテーブルに10個のレコードがあります。 すべてのレコードの情報を表示させます。 HTMLのテーブルは2列5行で表示させたい。 つまりHTMLで下記のように表示したい。 <TABLE> <TR> <TD>データ1</TD> <TD>データ2</TD> <TD>データ3</TD> <TD>データ4</TD> <TD>データ5</TD> </TR> <TR> <TD>データ6</TD> <TD>データ7</TD> <TD>データ8</TD> <TD>データ9</TD> <TD>データ10</TD> </TR> </TABLE> これをPHPで <? $con = mysql_connect("$dbhost", "$dbuser", "$dbpass"); mysql_select_db("$dbname"); $sql= "select * from DB_name"; $rs=mysql_query($sql); ?> <TABLE> <TR> <? while($row=mysql_fetch_array($rs)){ ?> <td><? echo $row['data'] ?></td> <?}?> </tr> </table> のように単純にデータを取り出すことは出来るのですが、 データを5つ毎に</TR><TR>を出す方法が分かりません。 このような処理は皆様はどのように行っていますか。 基本的な質問で申し訳ありませんが、ご教授下さい。 よろしくお願い致します。

    • ベストアンサー
    • PHP
  • tableタグ、heightタグについて

    下記のようなテーブルを組んだのですが うまくセルの高さを指定できなくて困っています。 セルの高さを固定せずに作成することは可能でしょうか? 宜しくお願いします。 <html> <head> </head> <body> <table width="500" border="1"> <tr> <td rowspan="2" height="200" width="40" valign="top"> &nbsp; </td> <td colspan="2"> &nbsp; </td> </tr> <tr> <td width="230" valign="top">1</td> <td rowspan="2" width="230" valign="top"> <br>&nbsp;<br>&nbsp;<br>&nbsp;<br>&nbsp;<br>&nbsp;<br>&nbsp;<br>&nbsp;<br>&nbsp; <br>&nbsp;<br>&nbsp;<br>&nbsp;<br>&nbsp;<br>&nbsp;<br>&nbsp;<br>&nbsp;<br>&nbsp; <br>&nbsp;<br>&nbsp;<br>&nbsp;<br>&nbsp;<br>&nbsp;<br>&nbsp;<br>&nbsp;<br>&nbsp; </td> </tr> <tr> <td colspan="2" valign="top">このセルの高さを1の下まで伸ばしたい</td> </tr> </table> </body> </html>

  • GETメソッド ID MYSQL

    分からないことがありましたのでご質問をさせて頂きます。 現在作成してる仕様なのですが、 フォームの一つの項目のリンクを設置し、別のページに渡し そこで更に詳細な情報をMYSQLからひっぱってきて表示させようとしております。 そこでGETメソッドを使って行おうとしているのですが、どうしても 変数の受け渡しがうまくいきません。 こちらがそのコードになります。 1,フォーム <td><a href="shousai.php?code=<?php echo $row['id'];?>">詳しくはこちら</a></td> 2,詳細ページ(shousai.php) <?php echo var_dump($_GET["id"]); $id = $_GET["id"]; $con = mysql_connect('localhost','aaaa','aaa'); if (!$con) { print("MySQLへの接続に失敗しました"); exit; } if (!mysql_select_db("database")) { print("データベースへの接続に失敗しました"); exit; } $sql="select * from table where id ='$id'"; $result=mysql_query($sql,$con); //SQL文の発 $rows=mysql_num_rows($result); while($row = mysql_fetch_array($result)){ ?> <table border ="1"> <tr><td><?php echo $row["name"]; ?></p></td></tr> <tr><td><?php echo $row["address"]; ?></td></tr> <tr><td><?php echo $row["station"]; ?></td></tr> <?php } ?> </table> 2の詳細ページにてvar_dumpで$_GET["id"];の値を受け取ってるか 確かめたのですがNULLになっており、ページになにも反映されません。 フォームからリンクで値を送り、それをきっかけにデータベースに接続して詳細を表示させたいと思っております。 どなたかご存知の方お伺いできませんでしょうか?

    • ベストアンサー
    • PHP
  • 動的サイトを作ってみたのですが、うまくデータベースからデータが取得できません。。。

    よろしくお願いいたします。 趣味でゲームソフトのデータベースを作っています。 MYSQLを使って動的にデータを表示させるサイトです。 http://www.game-minzoku.jp/meisai.php?titleid=5362 例えばこのようにパラメータをつけてページを展開しているのですが、 この『?title=****』の数字をアドレスバー上で変更してほかのページを表示させようとすると、 該当データがありません。 がと出てしまいます。 これがようやくGoogleにインデックスされ始めてきましたが、自然検索から入ってもこのようなことが起こってしまって困っています。 自分で調べてはみたものの、独学で進めているため、どうやって解決したらよいか分からず困っています。 どなたかお力添えいただけますと幸いです。 問題のページのソースはこちらです。(cssなどの不要と思われる個所はけしてありますが、もし足りない箇所あればおっしゃっていただけますと幸いです) ================================================================ <?php extract($_GET); mysql_connect('****','****','****'); mysql_select_db('****'); mysql_query("set character_set_client=utf8"); mysql_query("set character_set_connection=utf8"); mysql_query("set character_set_results=utf8"); $sql = "select * from game,genre,hanbai,kaihatsu,hard where game.genreid=genre.genreid and game.hardid=hard.hardid and game.hanbaiid=hanbai.hanbaiid and game.kaihatsuid=kaihatsu.kaihatsuid and game.titleid =" . $titleid; $result = mysql_query($sql); $rows = mysql_num_rows($result); $title_name_sql = "select title from game where titleid =" . $titleid ; $res = mysql_query($title_name_sql); $title_name = mysql_result($res,0); echo "<title>"; echo "$title_name | ゲーム民族</title>"; echo "</head><body>"; echo "<a href=index.php>ゲーム民族</a>"; echo "<h1><font size=2>ゲーム民族は"; echo "$title_name"; echo "の詳細を網羅したデータベースのサイトです</font></h1>"; echo "<p><a href=index.php>TOP</a> > $title_name</p>"; echo $title_name の基本情報; if($rows == 0){ echo "<p>該当データがありません。</p>"; } else { while($row = mysql_fetch_array($result)){ echo "<a href=",$row["url"],">"; echo "<img src=",$row["img"]," alt=",$row["title"],">"; echo "</a>"; echo "<table border=1 height=40 cellpadding=2 cellspacing=2 width=800>"; echo "<tr><td>タイトル</td><td>"; echo $row["title"]; echo "</td></tr>"; echo "<tr><td>発売元</td><td>"; echo "<p><a href=\"maker.php?hanbaiid=",$row["hanbaiid"],"\">", $row["hanbai"] ,"</a></p>\n"; echo "</td></tr>"; echo "<tr><td>開発元</td><td>"; echo "<p><a href=\"developer.php?kaihatsuid=",$row["kaihatsuid"],"\">", $row["kaihatsu"] ,"</a></p>\n"; echo "</td></tr>"; echo "<tr><td>機種</td><td>"; echo $row["hard"]; echo "</td></tr>"; echo "<tr><td>発売日</td><td>"; echo $row["hatsubai"]; echo "</td></tr>"; echo "<tr><td>ジャンル</td><td>"; echo "<p><a href=\"genre.php?genreid=",$row["genreid"],"\">", $row["genre"] ,"</a></p>\n"; echo "</td></tr>"; $sql2= "select * from game,title_creater,creater,roll where game.titleid=title_creater.titleid and title_creater.createrid=creater.createrid and title_creater.rollid=roll.rollid and game.titleid = " . $row["titleid"]; $result2 = mysql_query($sql2); $rows2 = mysql_num_rows($result2); while($row2 = mysql_fetch_array($result2)){ echo "<tr><td>クリエーター</td><td>"; echo $row2["creater"]; echo $row2["roll"]; echo "</td></tr>"; } } } ?> </body></html> ================================================================ 本当に見にくい意味不明のソースで申し訳ありませんが、よろしくお願いいたします!

    • ベストアンサー
    • PHP
  • 掲示板の削除用パスの文字列がPOSTメソッドで空

    掲示板の各記事の表の最下部に削除用のパスワードのテキストフィールドと、削除ボタンをつけていて、削除ボタンを押すと、その記事自体が削除されるようにしているのですが、delete_s.php側で POSTメソッドで値を引いてきても、中身が空なのです。どうしてかお分かりになる方、ご教授ください。 お願いします。 PHPのスクリプトは下記のようなものです。 ----------------------------------------------------------------------------------- function disp_record(){ // データベースに登録してあるデータを読み込む $con = mysql_connect("localhost", "root", "nifty042"); // ローカルのMySQLデータベースサーバーに接続する mysql_select_db("bbsdb"); // データベースサーバーに存在する(myPHPAdminで作成済みの)データベースを選択する $sql = "SELECT * FROM bbstbl ORDER BY date DESC;"; // 年月日の降順でソート $result = mysql_query($sql, $con); $rowco = mysql_num_rows($result); // テーブルの行数 if($rowco!=0){ for($i=0, $j=$rowco; $i<$rowco; $i++, $j--){ $row = mysql_fetch_row($result); // 取得された行に対応する配列を返し、内部のデータポインタを前に進める。 print("[".$j."]"); // 記事番号 print("<a href=\"bbs2.php\" target=\"_top\">&nbsp;最新</a>&nbsp;"); print($rowco."件の記事があります"."<br>"); print("<table width=\"715\" border=\"0\">"); print("<tr>"); print("<td>投稿日:".$row[1]."</td>"); print("</tr>"); print("<tr>"); print("<td>お名前:".$row[2]."</td>"); print("</tr>"); if($row[3]!=""){ print("<tr>"); print("<td>E-mail:".$row[3]."</td>"); print("</tr>"); } print("<tr>"); print("<td>題名:".$row[4]."</td>"); print("</tr>"); print("<tr>"); $row[5] = str_replace("\r\n", "<br>", $row[5]); // 改行をBRタグに置き換える。 print("<td>メッセージ:".$row[5]."</td>"); print("</tr>"); // if(is_null($passoword)==FALSE){ print("<form name=\"form1\" method=\"POST\" action=\"delete_s.php\">"); print("<tr>"); print("<td><input type=\"password\" name=\"ID_TEXT_DELETE_NUMBER\" id=\"ID_TEXT_DELETE_NUMBER\">&nbsp;"); // print("<input type=\"button\" name=\"ID_BTN_DELETE\" value=\"削除\" onclick=\"location.href='delete_s.php?sid=$row[0]&pass=$row[7]'\">"); print("<input type=\"button\" name=\"ID_BTN_DELETE\" value=\"削除\" onclick=\"location.href='delete.php?sid=$row[0]'\">"); print("</td></tr>"); // print("<input type=\"hidden\" id=\"hidden_value\" name=\"pass\" value=\"$row[7]\">"); print("</form>"); // } print("</table>"); print("<br>"); print("<hr color=\"silver\" width=\"100%\">"); } } } //////////////////// // メインルーチン // //////////////////// $res = disp_error(); // echo("res=".$res); if($res==1){ // 投稿成功時 regist_database(); disp_record(); }elseif($res==0){ // 何もしないでページ表示、更新されたとき disp_record(); }elseif($res==-1){ // 投稿失敗時 ; }else{ ; } ---------------------------------------------------------------------------------- 【delete_s.php】 <?php $pass = $_POST['ID_TEXT_DELETE_NUMBER']; echo("pass=".$pass); $con = mysql_connect("localhost", "root", "nifty042"); // ローカルのMySQLデータベースサーバーに接続する mysql_select_db("bbsdb"); // データベースサーバーに存在する(myPHPAdminで作成済みの)データベースを選択する $del_num = $_GET['sid']; //$pass = $_GET['pass']; //echo("pass=".$pass); $sql = "SELECT * FROM bbstbl WHERE sid=$del_num"; $result = mysql_query($sql, $con); $row = mysql_fetch_row($result); // 取得された行に対応する配列を返し、内部のデータポインタを前に進める if((strcmp($row[6], $pass))==0){ // フォームで入力された削除用パスと、投稿記事内に記入されたパスが同じ場合 $sql = "DELETE FROM bbstbl WHERE sid=$del_num"; mysql_query($sql, $con); }elseif($row[6]==NULL){ echo("投稿時に削除パスワードが入力されていません。"); }elseif($row[6]!=NULL && $pass==NULL){ echo("削除パスワードを入力してください。"); }elseif($row[6]!=NULL && $pass!=NULL && strcmp($row[6], $pass)!=0){ echo("削除パスワードが間違っています。"); } /* $sql = "DELETE FROM bbstbl WHERE sid=$del_num"; $result = mysql_query($sql, $con); */ mysql_close($con); // データベースとの接続を解除する header("Location: bbs2.php"); ?>

    • ベストアンサー
    • PHP
  • mysqlの文字化け

    お世話になります。 phpmyadminを使用しており、php内からmysqlに接続しているのですが テーブル内の結果が「????」となり文字化けしてしまいます。 phpmyadmin上では正常に日本語データが表示されます。 テーブルの文字コード:utf_general_ci ソースは以下です。 <?php ~DB接続省略~ // クエリを送信する $sql = "SELECT * FROM table"; $result = mysql_query($sql, $link) or die("クエリの送信に失敗しました。<br />SQL:".$sql); //表示するデータを作成 while($row = mysql_fetch_array($result)) { $tempHtml .= "<tr>"; $tempHtml .= "<td>".$row["YMD"]. "</td><td>".$row["NAME"]. "</td><td>".$row["OBJECT"]. "</td>"; $tempHtml .= "</tr>\n"; } //結果保持用メモリを開放する mysql_free_result($result); // MySQLへの接続を閉じる mysql_close($link) or die("MySQL切断に失敗しました。"); ?> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>全件表示</title> </head> <body> <h3>全件表示</h3> <?= $msg ?> <table width = "200" border = "0"> <tr bgcolor="##ccffcc"><td>YMD</td><td>NAME</td><td>OBJECT</td></tr> <?= $tempHtml ?> </table> </body> </html> よろしくお願いします。

    • 締切済み
    • PHP
  • php 投票システム

    データベースと連動した投票システムを考えております。 phpとMySQLを使用したもので、対応するボタンを押すと1票投じられるというものです。 この仕組み自体は実現できたのですが、 ブラウザの更新ボタンを押すと、『情報を再送信する必要があります』と表示され、『はい』を押すと、自動的に1票投じられてしまいます。 スクリプトは以下のようになるのですが、上記のような不具合を修正するためにはどうすればよいのでしょうか。 アドバイス、具体的なソース、また、他の部分における修正すべき箇所など、ご指摘いただきたいと思います。 よろしくお願いいたします。 <?php echo "<table border=0>"; echo "<tr><td colspan=4 align=left><img src=logo-touhyou.gif></td></tr>"; echo "<tr><td><form method=post action="; echo $_SERVER["PHP_SELF"]; echo "><input type=hidden value=1 name=posi><input type=image src=logo-posi-s.gif border=0></form></td>"; echo "<td><form method=post action="; echo $_SERVER["PHP_SELF"]; echo "><input type=hidden value=1 name=deep><input type=image src=logo-deep-s.gif border=0></form></td></tr></table>"; $posi=$_POST["posi"]; $deep=$_POST["deep"]; if ($posi==1){ $server="mysql..jp"; $dbname="LA"; $user="LA"; $pass=""; $conn = mysql_connect($server,$user,$pass); $conndb = mysql_select_db($dbname); $sql="SELECT posi FROM test WHERE id =1 LIMIT 1"; $res=mysql_query($sql); while($row = mysql_fetch_assoc($res)) { $row_con=mb_convert_encoding($row["posi"], "shift_jis", "auto"); echo $row_con; echo "<br>"; $number1=1; $after=$row_con+$number1; echo $after; echo "<br>"; mysql_query("LOCK TABLES test WRITE"); $sql_1="UPDATE test SET posi='$after3' WHERE id =1 LIMIT 1"; $ins=mysql_query($sql); mysql_query("UNLOCK TABLES"); if ($ins_1){ echo "ポジティブ投票完了"; } $sql_2="SELECT posi FROM test WHERE id =1 LIMIT 1"; $res_2=mysql_query($sql_2); while($row_2 = mysql_fetch_assoc($res_2)) { $row_con_2=mb_convert_encoding($row_2["posi"], "shift_jis", "auto"); echo $row_con_2; } } mysql_close($conn); } if ($deep==1){ $server="mysql..jp"; $dbname="LA"; $user="LA"; $pass=""; $conn = mysql_connect($server,$user,$pass); $conndb = mysql_select_db($dbname); $sql2="SELECT deep FROM test WHERE id =2 LIMIT 1"; $res2=mysql_query($sql2); while($row2 = mysql_fetch_assoc($res2)) { $row_con2=mb_convert_encoding($row2["deep"], "shift_jis", "auto"); echo $row_con2; echo "<br>"; $number1=1; $after2=$row_con2+$number1; echo $after2; echo "<br>"; mysql_query("LOCK TABLES test WRITE"); $sql2_2="UPDATE test SET deep='$after2' WHERE id =2 LIMIT 1"; $ins2=mysql_query($sql2_2); mysql_query("UNLOCK TABLES"); if ($ins2){ echo "ディープ投票完了"; } $sql2_2="SELECT deep FROM test WHERE id =4 LIMIT 1"; $res2_2=mysql_query($sql2_2); while($row2_2 = mysql_fetch_assoc($res2_2)) { $row_con2_2=mb_convert_encoding($row2_2["deep"], "shift_jis", "auto"); echo $row_con2_2; } } mysql_close($conn); } ?>

    • ベストアンサー
    • PHP
  • PHP PCでログインできたのに、スマホから無理

    PCからは既存アカウントでログインできるのですが、スマホからログインできません。 もちろんスマホ用サイトにも同様のスクリプトを書いております。 PCでは、ブラウザ:Google Chrome スマホのOSは、Android4.3 です。 ログインスクリプトは下記のようなものです。ちなみにこのスクリプトはスマホ用の方です。 -------------------------------------------------------------------------------------------- <?php session_start(); //////////////////// // POST変数の取得 // //////////////////// $login_id = (isset($_POST['login_id']))? $_POST['login_id'] : ""; $password = (isset($_POST['password']))? $_POST['password'] : ""; /* var_dump($login_id); var_dump($password); exit; */ if($login_id!=="" and $password!==""){ //////////////////////// // データベースを検索 // //////////////////////// $con = mysql_connect("~", "~", "~"); mysql_select_db("LAA0471050-shopcart"); mysql_set_charset('utf8'); $sql = "SET NAMES utf-8"; mysql_query($sql); $sql = "SELECT * FROM member_profile;"; $result = mysql_query($sql, $con) or die(mysql_error()); $rowco = mysql_num_rows($result); for($i=0; $i<$rowco; $i++){ $row = mysql_fetch_row($result); // 取得された行に対応する配列を返し、内部のデータポインタを前に進める if($login_id===$row[4] && $password===$row[5]){ // IDとパスワードが両方一致していた場合 $_SESSION['login'] = 1; // ログイン状態にする // setcookie("id", $login_id, time()+60*60*24*365); // アカウント用のクッキーの有効期限は一年間 // setcookie("pass", $password, time()+60*60*24*365); $_SESSION['login_id'] = $login_id; // メールアドレス header("Location: mypage.php?login_id=$login_id"); }else{ // header("Location: login.php"); // echo 'error'; } } mysql_close($con); // データベースとの接続を解除する } ?> <!doctype html> <html> <head><title>ログインページ</title> <meta charset="utf-8"> <!-- ◆ スマートフォン用 --> <meta name="viewport" content="width=device-width, initial-scale=1" /> <!-- jQuery本体--> <script type="text/javascript" src="./jquery/jquery-2.1.3.js"></script> <!-- スマホ用スタイルシート --> <link rel="stylesheet" href="./jquery/jquery.mobile-1.4.5.min.css" /> <!-- スマホ用JavaScript --> <script src="./jquery/jquery.mobile-1.4.5.min.js"></script> </head> <body bgcolor="#FFFFCC"> <br> <?php for($i=0; $i<60; $i++){ echo '&nbsp'; } if($_SESSION['login']!==1){ echo '<a href="membership_form.php"><img src="./images/shinki.png" border="0"></a>'; echo '&nbsp;<a href="login.php"><img src="./images/login.png" border="0"></a>'; }else{ // ログインしてれば echo '<a href="mypage.php"><img src="./images/mypage.png" border="0"></a>'; echo '&nbsp;<a href="logout.php"><img src="./images/logout.png" border="0"></a>'; } ?> <br><br> <?php ////////////// // 表の表示 // ////////////// echo '<center>'; echo '<table width="320" cellpadding="0" cellspacing="0" border="0">'; echo '<tr rowspan="10" width="320">'; // ⇐ このrowspan="14"で、⇒の画像などを幅寄せできる【重要】 echo '<form name="form1" method="post" action="login.php">'; echo '<tr><td><img src="./images/login_bar.png" width="100%"></td></tr>'; echo '<tr><td width="320" height="20" class="line1">ログインID(メールアドレス)</td></tr>'; echo '<tr>'; echo '<td width="320" height="20" align="middle">'; echo '<input type="text" class="yokohaba" name="login_id" id="login_id" size="75" tabindex="1">'; echo '</td>'; echo '</tr>'; echo '<td width="320" height="20" class="line1">パスワード</td>'; echo '</tr>'; echo '<tr>'; echo '<td width="320" height="20" align="middle">'; //echo '<input type="password" class="yokohaba" name="password" id="password" size="75" tabindex="2" value="'.$_COOKIE['pass'].'">'; echo '<input type="password" class="yokohaba" name="password" id="password" size="75" tabindex="2">'; echo '</td>'; echo '</tr>'; echo '<tr><td width="320" height="20" align="middle">'; echo '<a href="JavaScript:document.form1.submit()" onclick="location.href=\'login.php\'"><img src="./images/login_send.png" border="0" tabindex="3" width="100%"></a>'; echo '</td></tr>'; echo '</form>'; echo '</table>'; ?> <br><br> <center><a href="top.php">トップページ</a></center> </center> </body> </html> どこがどう間違っているのか、ご指導お願い致します。

    • 締切済み
    • PHP
  • mysql_queryでDB検索をしたいが、結果が表示できない

    MYSQL関数の練習で、以下のソースを実行しました。selectDBなどの部分は省いております。 $sql_keyword = ereg_replace("[[:blank:]]+","%\" and name LIKE \"%",trim($word)); $sql = "SELECT * FROM shop where name LIKE \"%$sql_keyword%\""; $result = mysql_query($sql) or die('Query failed: ' . mysql_error()); echo "<table>\n"; while ($line = mysql_fetch_array($result, MYSQL_ASSOC)) { echo "\t<tr>\n"; foreach ($line as $col_value) { echo convert("\t\t<td>$col_value</td>\n"); } echo "\t</tr>\n"; } echo "</table>\n"; mysql_free_result($result); で行うも、エラーなども無く、結果がブランクになってしまいます。 検索する文字列($WORD)に該当するレコードは複数存在します。 エラーなどもないため、原因がわかりません。皆様のお力をお借りできればと存じます。よろしくお願いいたします。

    • ベストアンサー
    • PHP
  • テーブル内でのランダムな並べ変え

    全然知識がないのですがよろしくお願いします。 タグで <table border="0"> <tr> <td colspan="3" width="100%" bgcolor="#FF1493"><font color="#ffffff">&nbsp;&nbsp;◆タイトル</font></td> </tr><tr><td width="100" height="100"><img src="画像.jpg" width="100" height="100" border="0"></td> <td colspan="2" width="380" height="100" valign="top" align="left" bgcolor="#F8E0F7">文書</td> </tr> <tr> <td colspan="3" width="100%" bgcolor="#FF1493"><font color="#ffffff">&nbsp;&nbsp;◆タイトル</font></td> </tr><tr><td width="100" height="100"><img src="画像.jpg" width="100" height="100" border="0"></td> <td colspan="2" width="380" height="100" valign="top" align="left" bgcolor="#F8E0F7">文書</td> </tr> <tr> <td colspan="3" width="100%" bgcolor="#FF1493"><font color="#ffffff">&nbsp;&nbsp;◆タイトル</font></td> </tr><tr><td width="100" height="100"><img src="画像.jpg" width="100" height="100" border="0"></td> <td colspan="2" width="380" height="100" valign="top" align="left" bgcolor="#F8E0F7">文書</td> </tr> </table> このようなテーブルがあって、その順番をページ更新でタイトル・画像・文書を一枠としてクルクルランダムに入れかえたいのですが、どうしたらいいでしようか? 今後、この一枠がドンドン増えて行って、それも含めて全ての枠をランダムに入れ替えたいのです。 jqueryで簡単にできるようなことは聞きましたが、私には知識がないので助けてください。 よろしくお願いします。 http://www.finefinefine.jp/web/kiji2068/ ここを見れとも言われたのですが、スクリプトは私には不明です・・・

専門家に質問してみよう