• ベストアンサー

エラー箇所をお願いします。

エラー箇所をお願いします。 <? $test = $DB->getAll(&quot;SELECT nicname,point FROM &quot;.$k_user_table.&quot; order by point DESC LIMIT 0,3 &quot;); print_r($test); while($row =$test->FetchRow()) {  print $row[0]; print $row[1];  print &quot;<hr>&quot;; } ?> 何百回やっても出来ません。 なぜ、結果表示をして整えたいだけなのにここまでプログラムは複雑にしたがるのか不思議です。 基本的な形の記載あるサイトすらありません なぜややこしくするんですかね・・・ 結局プログラムは優秀でも要領を得ていない仕様なら内容は良くても「優秀」といえませんよね(笑) プログラムの中に「;」「""」「<>」等無駄な文字を入力せずに起動するシステム作りが大切だと思いますがね・・・子プログラムと言いますか・・・

  • MySQL
  • 回答数2
  • ありがとう数8

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

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

質問になってませんが、何を聞きたいのでしょうか? 環境やなんのライブラリをつかってるかも提示がないし あてずっぽで申し訳ないですが、こんなんじゃないの? $DB->getAll("SELECT `nicname`,`point` FROM `{$k_user_table}` order by point DESC LIMIT 0,3");

iinnffoo
質問者

お礼

抽出は出来ても改行などが出来ず悩んでおります。 Arrayと言うわけの分からない文字も出てきて困ってます。 これだけのために三日で1カートンタバコを吸いまくってしまいこんなプログラムのためだけに寿命を縮めてしまいそうです。

その他の回答 (1)

  • masa6272
  • ベストアンサー率66% (93/140)
回答No.2

iinnffooさんの他の質問も見ましたが、PHP、MySQL、HTMLの勉強をまともにするのがかえって早道だと思いますよ。 IT業界で、プロと言われるためには、体系だった知識と応用力が必要です。 英語を習った次の日に、英語で小説を書けますか?

iinnffoo
質問者

お礼

初めからわかる人はいません。

関連するQ&A

  • 間違いを教えてください。

    エラーが出てしまいます。 <? $test = $DB->getAll(&quot;SELECT nicname,point FROM &quot;.$k_user_table.&quot; order by point DESC LIMIT 0,3 &quot;); while($row =$test->FetchRow()) {  print $row[0]; print $row[1];  print &quot;<hr>&quot;; } ?>

    • ベストアンサー
    • PHP
  • Arrayってなんですか?

    自分は素人でPEARを使った抽出方法とその結果の整列方法を、システム開発者に聞きましたが、やってもまったくうまくいきません。 <? $test = $DB->getAll(&quot;SELECT nicname,point FROM &quot;.$k_user_table.&quot; order by point DESC LIMIT 0,3 &quot;); print_r($test); ?> 結局こちらで教えていただいた抽出部分の $test = $DB->getAll("SELECT nicname,point FROM ".$k_user_table." order by point DESC LIMIT 0,10 "); は出たのですが、改行もなくArray等と言う訳の分からない文字がやたら出て、かなり血圧が上がります。 $test = $DB->getAll("SELECT nicname,point FROM ".$k_user_table." order by point DESC LIMIT 0,10 "); で抽出した物を、 while($row =$test->FetchRow()) {  print $row[0]; print $row[1];  print &quot;<hr>&quot;; } の様な形で整列させるためにはどうしたらよいですか? 現在まで出来てるのは、 <? $test = $DB->getAll(&quot;SELECT nicname,point FROM &quot;.$k_user_table.&quot; order by point DESC LIMIT 0,3 &quot;); print_r($test); while($row =$test->FetchRow()) {  print $row[0]; print $row[1];  print &quot;<hr>&quot;; } ?> です。 と言うか、これで出るとシステム側から言われてますが、エラーばっかり出やがります。 パソコンの中に手を突っ込んでガリガリ揃えてやりたい気分ですね。 短気な私はそろそろやばいです。

    • ベストアンサー
    • MySQL
  • DBkらの抽出した結果を整列されるためにはどうしたらよいですか。

    宜しく御願いたします。 現在のソースになります。 <?php $test = $DB->getAll("SELECT nicname,point FROM ".$k_user_table." order by point DESC LIMIT 0,3 "); print_r($test); ?> 上記の表示結果はこちらです。 Array([0]=>Array([0]=>田中さん[nicname]=>田中さん[1]=>100 [point]=>100 [1]=>Array([0]=>木村さん[1]=>124 [point]=>124 重複を無くして改行を付けたいと思っております。 理想はこちらです。↓ 田中さん 100PT所有 木村さん 124PT所有 の様な感じです。 宜しく御願いたします。

    • ベストアンサー
    • Perl
  • 教えてください!

    お世話になっております。 長くなります。 最近はプログラムと言う敵に寿命を縮められております。 質問をさせて頂きます。 MYSQLへ接続し会員さんのポイントとニックネームを抽出しそれをランキングとして10件表示したいと思っております。 現在二通りのやり方を教えて頂きました。 片方は抽出自体は出来ていても Array[0]等と言う文字が出てきて改行も出来てない状態です。 そのソースはこちらです。 <? $test = $DB->getAll("SELECT point FROM ".$k_user_table." order by point DESC LIMIT 0,10 "); print_r($test); ?> 上記に改行などするための for( $a = 0; $a<count($row); $a++ ){ for( $b=1;$b<count($row[$a]);$b++ ){ print $row[$a][$b]." "; } print "<br>"; print "<hr>"; } を付けると接続エラーが出ます。 もう一つはqueryでの方法です。 <table border="1"> <tr> <th>名前</th><th>ポイント</th> </tr> <? $rs=$db->query("SELECT nicname,point FROM ".$k_user_table." ORDER BY point DESC LIMIT 0,10"); ?> <?php while($row=$rs->fetchRow(DB_FETCHMODE_ASSOC)){ ?> <tr> <td><?php print_r($row["nicnam"]); ?></td> <td><?php print_r($row["point"]); ?></td> </tr> <?php } ?> </table> こちらはすべてエラーが出てしまいます。。。 自分的にHTMLが使えるqueryでの抽出方法が合っているかと思います。 実は、今使っているページは <?php /*キャッシュクリア*/ header('Cache-control: no-cache'); header('Pragma: no-cache'); /*セッションスタート*/ session_start(); $SID = session_id(); if($_SESSION['sid']=="") { header("Location: login.php"); } $sid = $_SESSION['sid']; $nicname = $_SESSION['nicname']; $k_pageID = 0; if(isset($_GET['k_pageID'])) { //広告ページNO. $k_pageID=($_GET['k_pageID']-1)*10; } /*文字コード*/ ini_set('mbstring.internal_encoding','SJIS'); //データベース接続 require_once('./adodb/adodb.inc.php'); //Smartyモジュール include("./Smarty/libs/Smarty.class.php"); //SmartySJIS対策 include("./class/sjis.inc.php"); 等が入っている別なファイルをコピペしてその下に先程のソースを入れております。(もちろん<?php?>で新たに区切っています) よく見ると、//データベース接続がすでにされている状態なのかもしれません。 ただ、一番初めのソースでは抽出自体出来ているのでとりあえずは特にそのすぐ上のソースはDB抽出に影響はありませんよね。。。 こちらのエラーが出てるんですがまたこれはソースなどの間違いですよね。。。 Fatal error: Call to a mamber function query() on anon-object in/サイト名~ on line 147 環境はウィンドウズ2000です。 ライブラリはMYSQLになります。

    • ベストアンサー
    • MySQL
  • 抽出結果にランク付けを・・・と思い・・・。

    初歩的なことですみません。 前回グループによる結果をランク付けの教えていただき出来ました。 大変感謝いたします! 他にも色々取ってみようと思いしていたんですけどできません。 アクセスポイントの多い方を順番にランク付けをするという単純な事なんですけど限界です。 $rs=$DB->execute("SELECT * FROM $k_user_table ORDER BY ac_point DESC"); $total=$result->RecordCount(); while($row =$result->FetchRow()) { $id[] = mb_convert_encoding($row['id'],'SJIS','EUC-JP'); } for($i=0; $i<10; $i++) { print("第".($i+1)."位:".$point[$i]."G"); } この様にとりました。 しかし何かが違うみたいです。 順番に並んでもポイントが取れてなかったり逆にポイントは順番に取れていてもランク付けできてなかったり・・・。 教えてください。まちがいはどこですか。

    • ベストアンサー
    • PHP
  • PHP データベースの情報を表示するとエラー発生

    こんにちは。PHP初心者で本を見ながら作成しているのですがわからないのでご教授よろしくお願い致します。 環境 OS:VISTA    XAMPP    PEAR使用 データベースに登録したデータを表示させようとしているのですが以下のエラーが表示されてしまいます。 ------------------------------------------------------------------ Fatal error: Call to undefined method DB_Error::fetchRow() in C:\xampp\htdocs\jun1.php on line 19 ------------------------------------------------------------------ コード ------------------------------------------------------------------ <?php //PEARのDBライブラリを読み込む require_once("DB.php"); // データベースとの接続情報を記述 $dsn = "mysql://dbuser:test@localhost/データベース名"; //データベースへ接続 $db = DB::connect($dsn); if (DB::isError($db)) { print "ConnectError!"; exit; } $sql ="SELECT * FLOM anq_t"; $res = $db->query($sql); (19行目)while(is_array($row = $res->fetchRow(DB_FETCHMODE_ASSOC))){ print"<tr><td>" . $row["anq_id"] . "</td>"; print"<td>" . $row["name"] . "</td>"; print"<td>" . $row["nicnane"] . "</td>"; print"<td>" . $row["sex"] . "</td>"; print"<td>" . $row["age"] . "</td>"; print"<td>" . $row["university"] . "</td>"; print"<td>" . $row["region"] . "</td>"; print"<td>" . $row["adress"] . "</td>"; print"<td>" . $row["tel"] . "</td>"; print"<td>" . $row["mail"] . "</td>"; print"<td>" . $row["birthday"] . "</td>"; print"<td>" . $row["hobby"] . "</td>"; print"<td>" . $row["comment"] . "</td>"; print"<td>" . $row["del_flag"] . "</td>"; print"<td>" . $row["create_datetime"] . "</td></tr>"; } ?> まったくの初心者なのでわかるかたいましたらよろしくお願い致します。

    • ベストアンサー
    • PHP
  • PEARを使ったフェッチのしかた。

    いつもお世話になっています。 pear と phpを使ったclassを勉強しており 行き詰った点があったので教えてください。 **** class.php ************************ require_once("DB.php"); class DB_Class{ var $db_object;//DB::connectが入る var $db = "mysql"; var $db_user = "user"; var $db_host = "localhost"; var $db_name = "db_name"; var $pass = "pass"; function DB_Class(){ //コンストラクタ $db_string = $this->db."://".$this->db_user.":".$pass."@".$this->db_host."/".$this->db_name; $this->db_object = DB::connect($db_string); } } **** test.php ******************************** require_once("class.php"); $obj = new DB_Class(); $sql = "select * from TEST_TABLE"; $res = $obj->db_object->query($sql); while($row =$res->fetchRow(DB_FETCHMODE_ASSOC)){ print("<td>".$row["TEST"]."</td>"); } class.phpファイルのメンバ変数 var $db_objectにDB::connectが入っており、 test.phpでfetchRowを使ってDBの内容を 取り出したいのですが、 fetchRowメソッドが見つからないというエラー がでます。 それまでのqueryメソッドまではエラーがなく 呼び出せます。 while($row =$res->fetchRow(DB_FETCHMODE_ASSOC)) ここを $res->$obj->db_object->fetchRowや $res->$obj->$this->DB_object->fetchRowや とにかく色々な方法を試してみたのですが うまくいきませんでした。 どなたかご教授お願い致します。

    • ベストアンサー
    • PHP
  • CGIでマイSQLからデータを取得できない。

    Perl初心者です。レンタールサーバでmysqlからデータを取得して表示するプログラムを作りたいのですインターネットで捜したのですがよく分かりませんでした。申し訳ありませんが駄目出しでも結構ですので直すポイントになるようなアドバイス、お願い致します。 #!/usr/bin/perl #変数宣言 print "Content-type: text/html;\n\n"; use DBI; $ds = 'DBI:mysql:XXXXXXXXXXX:localhost'; $user = 'XXXXXXXXXX'; $pass = 'XXXXXXXXXX'; print "test<br>\n"; $db = DBI->connect($ds, $user, $pass) || die "Got error $DBI::errstr when connecting to $ds\n"; print "test<br>\n"; #$sth = $db->prepare("SELECT mei FROM name"); #$sth->execute; # バス経路票の中身を表示したかったたのですが出来ませんでした。 $sth= $db->prepare(qq(SELECT * FROM 'バス経路票')); $sth->execute; while(@row = $sth->fetchrow_array) { print qw($row[0]\t$row[1]\t$row[2]\n); } # 経路票の中身を表示したかったたのですが出来ませんでした。 $sth = $db->prepare(qq(SELECT * FROM '経路票')); $sth->execute; while(@row = $sth->fetchrow_array) { print qw($row[0]\t$row[1]\t$row[2]\n); } # 駅バス停関係票の中身を表示したかったたのですが出来ませんでした。 $sth = $db->prepare(qq(SELECT * FROM '駅バス停関係票')); $sth->execute; while(@row = $sth->fetchrow_array) { print qw($row[0]\t$row[1]\t$row[2]\n); } # バス経路票の中身を表示したかったたのですが出来ませんでした。 print "@basskeiro<br>\n"; # 経路票の中身を表示したかったたのですが出来ませんでした。 print "@keiro<br>\n"; # 駅バス停関係票の中身を表示したかったたのですが出来ませんでした。 print "@bassteikeiro<br>\n"; print "test<br>\n"; $rc = $sth->finish; $rc = $db->disconnect; exit;

    • ベストアンサー
    • Perl
  • 抽出結果に番号を振る方法について!

    こんにちわ! いつもお世話になっております。 以前にも質問してみたんですけど複雑にしてしまいやり直しになります。 例えばなんですけど商品価格を高い順番に並べてって言うのありますよね。 そう言う場合はカラム名 DESC これは分かるのですけど・・・。 そこに番号を振る事が出来ません。 1番 1000円 2番 980円 3番 850円 の様に 1 2 3 と言う事が出来ません。  抽出 while($row =$result->FetchRow()) { $point[] = mb_convert_encoding($row['point'],'SJIS','EUC-JP'); } 番号を振る for($i=0; $i<10; $i++) { print("第".($i+1)."位:".$point[$i]."G<br />"); } 現在のソースです。 個人的には for($i=0; $i<10; $i++) の記述のミスがどこかにあるのかな とも思います。 そもそもの for の使い方など書いてあるサイトはありませんか。

    • ベストアンサー
    • PHP
  • foreachで配列を作る

    $array = array("id","name","address","tel","point","a1"); $res = $db->query($sql);  //sqlのクエリー while ($row = $res->fetchRow( DB_FETCHMODE_ASSOC )) { $data_list[]=array( $array[0]=>$row["$array[0]"], $array[1]=>$row["$array[1]"], $array[2]=>$row["$array[2]"], $array[3]=>$row["$array[3]"], $array[4]=>$row["$array[4]"], $array[5]=>$row["$array[5]"]); } をforeachを使って $array = array("id","name","address","tel","point","a1"); $res = $db->query($sql);  //sqlのクエリー while ($row = $res->fetchRow( DB_FETCHMODE_ASSOC )) { foreach(~){             //処理     } のようにかきかえたいのですがどうしたらいいでしょうか?foreachをしらべていろろやったのですがうまくいきません。よろしくおねがいします。  ちなみに$data_list[]の配列はArray ( [0] => id [1] => name [2] => address [3] => tel [4] => point [5] => a1 ) Array ( [0] => Array ( [id] => 0 [name] => ここあ [address] => 東京 [tel] => 2 [point] => 2 [a1] => 2 ) [1] => Array ( [id] => 1 [name] => 太郎 [address] => 東京 [tel] => 3 [point] => 5 [a1] => あ ) [2] => Array ( [id] => 4 [name] => 五郎 [address] => 東京 [tel] => 0 [point] => 1 [a1] => あああああ ) [3] => Array ( [id] => 5 [name] => 士郎 [address] => 神奈川 [tel] => 26 [point] => 5 [a1] => ああああああああああ ) …となります。

    • 締切済み
    • PHP