mysqlからデータを取り出して表示する方法

このQ&Aのポイント
  • HTML・PHP・MySQLを使用してmysqlから取り出したデータをブラウザで表示する方法について教えてください。
  • データベースから取得した名簿データを表形式で表示するための具体的なソースコードを教えてください。
  • Windows2000/sp5 Apache/2.0.55 PHP/5.0.5 MySQL 5.0の環境で、mysqlから取り出したデータを表形式で表示する方法を教えてください。
回答を見る
  • ベストアンサー

mysqlから取り出したデータの並び方を変えたい。

こんばんは。HTML・PHP・mysql共に初心者の者です。どなたかお知恵をお貸しください。以下に環境を記します。 Windows2000/sp5 Apache/2.0.55 PHP/5.0.5 MySQL 5.0 簡単な名簿のデータ(ID・名前・年齢・生年月日・住所・電話番号)をMysqlから取り出してブラウザで表示させるだけなんですが、全て表示させるまでは成功しました。 この場合 ____________________________ ID 名前 年齢 生年月日 住所 電話番号 *** ***** ** ******** ******* ********** *** ***** ** ******** ******* ********** *** ***** ** ******** ******* ********** *** ***** ** ******** ******* ********** のようになると思いますが、 __________________________ ID   |*** | 名前  | *****      | 年齢  | ** | 生年月日| ********  | 住所  | *******      | 電話番号| **********  | __________________________ ID   |*** | 名前  | *****      | 年齢  | ** | 生年月日| ********  | 住所  | *******      | 電話番号| **********  | __________________________ ID   |*** | 名前  | *****      | 年齢  | ** | 生年月日| ********  | 住所  | *******      | 電話番号| **********  | __________________________ ID   |*** | 名前  | *****      | 年齢  | ** | 生年月日| ********  | 住所  | *******      | 電話番号| **********  | というようにしたいのです。 まったく勉強不足で申し訳ないのですが、どなたか具体的なソースをご教授ください。よろしくお願いします。

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

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

  • ベストアンサー
回答No.3

単にHTMLを表示する部分の問題に思えます。 補足がないと解決できない問題でした。 while ($col = mysql_fetch_array($rst)) { $body .= <<<EOF <table border="1"> <tr><th>ID</th><td>{$col['id']}</td></tr> <tr><th>氏名</th><td>{$col['name']}</td></tr> <tr><th>年齢</th><td>{$col['age']}</td></tr> <tr><th>生年月日</th><td>{$col['bday']}</td></tr> <tr><th>住所</th><td>{$col['address']}</td></tr> <tr><th>自宅電話</th><td>{$col['tel']}</td></tr> </table> EOF; }

gacky1234
質問者

お礼

<?php $dbserver = "localhost"; $dbuser = "root"; $dbpassword = ""; $dbname = "meibo"; $con = mysql_connect($dbserver,$dbuser,$dbpassword); mysql_query("set names sjis"); $selectdb = mysql_select_db($dbname); $id = mysql_escape_string($_GET["id"]); $sql = "select id, name, bday, address, tel, curdate(), (year(curdate())-year(bday)) - (right(curdate(),5)<right(bday,5)) as age from meibo_1 WHERE id={$id}"; $rst = mysql_query($sql); while ($col = mysql_fetch_array($rst)) { $body .= <<<EOF <table> <tr><th>ID</th><td nowrap>{$col['id']}</td></tr> <tr><th>氏名</th><td nowrap>{$col['name']}</td></tr> <tr><th>年齢</th><td nowrap>{$col['age']}</td></tr> <tr><th>生年月日</th><td nowrap>{$col['bday']}</td></tr> <tr><th>住所</th><td nowrap>{$col['address']}</td></tr> <tr><th>自宅電話</th><td nowrap>{$col['tel']}</td></tr> </table>EOF; } mysql_free_result($rst); $con = mysql_close($con); ?> <!doctype html public "-//w3c//dtd html 4.01 transitional//en"> <html> <head> <STYLE type="text/css"> TH { color: #ffffff; /* 文字の色 */ background-color: #666699; /* 背景の色 */ border-style: solid; /* 枠の種類 */ border-color: #9999cc #333366 #333366 #9999cc; /* 枠の色 */ border-width: 7px; /* 枠の幅 */ } TD { color: #ffffff; /* 文字の色 */ background-color: #9999cc; /* 背景の色 */ border-style: solid; /* 枠の種類 */ border-color: #ccccff #666699 #666699 #ccccff; /* 枠の色 */ border-width: 7px; /* 枠の幅 */ } </STYLE> </head> <body> <?=$body?> </body> </html>

gacky1234
質問者

補足

shirayukix さま ご丁寧な回答ありがとうございます。 以下のソースでやってみましたが、Parse error: parse error, unexpected $end in C:\Program Files\*****\*****\*****\*****.php on line 99 が出て、うまくいきませんでした。 一応前後の部分も晒しておきます。 大変お手数ですが、宜しくお願いいたします。

その他の回答 (3)

回答No.4

私が示したソースとよく見比べてみてください。 参考URLを示しますので、ヒアドキュメントについて学んでください。 一行ごとに代入やprintするよりも便利です。

参考URL:
http://beginners.atompro.net/htm/faqphp/heardoc.shtml
gacky1234
質問者

お礼

shirayukix さま できました~~~!ありがとうございます! ヒアドキュメントについて大変勉強になりました。 ポイントは $body .= と <<<EOF の間の半角スペースですね。 ダブルクォーテーションがうっとうしかったので、これは便利です。 大変お手数おかけしました。もっと修行を重ねて、今よりもっと高度な所で行き詰りたいと思います。その際は宜しくお願いいたします。 大変にありがとうございました!

回答No.2

PHPですね。 表示する部分の前後のソース、使用したsql文をください。 それから、表示順と言えば、例えば「ID順に出力する」「名前順に出力する」というのもありますが、こちらは大丈夫でしょうか?

gacky1234
質問者

お礼

shirayukixさま >PHPですね。 >表示する部分の前後のソース、使用したsql文をください。 ご返答ありがとうございます。ソースはasuncionさんへの回答と補足に分けて書いてありますので、確認していただけますでしょうか。 回答に書いてあるのが、名簿の一覧(ID・名前・年齢)でファイル名はmeibo.phpです。 補足に書いてあるのが、詳細情報(ID・名前・年齢・生年月日・住所・電話番号)でファイル名はmeibo_view.phpです。 >それから、表示順と言えば、例えば「ID順に出力する」「名前順に出力す >る」というのもありますが、こちらは大丈夫でしょうか? はい。order by ですね。そちらのほうは大丈夫です。 お手数ですが宜しくお願いいたします。

  • asuncion
  • ベストアンサー率33% (2126/6288)
回答No.1

> 全て表示させるまでは成功しました。 まずは、そのphpスクリプトを提示してみてください。 そうすれば、どなたかお詳しいかたから 改造後のスクリプトが届くかもしれません。

gacky1234
質問者

お礼

ありがとうございます。ソースは以下です。 <?php $dbserver = "localhost"; $dbuser = "root"; $dbpassword = ""; $dbname = "meibo"; $con = mysql_connect($dbserver,$dbuser,$dbpassword); mysql_query("set names sjis"); $selectdb = mysql_select_db($dbname); $sql = "select id, name, curdate(), (year(curdate())-year(bday)) - (right(curdate(),5)<right(bday,5)) as age from meibo_1"; $rst = mysql_query($sql); $rec = mysql_num_rows($rst); $body = "<b>$rec 件のデータがみつかりました。</b>"; $body .= "<table> <tr> <th bgcolor='#cccccc'>ID</th> <th bgcolor='#cccccc'>氏名</th> <th bgcolor='#cccccc'>年齢</th>  </tr>"; while ($col = mysql_fetch_array($rst)) { $body .= "<nobr><tr>" . "<td>$col[id]</td>" . "<td><a href='/meibo_view.php?id={$col["id"]}'>$col[name]</a></td>" . "<td>$col[age]</td>" . "</tr></nobr>"; } $body .= "</table>"; $body .= "</form>"; mysql_free_result($rst); $con = mysql_close($con); ?> となりまして、この段階では上から順の通常の表示でかまわないのですが、 名前のリンクをクリックすると、その人の詳細情報が表示されるページにて表の並び方を変えたいのです。 詳細情報用のページに続きます・・・。

gacky1234
質問者

補足

続きです。以下、詳細情報用ページ meibo_view.php になります。 <?php $dbserver = "localhost"; $dbuser = "root"; $dbpassword = ""; $dbname = "meibo"; $con = mysql_connect($dbserver,$dbuser,$dbpassword); mysql_query("set names sjis"); $selectdb = mysql_select_db($dbname); $id = mysql_escape_string($_GET["id"]); $sql = "select id, name, bday, address, tel, curdate(), (year(curdate())-year(bday)) - (right(curdate(),5)<right(bday,5)) as age from meibo_1 WHERE id={$id}"; $rst = mysql_query($sql); $body .= "<table> <tr> <th nowrap>ID</th> <th nowrap>氏名</th> <th nowrap>年齢</th> <th nowrap>生年月日</th> <th nowrap>住所</th> <th nowrap>自宅電話</th>  </tr>"; while ($col = mysql_fetch_array($rst)) { $body .= "<nobr><tr>" . "<td nowrap>$col[id]</td>" .                   "<td nowrap>$col[name]</td>" . "<td nowrap>$col[age]</td>" . "<td nowrap>$col[bday]</td>" . "<td nowrap>$col[address]</td>" . "<td nowrap>$col[tel]</td>" . "</tr></nobr>"; } $body .= "</table>"; mysql_free_result($rst); $con = mysql_close($con); ?> もちろんこの状態では、通常の表示形式でしか表示できず、困っています。 どなたか是非お知恵をお貸しくださいませ!

関連するQ&A

  • Mysqlから取り出した名簿データの名前をクリックして詳細を表示したい。

    はじめまして。PHP・mysql共に初心者の者です。どなたかお知恵をお貸しください。以下に環境を記します。 Windows2000/sp5 Apache/2.0.55 PHP/5.0.5 MySQL 5.0 簡単な名簿のデータ(ID・名前・年齢・生年月日・住所・電話番号)をMysqlから取り出してブラウザで表示させるだけなんですが、全て表示させるまでは成功しました。 この表示をID・名前・年齢だけにして、名前をクリックすると、その人だけのID・名前・年齢・住所・電話番号が表示されるようにしたいのです。 まったく勉強不足で申し訳ないのですが、行き詰ってしまいました。 どなたか具体的なソースをご教授ください。よろしくお願いします。 以下に、全てのデータ表示のためのソースをさらします。 <?php $dbserver = "localhost"; $dbuser = "root"; $dbpassword = ""; $dbname = "meibo"; $con = mysql_connect($dbserver,$dbuser,$dbpassword); mysql_query("set names sjis"); $selectdb = mysql_select_db($dbname); $sql = "select id, name, age, bday, address, tel, curdate(), (year(curdate())-year(bday)) - (right(curdate(),5)<right(bday,5)) as age from meibo_1"; $rst = mysql_query($sql); $body = mysql_num_rows($rst) . "件のデータがあります。. <br><br>"; $body .= "<table border='1'> <tr> <th NOWRAP>ID</th> <th NOWRAP>氏名</th> <th NOWRAP>年齢</th> <th NOWRAP>生年月日</th> <th NOWRAP>住所</th> <th NOWRAP>電話番号</th>  </tr>"; while ($col = mysql_fetch_array($rst)) { $body .= "<nobr><tr>" . "<td NOWRAP>$col[id]</td>" . "<td NOWRAP>$col[name]</td>" . "<td NOWRAP>$col[age]</td>" . "<td NOWRAP>$col[bday]</td>" . "<td NOWRAP>$col[address]</td>" . "<td NOWRAP>$col[tel]</td>" . "</tr></nobr>"; } $body .= "</table>"; mysql_free_result($rst); $con = mysql_close($con); ?> <!doctype html public "-//w3c//dtd html 4.01 transitional//en"> <html> <head> </head> <body> <?=$body?> </body> </html>

    • ベストアンサー
    • PHP
  • mysqlから取り出した検索結果にチェックボックスを付けたい。

    こんばんは。PHP・mysql共に初心者の者です。どなたかお知恵をお貸しください。以下に環境を記します。 Windows2000/sp5 Apache/2.0.55 PHP/5.0.5 MySQL 5.0 簡単な名簿のデータ(ID・名前・年齢・生年月日・住所・電話番号)をMysqlから取り出してブラウザで表示させるだけなんですが、全て表示させるまでは成功しました。 この表示をID・名前・年齢だけにして、各レコードの左端にチェックボックスを配置し、1件または複数件チェックを入れて「詳細を表示」ボタンをおすと、チェックを入れた人のID・名前・年齢・生年月日・住所・電話番号が表示されるようにしたいのです。 while文の中にチェックボックスを組み込んだり、色々と試行錯誤しましたがダメでした。 まったく勉強不足で申し訳ないのですが、どなたか具体的なソースをご教授ください。よろしくお願いします。 以下に、全てのデータ表示のためのソースをさらします。 <?php $dbserver = "localhost"; $dbuser = "root"; $dbpassword = ""; $dbname = "meibo"; $con = mysql_connect($dbserver,$dbuser,$dbpassword); mysql_query("set names sjis"); $selectdb = mysql_select_db($dbname); $sql = "select id, name, age, bday, address, tel, curdate(), (year(curdate())-year(bday)) - (right(curdate(),5)<right(bday,5)) as age from meibo_1"; $rst = mysql_query($sql); $body = mysql_num_rows($rst) . "件のデータがあります。. <br><br>"; $body .= "<table border='1'> <tr> <th NOWRAP>ID</th> <th NOWRAP>氏名</th> <th NOWRAP>年齢</th> <th NOWRAP>生年月日</th> <th NOWRAP>住所</th> <th NOWRAP>電話番号</th>  </tr>"; while ($col = mysql_fetch_array($rst)) { $body .= "<nobr><tr>" . "<td NOWRAP>$col[id]</td>" . "<td NOWRAP>$col[name]</td>" . "<td NOWRAP>$col[age]</td>" . "<td NOWRAP>$col[bday]</td>" . "<td NOWRAP>$col[address]</td>" . "<td NOWRAP>$col[tel]</td>" . "</tr></nobr>"; } $body .= "</table>"; mysql_free_result($rst); $con = mysql_close($con); ?> <!doctype html public "-//w3c//dtd html 4.01 transitional//en"> <html> <head> </head> <body> <?=$body?> </body> </html>

    • 締切済み
    • PHP
  • PHPでMySQLのデータを読み込んだ際の文字化けについて

    宜しくお願いいたします。 PHPからMySQLのデータを参照して、HTML上に文字を表示させたら、文字化けしてしまいます。具体的には ・・・ログインIDとパスワードを送信して、その情報をMySQL上のデータベースで参照し、そのレコードにあるユーザー名をHTMLで表示する・・・ といった事を行います。ログインIDはURLからGETで送って、パスワードはPOSTで送っています。送られてきたIDとパスワードで、 <?php $userlist = mysql_query("select * from テーブル名 where id = '$ID' and password= '$password'",${接続ID}); $user = mysql_fetch_array(${userlist}); ?> といった形で『$user』にレコードを配列として代入して、HTML上の必要な箇所で、 <?php print "${user['name']}" ?> といった形でそのIDとパスワードのユーザー名を表示しています。ところが、実際にブラウザで表示させると、データベースには 『アドミニストレーター』 とカタカナで入力しているのですが、HTMLでは、 『・「・ノ・゜・ヒ・ケ・ネ・・シ・ソ。ン』 と化けて表示されます。 HTML上の文字などは特に化けていません。データベースから抽出した文字だけが化けてしまいます。 どなたか、この現象を解決するヒントを教えて下さい!お願いします!!

    • ベストアンサー
    • MySQL
  • MySQLのデータをPHPで整理して出力したいんです(;_;)

    MySQL5.0.37+PHP5.2.1でアンケートフォームを作成しました。 今後のアンケートの内容が変わっても平気なように、 [main_unq]と[option_unq]というテーブルを2つ作り [main_unq]の方には基本情報が入っており、 ID|アンケートID| 名前 | 住所 | 電話番号 | 1 | 1 |山田太郎|北海道|012-345-6***| 2 | 3 |川田次郎| 岩手 |098-765-4***| 3 | 1 |空山三郎| 青森 |026-842-8***| のようなテーブルになっています。 [option_unq]の方には今後のアンケートの内容が増えても平気なように、[main_unq]の方のIDと[option_unq]のoption_idをキーにして。 ID|main_id| option_name  |option_value| 1 |  1  |パソコン持ってる?| 持っている | 2 |  1  |  車持ってる?  | 持ってない | 3 |  2  |  家族は何人?  |    5   | 1 |  3  |パソコン持ってる?| 持ってない | 2 |  3  |  車持ってる?  | 持っている | というようなテーブルになっています。 option_nameにはアンケートごとの質問内容、option_valueにはその答えが入っています。 質問の数はアンケートによって違います。 このアンケートの内容をcsvで出力したいのですが、 その際に、[main_unq]のIDの内容と、その後ろにoption_nameの内容の数だけフィールドを作り、そこにoption_valueを表示させたいと思っています。 イメージ的には以下のような形です。 ID|アンケートID| 名前 | 住所 | 電話番号 |パソコン持ってる?|車持ってる?| 1 | 1 |山田太郎|北海道|012-345-6***|  持ってる   | 持ってない | 3 | 1 |空山三郎| 青森 |026-842-8***|  持ってない  | 持ってる  | ID|アンケートID| 名前 | 住所 | 電話番号 |家族は何人?|   2 | 3 |川田次郎| 岩手 |098-765-4***|5| のような形でも、 ID|アンケートID| 名前 | 住所 | 電話番号 |パソコン持ってる?|車持ってる?| 1 | 1 |山田太郎|北海道|012-345-6***|  持ってる   | 持ってない | ID|アンケートID| 名前 | 住所 | 電話番号 |パソコン持ってる?|車持ってる?| 3 | 1 |空山三郎| 青森 |026-842-8***|  持ってない  | 持ってる  | ID|アンケートID| 名前 | 住所 | 電話番号 |家族は何人?|  2 | 3 |川田次郎| 岩手 |098-765-4***|5|  のような形でも、出力結果を他の者が見て違和感なければどんな形でも良いです。 初心者なもので、質問内容が分かりにくいかと思いますが、来週頭にはなんとかしないといけないので、とても困っています。 どうかよろしくお願いします(><)

    • ベストアンサー
    • MySQL
  • MySQL接続・カテゴリわけ

    MySQLで下記のようににテーブルを作成しました。 +----+------+------+-------+ | id | name | age | add | +----+-------+-----+-------+ | 01 | 名前1 | 20 | 住所1 | | 02 | 名前2 | 20 | 住所2 | | 03 | 名前3 | 35 | 住所3 | | 04 | 名前4 | 21 | 住所4 | | 05 | 名前5 | 21 | 住所5 | | 06 | 名前6 | 20 | 住所6 | +----+-------+-----+-------+ これをPHPで接続し、年齢別で整理したいのですが、 どのようにしたらいいのかわかりません。 現在は下記のように記述し、SQLのデータを配列に入れ、 その配列を分解して年齢別に分ける・・・といったやり方を行っていますが、 これだとMySQLの意味がないような気がします。 もっと簡単に年齢別でわけることは可能でしょうか。 $rs = mysql_query("select * from test order by age" , $conn); $i = 0; while($rec = mysql_fetch_array($rs)){ $cate_only[] = "$rec[age]"; //年齢のみの配列を作成 $arr_cate_only = array_unique($cate_only); //年齢のみの配列から同じものを削除 $arr_cate_only = array_values($arr_cate_only); //年齢のみの配列を再度作成 $count_cate = count($arr_cate_only); //年齢が何個あるかカウント ・ ・ ・ } 具体的には下記のような感じでページを表示したいです。 年齢別で表示しています。 年齢「20」 ┣名前1 ┣名前2 ┗名前6 年齢「21」 ┣名前4 ┗名前5 年齢「35」 ┗名前3

    • ベストアンサー
    • PHP
  • MYSQLに接続できず困っています(PHP)

    PHP(Ver5.2.0)でMYSQL(Ver4.1)に接続ができません。 APACHE(Ver2.0.59)です。 以下、ソースです。 <?php $link = mysql_connect('localhost', 'root', 'pwd'); if (!$link) { die('接続できませんでした: ' . mysql_error()); } echo '接続に成功しました'; mysql_close($link); ?> 以下、実行結果です。 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <HTML><HEAD> <META http-equiv=Content-Type content="text/html; charset=shift_jis"></HEAD> <BODY></BODY></HTML> PHPのみであれば、正常に動作します。 心あたりのある方は、ご教授願います。

    • ベストアンサー
    • MySQL
  • 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
  • apache2 phpからMySQLを読み込めない

    Windows XP環境で、apache2.2とphp5、MySQL5.0をインストールしています。 apacheのモジュールとしてphpを動かすことには成功していますが、 phpからMySQLを参照出来ないようです。 具体的には <?php $mysql=mysql_connect("localhost","root","○×△"); if(mysql_select_db("dbname", $mysql)){ print "OK!"; }else{ print "NG!"; } ?> といったプログラムをブラウザから実行させると、真っ白なページが表示されます。(NGとすら出ません) php.iniの設定は一応済ませています。 1.extension_dir = "c:\Program Files\PHP\ext\" (c:\Program Files\PHPが本体のインストールディレクトリです。) 2.extension = php_mysql.dllの有効化 設定後はapacheの再起動もしています。 念のためphpinfo()を呼び出して、確認しましたが、「MySQL」と言った文字列は見あたりませんでした。 なお、MySQLは正常にサービスとして動作しており、 設定等も済ませて、コマンドラインからは接続できることを確認しています。 根本的に設定等を間違えているのでしょうか? よろしくお願いします。

    • ベストアンサー
    • PHP
  • MySQLでデータ表示

    MySQLでデータの表示を行っています 10件ずつ表示し、11件からは2ページ目に表示したいです サイトや本を見ながらデータ表示と次の10件のリンクは表示されるよう自力で頑張ったのですが 次の10件を押してもデータが変わらず1件目から10件目のままです どこが違うか教えてもらえますか。 どうコードを入力するか教えてくれたらありがたいです 一覧 ta2.phpです <html> <body> <form action = "ta2.php" method="GET"> <input type="hidden" name="page" value="0"> </form> <?php //データベースに接続 if (!$con = mysql_connect("localhost", "root", "admin")) { echo "接続エラー" ; exit ; } //データベースを選択 if (!mysql_select_db("db_test", $con)) { echo "データベース選択エラー" ; exit ; } //LIMITを使ったSELECT文を作成 $sql = "select * from tbl_test" ; $sql.= " limit " . $page*10 . ", 10" ; //SQL実行 if (!$res = mysql_query($sql)) { echo "SQLエラー<BR>" ; exit ; } //検索結果表示 echo "<table border='1'> <tr> <th>番号</th> <th>氏名</th> <th>住所</th> <th>操作</th> </tr>"; while($row = mysql_fetch_array($res)) { $ID = htmlspecialchars($row['番号']); $NAME = htmlspecialchars($row['氏名']); $ADDR = htmlspecialchars($row['住所']); echo "<tr> <td>$ID</td> <td>$NAME</td> <td>$ADDR</td> <td><a href='edit.php?番号=$ID'>修正</a> <a href='delete.php?番号=$ID'>削除</a></td></tr>"; header('content-type: text/html; charset="utf-8"'); if ($_GET) { // データがGETされていたら $page = isset($_GET['page']) ? $_GET['page'] : ''; // 取得 } } $sql = "select count(*) from tbl_test " ; 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 + 1, "ページ目を表示<br>" ; //前の10件 if ($page != 0) { echo "<a href = ta2.php?page= $page>" ; echo "&lt 前の10件" ; } //次の10件 if (($page + 1)*10 < $cnt) { echo "<a href = ta2.php?page= $page>" ; echo " 次の10件 " ; } //結果セットの開放 mysql_free_result ($res) ; //データベースから切断 mysql_close($con) ; ?> </table> </body> </html>

    • ベストアンサー
    • MySQL
  • MySQLに接続

    php初心者です。すいませんが質問させてください。 Fedoracore4、MySQL、Apache、PHPを使ってMySQLに接続するプログラムを作成しましたが、何の反応もありません。 プログラムは <?php $link = mysql_connect("localhost", "ユーザID", "パスワード") or die("Could not connect"); print ("Connected successfully"); mysql_close($link); ?> です。 PHPのプログラムは問題なく動きます。 MySQL、Apacheは起動しています。 実行権限も問題ないです。 他に何か疑うポイントはありますでしょうか? ご存知の方いらっしゃいましたらご教授下さい。 すいませんがよろしくお願いします。

    • ベストアンサー
    • PHP

専門家に質問してみよう