教えてください!
お世話になっております。
長くなります。
最近はプログラムと言う敵に寿命を縮められております。
質問をさせて頂きます。
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になります。
お礼
具体的なアドバイス、とても参考になりました。 綿毛布も用意していないので、どちらか購入してみようと思います。 タオル素材だと、年中使えそうだし用途も広そうなので タオルケットに傾いていますが。(^^ ありがとうございました!