• 締切済み

「PHP+MYSQLバージョンからの抽出結果をPHPファイルに表示できません」の質問になります。

すぐに回答を! お世話になっております。 プログラミング初心者のiinnffooと申します。 またまた御助言頂きたく質問に至りました。 質問に入ります。 現在、TPLファイルを呼び出すPHPファイルを使ってMYSQLから会員さんへ送信したメールリストを最新順にDBから抽出したいと思っております。 補足になります。 今回TPLファイルを呼び出すPHPファイルを使っている理由はセッション等のソースが付いているのでそのまま使用しております。 (これが理由かもしれません、TPLのためのソースが抽出を邪魔しているかもです。) 今回の抽出結果を表示するファイルはPHPファイルになりTPLは使用しません。 現在 FATAL eorror RecordCount() が出ているのでソース間違いだと思うんです。 <?PHP //////////////////バックナンバー取得////////////////// $rs=$DB->query("SELECT * FROM ".$k_mail_timer." where sendtime <'$time' ORDER BY num DESC LIMIT 0,20"); $TOTAL=$result->RecordCount(); while($row =$result->FetchRow(DB_FETCHMODE_ASSOC)) ?> <TABLE> <TR><?PHP {$b_num[] = $row[0];} ?> </TR> <TR><?PHP {$row[1] = mb_convert_encoding($row[1],"SJIS","EUC-JP");} ?></TR> <TR><?PHP {$title[] = $row[1];} ?> </TR> <?PHP $smarty->assign("TOTAL",$TOTAL); $smarty->assign("title",$title); $smarty->assign("b_num",$b_num); if($_GET['k_outnum']<>"") { $b_num = $_GET['k_outnum']; ?> <?PHP //指定のデータを取得 $result = $DB->query("SELECT * FROM d_mail_timer where num='$b_num'"); while($row =$result->FetchRow(DB_FETCHMODE_ASSOC)) ?> <TABLE> <TR><?PHP {print_r($row["b_num"]);} ?> </TR> <TR><?PHP {print_r($row["title"]);} ?></TR> <TR><?PHP {print_r($row["msg"]);} ?> </TR> <TR><?PHP {$row[2] = mb_convert_encoding($row[2],"SJIS","EUC-JP");} ?> </TR> <TR><?PHP {$msg = $row[2];} ?></TR> <TR><?PHP {$url = $row[3];} ?> </TR> <?PHP ////■はサイトURLになります。 preg_match_all("/http:..■■■■■■.click_out.php.k_outnum=[0-9]+\&....sid=sid_fuyo/",$msg,$ms); foreach($ms[0] as $messe) { } preg_match_all("/k_outnum=[0-9]+/",$messe,$kid); foreach($kid[0] as $ki) { $ki = str_replace("k_outnum=","",$ki); trim($ki); } $url = $DB->getone("SELECT link_url_e FROM $k_koukoku_table where id='$ki'"); $msg = str_replace($messe,"",$msg); $smarty->assign("title",$title); $smarty->assign("msg",$msg); $smarty->assign("url",$url); }?> </TABLE> たぶん必要ないソースが結構あると思うんですけど・・・ 助けてくださいませんか(☆_☆)

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

みんなの回答

  • zwi
  • ベストアンサー率56% (730/1282)
回答No.1

質問する方として手を抜き過ぎ(甘えすぎ)です。 回答者は仕事では無く趣味というかボランティアです。 >たぶん必要ないソースが結構あると思うんですけど・・・ これが適当すぎです、だから誰も質問に答えないんですよ。まず、不要なコードを外してください。 自分で出来るだけやって、それでも分らなければ質問しましょう。そうすることで自分の実力が身に付きます。そもそも FATAL errorの意味は自分で調べたんでしょうか?

関連するQ&A

  • PHPとSmartyを使い、データベースからのデータを表示したい。

    PHP・Smartyを使い、DBからの表示を行おうとしています。 基本的な作業だとは思うのですが、なかなかできないので、教えてください。 ソースコードです。 //////PHPのコード <?php require_once('Connections/dbconn_mylocal.php'); ?>//DBへの接続を行っている。ここは正常。 <?php $sql = 'SELECT * FROM c_movie'; $result = mysql_query($sql, $conn); while($row = mysql_fetch_array ($result)){ $movie = $row["movie_title"]; } $smarty->assign('movie', $movie); $smarty->display("test1120.tpl"); ?> /////////////////tplファイル <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>Smartyで表示する</title> </head> <body> ({foreach item='con' from=$movie}) ({$con}) ({/foreach}) </body> </html> よろしくお願いします!

    • ベストアンサー
    • PHP
  • 2つのMySQLのテーブルをPHPで同じ行に表示

    MySQL クライアントのバージョン: 5.0.45 phpMyAdmin バージョン情報: 3.2.4-rc1 でデータベースを作成しております。 簡単な例ですが、 PRIMARY=id PHPのテーブルを下記のように表示させたい場合。 ┼─┼──┼──┼ │id │add │name│ ┼─┼──┼──┼ │0 │東京 │田中│ ┼─┼──┼──┼ │1 │長野 │鈴木│ ┼─┼──┼──┼ │2 │大阪 │佐藤│ ┼─┼──┼──┼ │3 │山口 │井上│ ┼─┼──┼──┼ idを共通にしていれば、 「add」はtable1、「name」はtable2の情報を 上記のように表示することは可能なのでしょうか? もし可能であれば、この表示の仕方の名称を教えていただけないでしょうか? (調べるときの検索ワードが分からなくて…すみません) 必要かわかりませんが、PHP上で表示する表の部分はこのように作成しています。 $result = executeQuery($sql); $rows = mysql_num_rows($result); if($rows){ while($row = mysql_fetch_array($recordSet)) { $tempHtml .= "<tr>"; $tempHtml .= "<td>".$row["id"]."</td>"; $tempHtml .= "<td>".$row["add"]."</td>"; $tempHtml .= "<td>".$row["name"]."</td>"; $tempHtml .= "</tr>\n"; } $msg = $rows."件みつかりました"; }else{ $msg = "0件です"; } 経験が浅く、お伝わりにくいことがあったら、申し訳ございません。 宜しくお願い致します。

    • ベストアンサー
    • PHP
  • whereについて

    お世話になります。 DB抽出はある程度まで出来たのですが、最後の部分で引っかかります。 d_koukokuテーブル にある k_name の中から「音楽」と言うものだけを取りたいのですが検索がうまく出来ていないようです。 以下になります。 <? ////////////////////音楽取得//////////////////// $rs=$DB->query("SELECT k_name,link_url_i,k_name_display,id,cate FROM ".$k_koukoku_table." where k_name='音楽'"); ?> となります。 表示結果セットは以下になります。(こちらは多分関係ないと思いますが一応載せて見ます。) <?php $smarty->assign("k_name",$k_name);?> <?php $smarty->assign("link_url_i",$link_url_i);?> <?php $smarty->assign("k_name_display",$k_name_display);?> <?php $smarty->assign("id",$id);?> <?php $smarty->assign("cate",$cate);?> <?php while($row=$rs->fetchRow(DB_FETCHMODE_ASSOC)){ ?> <TABLE> <tr bgcolor=""> <td><font size="1" COLOR=""><a href="cate_page_out.php?k_outnum=<?php print_r($row["id"]= mb_convert_encoding($row["id"],"SJIS","EUC-JP")); ?>" utn><?php print_r($row["k_name_display"]= mb_convert_encoding($row["k_name_display"],"SJIS","EUC-JP")); ?></a></td> </tr> </TABLE> <?php } ?> where句を使用しないと普通に全部出ます。 上記のようにwhere「音楽」とするとエラーは起こらず結果が表示されません。 後一歩ですよね? お願いいたします。

    • ベストアンサー
    • MySQL
  • PHP+MySQL テーブルが表示されない

    下記のように、MySQLのデータをPHPでテーブル形式で表示しています。 【PHP部分】 $check_sql = "SELECT * FROM table WHERE ( check1 LIKE '%東京%' OR check2 LIKE '%品川%' OR check3 LIKE '%%' ) AND hinichi > NOW( )"; $check_recordSet = mysql_query($check_sql); $check_rows = mysql_num_rows($check_recordSet); if($check_rows){ while($check_row = mysql_fetch_array($check_recordSet)) { $checktable = "<tr>"; $checktable .= "<td>".$check_row["check1"]."</td><td>".$check_row["check2"].$check_row["check3"]."</td>"; $checktable .= "</tr>\n"; } $msg = $check_rows."件みつかりました"; } 【HTML部分】 <?= $msg ?> <table> <?= $checktable ?> </table> $checktable が表示されないのですが、 どうも間違えている箇所がわかりません。 $msgは表示されます。 また、$check_sqlは、PHPMyAdmin上で試していますが、エラーは出ておりません。 ご存じの方いらっしゃいましたら、ご教授お願い致します。

    • ベストアンサー
    • PHP
  • PHP+MySQL で検索結果を横並びに表示させたい

    PHPとMySQLを独学で勉強し始めたところなのですが 下記の様に書いてみたところ 結果(画像)の表示が縦並びになってしまいます。 どうにか横並びに表示できないでしょうか? <html> <head><title>タイトル</title></head> <body> <table> <?php $host = "localhost"; if (!$conn = mysql_connect($host, "ユーザー", "パス")){ die("MySQL接続エラー.<br />"); } mysql_select_db("データベース名", $conn); $sql = "SELECT * FROM 01_table WHERE on ='1'"; $res = mysql_query($sql,$conn); while($row = mysql_fetch_array($res)) { print("<tr>"); print("<td>".$row["img"]); print("</td>"); print("</tr>"); } mysql_free_result($res); ?> </table> </body> </html> ※01_tableのonには「0」か「1」を入れてあり  imgには 「<a href="リンク先アド"><img src="画像のアド"></a>」  を入れてあります。 基礎が無く、勘だけで作ってますので根本的に間違ってるかもしれないのですが よろしくお願いします。

    • ベストアンサー
    • MySQL
  • phpとMysQLの連携がうまくいきません

    現在phpとmysqlを連携させて、phpのフォームから文字を入力してmysqlのデータベース上からマッチした検索結果を表示するプログラムを作っているのですがなかなかうまくいきません・・・ お手数ですが詳しい方解答お願いいたします。 <html> <head> <title>PHP SEARCH RESULT</title> <meta http-equiv="Content-type" content="text/html;charset=utf-8"> </head> <body> <? $debug = false; //DB接続 mysql_connect("localhost","root","c0106426"); mysql_select_db("network"); if($debug) print_r($HTTP_POST_VARS); //エラーチェック //リクエストメソッドチェック if($REQUEST_METHOD != "POST") { print "Error: invalid method"; exit(); } //クエリ生成 $query = "SELECT * FROM yougo "; //検索条件生成 //用語 if(!empty($yougo)) { $yougo = yougo($yougo); $where .= "yougo REGEXP '$yougo' && "; } if(!empty($where)) { $where = substr($where, 0, -4); $where = "WHERE " . $where; } $result = mysql_query($query); $num_rows = mysql_num_rows($result); if($num_rows == 0) $message = "該当するデータはありませんでした"; else $message = $num_rows . "件ヒットしました"; ?> 検索結果<br> <?=$message?> <table border=1> <tr><td>用語</td><td>説明</td><td>講義回数</td></tr> <? while($row = mysql_fetch_assoc($result)): ?> <tr><td><?=$row[yougo]?></td><td><?=$row[sestumei]?></td><td><?=$row[kougi]?></td></tr> <? endwhile; ?> </table> <a href="search.html">再検索</a> </body> </html> このようなプログラムを書いているのですがうまく動作しません。。。 フォームからはyougoという形でpostで値をこのphpプログラムに渡しています。 データベースはnetworkという名前で テーブルはyougoid,yougo,sestumei,yomi,kougi,kai というテーブルがありまして yougoの文字を文字入力で検索して yougo,sestumei,kougi内の内容をテーブルで表示させたいのですが、 どうしてもうまくいきません。 よろしくお願いいたします。

    • 締切済み
    • PHP
  • PHPとMySQLについて

    PHPとMySQLについて PHP、MySQLともに初心者の者です。 ネットの情報を参考に以下のようなプログラムを作成しました。 <?php //ファイルを読み込み require_once("DB47.php"); // クエリを送信する $sql = "SELECT * FROM japanDB ORDER BY PREF_CD"; $result = executeQuery($sql); //結果セットの行数を取得する $rows = mysql_num_rows($result); //表示するデータを作成 if($rows){ while($row = mysql_fetch_array($result)) { $tempHtml .= "".$row["PREF_CD"]." ".$row["PREF_NAME"]." "; $tempHtml .= "\n"; } $msg = $rows."件のデータがあります。\n\n"; }else{ $msg = "データがありません。\n\n"; } //結果保持用メモリを開放する mysql_free_result($result); ?> <?= $msg ?> <?= $tempHtml ?> これはデータベースに 1、北海道 2、青森 ・  ・ ・  ・ ・  ・ 47、沖縄 といった情報を与えており、PHP側でMySQLに接続し、その内容をコマンドプロンプト上で表示するといったものです。 しかし、PHPプログラムを実行してしまうと、全データが一気に表示されてしまうので、見づらいものとなっています。 そこで、地名や番号を入力すれば、地名を表示するような検索機能を付けたいのですが、PHPからMySQLデータベース内を検索する方法が分かりません。検索機能をこのプログラムに組み込みたいのですが・・・。 どなたかご教授お願いいたします。 ***環境*** OS : Windows XP Pro PHP4.2.3 、MySQLインストール済み **********

    • ベストアンサー
    • PHP
  • PHP+MYSQLについて質問です。

    PHP+MYSQLについて質問です。 フォームに入力した電話番号が、 データベースに登録されている電話番号と重複している場合重複している件数を表示するようにしたいのですが、どうにもうまくいきません。 どなたかわかる方いらっしゃいませんか? 現状がこんな感じになっています。 よろしくお願いします。 ■test.class.php class test{ public function counttest($tel){ $qstring = "select (*) from _test where tel = '$tel'"; $qresult = mysql_query($qstring); if(!$fresult = mysql_fetch_row($qresult)){ $this->errorm = "該当データなし"; return false; }else{ $this->telcount = $fresult[0]; } } } ■test.php require_once ("test.class.php"); require_once ("Smarty.class.php"); $settings = new test; $smarty = new Smarty(); $telcount = $test->counttest($tel); $smarty->assign("telcount",$telcount); $smarty->display("top.tpl");

    • ベストアンサー
    • PHP
  • PHPでMySQLのストアドプロシージャを実行するには?

    こんにちは、この件でいろいろ検索していたのですが ストアドの作成まではできているのですが、PHPからの 実行のさせ方がわからず質問させていただきました。 環境は、PHP 5.2.9 + MySQL5.1.32 で MySQLでストアドプロシージャを作成して、実行できるのですが これをphpから実行させたいのですが、どのように記述すればよいのかわからず悩んでおります。 実行したいストアドは Gen_rank という名前でコンソールから実行できることは確認しています。 下記のようにしてみましたが、ストアドは走りませんでした。 <?php require_once("db_connect.php"); // クエリを送信する $sql = "call Gen_rank();"; $sql = "SELECT id, name, phonetic, age, s4, s9, rank FROM tmp_records ORDER BY rank"; $result = executeQuery($sql); // 結果セットの行数を取得する $rows = mysql_num_rows($result); // 表示するデータを作成 if($rows){  while($row = mysql_fetch_array($result)) {   $tempHtml .= "<tr>";   $tempHtml .= "<td>".$row["id"]."</td><td>".$row["name"]."</td><td>".$row["phonetic"]."</td><td>".$row["age"]."</td><td>".$row["s4"]."</td><td>".$row["s9"]."</td><td>".$row["rank"]."</td>";   $tempHtml .= "</tr>\n"; }  $msg = $rows."件のデータがあります。"; }else{  $msg = "データがありません。"; } // 結果保持用メモリを開放する mysql_free_result($result); ?>

    • 締切済み
    • PHP
  • PHPからMySQLへの検索

    PHPからデータベースの検索について勉強をはじめたばかりで初歩的な質問かと思いますが過去ログを読んでも解決しなかったため質問いたします。 たとえばデータベースに教授名や授業名などを収納しておいてPHPで教授名を入力すると授業名等が表示されるようにするスクリプトを作ろうと思っているのですがうまくいきません。 少なくともMySQLで『田中』という教授名は入っているので検索すれば出てくるはずなのですが検索件数が0件になってしまいます。 テキストボックスに入力された情報を受け渡すところに原因がある気がするのですが原因はわかりませんでした。 おわかりになりましたらご教授ください http://iskiso3.hustle.ne.jp/test.php <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html lang="ja"> <head> <meta http-equiv="Content-type" content="text/html; charset=EUC-JP"> <meta http-equiv="Content-Style-Type" content="text/css"> <title>テスト</title> </head> <form action="test.php" method="post"> 教授名を入力してください<br> <input type="text" name="namae" size="30"> <input type="submit" value="送信"> </form> <body> <?php $name = $_POST['namae']; $con = mysql_connect("mysql3.naid.jp" , "ID" , "PASS") or die ('DB Connection Error= '. mysql_error()); mysql_select_db("iskiso3", $con) or die ('DB Connection Error= '. mysql_error()); $sql = "select * from jugyou where kyouju like "*$name*" "; $result = mysql_query($sql,$con); if ( $result == $FALSE ) { die("Search Result: 0 items"); } $num = mysql_num_rows($result); print "<table><tr><td>科目名</td><td>教授名</td><td>内線</td></tr>"; for ($i=0; $i<$num; $i++) { $r = mysql_fetch_row($result); print "<tr><td>$r[0]</td><td>$r[1]</td><td>$r[2]</td></tr>"; } print "</table>"; ?> </body> </html>

    • ベストアンサー
    • MySQL

専門家に質問してみよう