• ベストアンサー

ページ間の値の受け渡しについて

緊急でPHPを用いて開発しなければならず、値の受渡し方法が調べても 結果がうまく出来ないために教えて下さい。 説明がうまくできないので、ソースの一部を下記に記載しております。 【keikaku.php】 <?php $link = DB接続 $query = "SELECT (1) , (2) , (3) FROM KEIKAKU WHERE 営業所= '東京'"; $res_result = mysql_query($query,$link); echo ("<form action='keikaku_input.php' method='POST'>"); while($row = mysql_fetch_array($res_result)){  echo ("<table border=1>");  echo ("<tr>");  echo ("<td><input type='radio' name='name' value=''></td>");  echo ("<td>");  echo $row['(1)'];  echo ("</td><td>");  echo $row['(2)'];  echo ("</td><td>");  echo $row['(3)'];  echo ("</td>");  echo ("</tr>"); } echo ("<input type='submit' value='次へ'>"); echo ("</form>"); ?> というSQLで一覧を表示させて、対象行のラジオボタンが選択されると (1)と(2)の値を使い、【keikaku_input.php】で更に別のSQLを実行後に 結果を表示させる事を行ないたいのです。 【keikaku.php】→【keikaku_input.php】へ(1)と(2)の値を渡したい場合 はどのようにすれば良いかご教授願えませんでしょうか?

  • PHP
  • 回答数5
  • ありがとう数6

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

  • ベストアンサー
  • yuu_x
  • ベストアンサー率52% (106/202)
回答No.3

serialize でいいか。 [code] <?php ... ?> <form action="keikaku_input.php" method="post"> <table> <tbody> <% while ($row = mysql_fetch_assoc($res_result)) : %> <tr><td><input type="radio" name="name[]" value="<%=htmlentities(serialize($row), ENT_QUOTES, 'UTF-8');%>"></td> <% foreach ($row as $value) : %> <td><%=htmlentities($value, ENT_QUOTES, 'UTF-8');%></td> <% endforeach; %> </tr> <% endwhile; %> </tbody> </table> </form> [/code] ちなみに元データが、データベースでなく、XML なら、抽出から変換まで、、、まぁいいや。

その他の回答 (4)

  • bm_hiro
  • ベストアンサー率51% (200/388)
回答No.5

配列を一行で渡したい時は #3 さんのやり方が お勧めです。 余計なお世話かな~と思いつつ、#3 さんのやり方の補完です。 シリアライズされた文字列 = htmlentities(serialize(配列), ENT_QUOTES, 'UTF-8'); の 対になるのが、 配列 = unserialize(html_entity_decode(シリアライズされた文字列)) です。 keikaku_input.php で受け取ったものを、配列に戻してください。

t036jp
質問者

お礼

皆様、ありがとうございます。時間がなく、ラジオボタンではなく <A>タグで逃げてしまったのですが、serializeの事は大変勉強に なりました。INSERT等にも色々と使えそうなので、マスターします。 本当にありがとうございました。

  • yuu_x
  • ベストアンサー率52% (106/202)
回答No.4

訂正 name="name[]" → name="name"

noname#243182
noname#243182
回答No.2

PHPではINPUT要素のNAME属性に配列を指定することが出来ます。 チェックボックスの例がありますので、ラジオボタンに置き換えてお試しください。

参考URL:
http://www.php.net/manual/ja/language.variables.external.php
  • yuu_x
  • ベストアンサー率52% (106/202)
回答No.1

PHP が理解できる形式で渡してやればよくないですか? 1. uri クエリ, JSON ( XForm を使いたいけど、実装されてるブラウザはほとんどない。) 2. 検索に必要な鍵だけ渡して、受け取り側で再検索。 ... ちなみに echo は関数ではないので、() はいりません。あったりなかったり、、、まぁいいや。

関連するQ&A

  • Formを使ったページ間での受け渡し

    いつもお世話になっています。 また、どうしても分からないことがあって投稿させて頂きます。 現在、商品管理ページをphpとmysqlで作っているのですが、 ---------------------------(分かりにくいかもしれませんが、作ってる文をそのまま載せます) <form action="Div_Insert.php" method="post">  (接続&クエリ省略) if($rows){ while($row = mysql_fetch_array($res)){ $GetItem .= "<tr>"; $GetItem .= "<td colspan=5>".$row["ITEM_ID"]."</td>"; $GetItem .= "</tr>"; $GetItem .= "<tr>"; $GetItem .= "<td>".$row["ITEM_NM"]."</td>"; $GetItem .= "</tr>"; $GetItem .= "<tr>"; $GetItem .= "<td>".$row["EXPLAN"]."</td>"; $GetItem .= "</tr>"; $GetItem .= "<tr>"; $GetItem .= "<td>".$row["ITEM_DIV"]."</td>"; $GetItem .= "</tr>"; $GetItem .= "<tr>"; $GetItem .= "<td>"; $GetItem .= "<SELECT name='ITEM_GP_LIST'><OPTION value=''></OPTION>"; while ($row2 = mysql_fetch_array($res2,MYSQL_ASSOC)){ $GetItem .= "<OPTION value=".$row2["GP_NM"].">".$row2["GP_NM"]."</OPTION>"; } mysql_data_seek( $res2, 0 ); $GetItem .= "</SELECT>"; $GetItem .= "</td>"; $GetItem .= "<tr>"; } (省略) <input type="submit" name "bottun1" value="登録"> ------------------------------- というプログラムのページを作りました。 submitされた時にDiv_Insert.phpへ $row["ITEM_ID"]とITEM_GP_LISTの値を渡せるように作りたいのですが、 試行錯誤を重ねましたが私の実力では不可能でした。 複数行の$row["ITEM_ID"]とITEM_GP_LISTを渡すというのが難しくて。。 とても分かりにくい質問だと思いますが、どうか宜しくお願い致します。

    • ベストアンサー
    • PHP
  • データーベースをフォームから入力し更新

    データーベースをフォームから入力し更新 登録済のデーターベースをフォームから入力し更新したいのですが、どうしてもうまくいきません。 http://park18.wakwak.com/~little-box/Dreamweaver/sql010.htm のサイトを参考にしているのですがitiran.phpのところからつまづいています。 // 検索した結果を全部表示 echo "<table border=1>"; echo "<tr><td>id</td><td>name</td></tr>"; while($row=mysql_fetch_array($res)){    echo "<tr>";    echo "<td>". $row["name"] . "</td>";    echo "<td>". $row["age"] . "</td>";    echo "<form action=koushin_input.php method=post>";    echo "<input type=hidden name=id value=" . $row["id"] . ">";    echo "<td><input type=submit value=更新></td>";    echo "</form>";    echo "<form action=sakujo.php method=post>";    echo "<input type=hidden name=id value=" . $row["id"] . ">";    echo "<td><input type=submit value=削除></td>";    echo "</form>";    echo "</tr>"; } echo "</table>"; の辺りがおかしいのではと思っているのですが… アドバイスください。また、他に参考になるサイトがありましたらぜひ教えてください。

    • ベストアンサー
    • PHP
  • DBから抽出したデータにを別テーブルに挿入

    どなたか、知見のある方がいらっしゃいましたらご教授願います。 ●やりたい事  Mysqlデータから抽出した表をに対し、数字を画面で入力後に追加  ボタン押下でDBへInsertする ●現状のソース  //サーバーに接続  //クエリーの実行 $res_result = mysql_query($query,$link); echo "<form action='update1.php' method='POST'>"; while($rew = mysql_fetch_array($res_result)){  echo "<table border='1'>";  echo "<tr>";  echo "<td>";  echo $rew['area'];//→※1  echo "</td>";  echo "<td>";  echo "<input type='text' name='name'>";//→※2  echo "</td>";  echo "<tr>";  echo "</table>";  } echo ("<input type='submit' value='追加'>"); 上記の※1と※2の値を「torihikisaki」テーブルに格納したいのです。 'update1.php'に値を渡してInsert文を実行しようとおもったのですが 値の渡し方が良く分かりませんでした。イメージでは※1と※2を 配列で渡し、foreachで一行づつInsertを実行するのかと思っていました。 説明が下手で申し訳ないのですが、ご教授願いますようお願い致します。

    • ベストアンサー
    • 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の勉強をしています。 入力されたIDを元にDBから氏名をクエリし、テキストボックスへ表示させようとしていますが、テキストボックスの指定の仕方が分からず、行き詰っています。 各テキストフォームは<?php?>の中に記述しています。 初心者のため簡単にできることなのかもしれませんが、ご教授願います。 <form method="POST" action="hyouji.php"> ID: <?php if($_POST["ID"]){ $id = $_POST["ID"]; echo "<input type=text name=ID onChange = submit() value = '$id'>"; ECHO "YES"; }else{ echo "<input type=text name=ID onChange = submit()>"; ECHO "NO"; } ?> Name: <?php echo "<input size=28 type=text name=Name ><br>"?> /*上記、テキストボックスに値を入力*/ <input type=submit name=bottun1 value=入力> </form> <?PHP $host = 'localhost'; $user = 'root'; $pass = 'root'; $db = 'DB'; if($_POST["ID"]){ $id = $_POST["ID"]; $link=mysql_connect($host,$user,$pass) or die("接続エラー"); mysql_query("SET NAMES sjis") or die("can not SET NAMES sjis"); mysql_select_db($db,$link) or die("接続エラー"); $sql="SELECT * FROM test WHERE id = '$id'"; $res=mysql_query($sql,$link) or die("データ抽出エラー"); $rows = mysql_fetch_array($res,MYSQL_ASSOC); echo "<tr>"; echo "<td>".$rows["user_id"]."</td>"; echo "<td>".$rows["customer"]."</td>"; echo "</tr>"; mysql_close($link); }else{ echo "表示データはなし"; } ?> 以上、長文になりましたがよろしくお願いします。

    • ベストアンサー
    • PHP
  • mysql>PHPにデータ表示、10件ごとにページ分割

    はじめまして、PHP勉強中の初心者です。。 MYSQLから取り出したデータを件数でページ分割したいのですが、 うまくきません。。 環境:eclipse3.5、mysql5.0、php5.0、xampp (phpで、sql接続、select * from でデータは表示は確認できてます)。。 ソースは↓です。。(初心者なもので不備がればすみません)。。 eclipse上では if (($page_num+1)*10<$cnt) {}でエラーで表示されます。。 どなたかご存知の方いましたら、教えていただけないでしょうか? <!--kensaku.html--> <html> <body> <form action ="kensaku.php" method="post">    名前:<input type="text" name="nm">    年齢:<input type="hidden" name="page_num" value="0">    <input type="submit" name="exec" value="検索"> </form> </body> </html> //kensaku.php ソース <html> <body> <? $nm=$_POST['nm']; $page_num=$_POST['page_num']; //データベースに接続 if (!$conn =mysql_connect("","user","PASS")) { echo "接続エラー" ; exit ; } //データベースを選択 if (!mysql_select_db("table", $con)) { echo "データベース選択エラー" ; exit ; } //LIMITを使ったSELECT文を作成 $sql = "select id,name from table " ; $sql.= "where name like '%$nm% ' order by id " ; $sql.="limit" . $page_num * 10 . ", 10" ; //SQL実行 if (!$res = mysql_query($sql)) { echo "SQLエラー<BR>" ; exit ; } //検索結果表示 echo "<table border=1>" ; echo "<tr><td>id</td><td>name</td></tr>" ; while($row = mysql_fetch_array($res)){ echo "<tr>" ; echo "<td>" . $row["id"] . "</td>" ; echo "<td>" . $row["name"] . "</td>" ; echo "</tr>" ; } echo "</table>" ; //検索条件に該当する全データの件数取得 $sql = "select count(*) from member " ; $sql.="where name like '% $nm % ' order by id " ; if (!$res = mysql_query($sql)) { echo "SQLエラー<BR>" ; exit ; } $row = mysql_fetch_array($res) ; $cnt = $row[0] ; //ページ表示 if(!$cnt > 10) echo ceil($cnt / 10), "ページの中の", $page_num + 1, "ページ目を表示<br>"; //前の10件 if ($page_num !=0) { echo "<a href = kensaku.php?nm=".$nm.",".$page_num -1..">"; echo "&lt 前の10件"; } //次の10件.--ここからエラー行ですが、、解決策がわかりません。。 if (($page_num+1)*10<$cnt) { echo "<a href = kensaku.php?nm=".$nm.",".$page_num +1..">"; echo " 次の10件 &g</a>t"; } //結果セットの開放 mysql_free_result ($res) ; //データベースから切断 mysql_close($con) ; ?> </body> </html> すみませんが、ご存知の方いましたら、よろしくお願いいたします。

    • ベストアンサー
    • PHP
  • mysql データ更新

    一覧画面に更新ボタンを作成しました 更新ボタンを押すとkoushin_input.phpにデータを渡し入力フォームを表示され番号、氏名、住所が選択されたデータが表示されるようにしたいのでが更新ボタンを押しても下記のように出ます string(64) "SELECT `番号`,`氏名`,`住所` FROM tbl_test where `番号`=0" bool(false) データが削除されています ソースコードはtop.php 一覧画面です <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>一覧画面</title> </head> <body> <BLOCKQUOTE> <BR>一覧画面<BR><BR> <?php $con=mysqli_connect("localhost","root","admin","db_test"); if(isset($_GET["del"]) and isset($_GET["id"]) and $_GET["del"]==1){ $id=(int) $_GET["id"]; $result = mysqli_query($con,"DELETE FROM tbl_test where `番号`={$id}"); } // Check connection if (mysqli_connect_errno()) { echo "Failed to connect to MySQL: " . mysqli_connect_error(); } $result = mysqli_query($con,"SELECT * FROM tbl_test"); echo "<table border='1'> <tr> <th>番号</th> <th>氏名</th> <th>住所</th> </tr>"; while($row = mysqli_fetch_array($result)) { echo "<tr>"; echo "<td>" . $row['番号'] . "</td>"; echo "<td>" . $row['氏名'] . "</td>"; echo "<td>" . $row['住所'] . "</td>"; echo "<form action=koushin_input.php method=get>"; echo "<td><input type=submit value=更新></td>"; echo "</form>"; echo "<td><a href=\"".$_SERVER["SCRIPT_NAME"]."?del=1&amp;id=".$row['番号']."\">削除</a></td>"; echo "</tr>"; } echo "</table>"; mysqli_close($con); ?> <BR><BR><BR> <A HREF="http://localhost/regist.php"> <INPUT TYPE = "SUBMIT" VALUE = "新規登録"></A> </BLOCKQUOTE> </body> </html> 受け取る側 koushin_input.phpです <html> <body> <?php // データベースに接続 if(!$con=mysql_connect("localhost","root","admin")){ echo"接続エラー"; exit; } // データベースを選択 if(!mysql_select_db("db_test",$con)){ echo"データベース選択エラー"; exit; } // SELECT文を実行 $id=(isset($_GET["id"]))?((int) $_GET["id"]):0; $sql = "SELECT `番号`,`氏名`,`住所` FROM tbl_test where `番号`={$id}"; var_dump($sql); if(!$res=mysql_query($sql)){ echo "SQL実行時エラー"; exit; } // データの存在チェック if(!$row=mysql_fetch_array($res)){ $row=mysql_fetch_array($res); var_dump($row); echo "データが削除されています"; exit; } // 入力画面の出力 echo "<form action=koushin.php method=post>"; echo "名前:<input type=text name=NAME value=\"" . $row['氏名'] . "\"> "; echo "住所:<input type=text name=ADDR value=" . $row['住所'] . "> "; echo "<input type=submit value=更新>"; echo "</form>"; // 結果セットの解放 mysql_free_result($res); // データベースから切断 mysql_close($con); ?> </body> </html> どこが原因なんでしょうか?

    • ベストアンサー
    • MySQL
  • PHPでの検索機能実装について(フレームワーク無し

    PHP初心者です。 現在、PHPにてDBからアクセスし、DBの検索を実装するプログラムを作成しております。 参考HPを元に下記のプログラムを作成したのですが、参考HPのコードではフレームワークが組み込まれており、 フレームワークを組んでいない私のコードではエラーが発生してしまいます。 エラー内容: Warning: mysql_fetch_array() expects parameter 1 to be resource, (省略) line63 Warning: mysql_free_result() expects parameter 1 to be resource, (省略) line74 参考HPでは、search.phpの17行目'$search'が宣言されてない状態で記載されて おりましたので、search.phpの最初にて宣言しました($searchでは検索キーを格納して おります)。 恐れいりますが、ご教示願います。 input.php 検索ワードを送信 <form action="search.php" method="POST"> <input type="text" name="searchkey"> <input type="submit" name="searchid" value="検索"> </form> search.php <?php $search = htmlspecialchars($_POST['searchkey']); //データベースに接続 if (!$con = mysql_connect("ホスト名", "user名", "パスワード")) { echo "接続エラー"; exit ; } //データベースを選択 if (!mysql_select_db("db名", $con)) { echo "データベース選択エラー"; exit ; } //フォームで送られてきた条件を元にSELECT文を作成 $sql = "SELECT * FROM listwhere name LIKE '% . $search . %'"; //SELECT文を実行 if ($res = mysql_query($sql)) { echo "SQLエラー<BR>" ; exit ; } //検索結果<br> echo "<table border=1>" ; while($row = mysql_fetch_array($res)){ //エラー echo "<tr>" ; echo "<td>" . $row["id"] . "</td>" ; echo "<td>" . $row["name"] . "</td>" ; echo "<td>" . $row["date"] . "</td>" ; echo "<td>" . $row["registant"] . "</td>" ; echo "<td>" . $row["comment"] . "</td>" ; echo "</tr>" ; } echo "</table>" ; //結果セットの開放 mysql_free_result($res); //エラー //データベースから切断 mysql_close($con); ?>

    • ベストアンサー
    • PHP
  • PHP 未定義の変数について

    以前にも質問しましたが、新たに壁にぶつかってしまったので再度投稿させていただきます。 ToDoリストを作っており、予定を入力フォームからデータベースへ登録、表示することまではできました。 現在は、表示されている全ての予定レコードの右端に"更新"と"削除"のボタンを設置し、それぞれの動作を行いたいと考えております。 それぞれのボタンに<input type=hidden name=No value='.$row[No].'>と記述し、更新箇所を入力するフォームを別ファイルで用意してあります。 しかし"更新"ボタンを押しても、 Notice: Undefined variable: No in C:\××××××××××\input_update.php on line 17 データは削除済か、もしくは存在しません。 というエラーメッセージが出てしまいます。(※"データは削除済みか~"は自分で記述したメッセージです。)実際にデータはあるので、変数の受け渡しがうまくいってないと思うのですが・・・ 調べると、「未定義の変数があるよ」という事なのでしょうが、未定義の変数というものが分かりません。 all_todo.php <?php $conn = mysql_connect("localhost","root","×××"); if($conn == false) {die("MySQL 接続エラー");} mysql_set_charset("sjis"); mysql_select_db("todo"); $sql="SELECT * FROM `todo`"; $todo_list=mysql_query($sql); while($row=mysql_fetch_array($todo_list)) { echo("<tr id='honbun'>"); echo("<td>"."<input id='c_change' type='checkbox' name='check' value='check'>".$row["済"]."</td>"); echo("<td id='No'>".$row["No"]."</td>"); echo("<td id='title'>".$row["タイトル"]."</td>"); echo("<td id='todo'>".$row["内容"]."</td>"); echo("<td id='limit'>".$row["期限"]."</td>"); echo("<td id='priority'>".$row["優先度"]."</td>"); echo("<form action=input_update.php method=post>"); echo("<input type=hidden name=No value='.$row[No].'>"); echo("<td><input type=submit value=更新></td>"); echo("</form>"); echo("<form action=input_update.php method=post>"); echo("<input type=hidden name=No value='.$row[No].'>"); echo("<td><input type=submit value=削除></td>"); echo("</form>"); echo("</tr>\n"); } mysql_free_result($todo_list); mysql_close(); ?> input_update.php <?php $conn = mysql_connect("localhost","root","×××"); if($conn == false) {die("MySQL 接続エラー");} mysql_set_charset("sjis"); mysql_select_db("todo"); $sql="SELECT `No`,`タイトル`,`内容`,`期限`,`優先度` FROM `todo` WHERE `No`='$No'"; $todo_list=mysql_query($sql); if(!$row=mysql_fetch_array($todo_list)) {die("データは削除済か、もしくは存在しません。");} echo "<form action=update.php method=post>"; echo "タイトル<input type=text name=タイトル value=\"" . $row["title"] . "\"> "; echo "内容<input type=text name=内容 value=\"" . $row["todo"] . "\"> "; echo "期限<input type=text name=期限 value=\"" . $row["limit"] . "\"> "; echo "優先度<input type=text name=優先度 value=" . $row["priority"] . "> "; echo "<input type=hidden name=id value=" . $id . ">"; echo "<input type=submit value=更新>"; echo "</form>"; mysql_free_result($todo_list); mysql_close(); ?> というコードです。 私の推測では、 >{die("データは削除済か、もしくは存在しません。");} というメッセージが表示されていることから、フォームからデータの受け渡しは出来ているのだと思います。ただ、意図した変数が渡されていないと思うのですが、フォームのvalue='.$row[No].'という記述に問題があるのか、はたまたname=Noの部分か、SELECT文の記述が悪いのかまったく分かりません。 どなたか知恵をお貸しください。 お願いいたします。

    • ベストアンサー
    • PHP
  • テーブルの内容を<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

専門家に質問してみよう