dポイントプレゼントキャンペーン実施中!

先ほど質問させていただきましたが、
誤って締め切ってしまいましたので再度質問させていただきます。

PHPを使って、データをDBからひっぱってきて、
WEB画面にあいうえお順に表示させたいと考えています。
さらに、「あ」のボタンを作成し、クリックすると
「あ」行のデータを表示、「か」のボタンを作成し、クリックすると
「か」行のデータを表示…と考えています。
このようにプログラムすることは可能でしょうか。
DBはPostgreSQLを使用しています。
先週からPHPをはじめたばかりでよくわかっていません。
どなたか宜しくお願い致します。

A 回答 (3件)

PostgreSQLやPHPのバージョン、コンパイルオプションも


分かるところは書かないと皆さん答えにくいかと思いますよ~
Postgresも日本語ソートがうまくいかないバージョンやオプションがありますので。

方法は色々あると思いますのが基本的には「可能」です。

テーブルに「よみがな」を入れるカラムを用意して
画面からあ行のボタンを選択したときに「あ」~「お」までがデータの先頭にあるデータを引っ張ってくるという条件文のSQLを実行すればよいです。

この回答への補足

>「あ」~「お」までがデータの先頭にあるデータを
>引っ張ってくるという条件文のSQLを実行すればよいです。

↑このSQL文を作成することはできましたが、

>テーブルに「よみがな」を入れるカラムを用意して
>画面からあ行のボタンを選択したときに

↑こちらがイメージできません。
「あ行のボタンを選択したときにSQL文を実行」するコードは
どのようにすればよいのでしょうか。
聞いてばかりですいません。
宜しくお願い致します。

補足日時:2007/08/20 17:30
    • good
    • 0
この回答へのお礼

回答ありがとうございます。
情報不足で申し訳ありません。

PHPはVersion 5.2.3です。
SQLはPostgresではありませんでした。
SQLserver2005です。Versionは5.2です。
また、SQLはPHPと別サーバになっています。
PHPはApacheVersion2.2を使用しています。

まず、SQLに接続することができません。

php.iniは
extension=php_mssql.dllの「;」を削除しました。

次に、PHPのファイルを以下のように作成しました。

<?php
$connect = mssql_connect("サーバ名","DB名","ユーザ名","パスワード");
$sql = "select * from member";


mssql_close($connect);
?>

実行すると、以下のエラーメッセージが出ます。

Fatal error: Call to undefined function mssql_connect() in C:\Program Files\Apache…\.php on line 27

また、<?php phpinfo();?>で確認しても
SQLserverの記述がないようです。

どこに誤りがあるのでしょうか。
宜しくお願い致します。

お礼日時:2007/08/20 11:47

PHPでmssql関数が利用できるようになっていない可能性が高いです。


環境を確認しましょう。

PHPをインストールしている環境がWinなのかUnix/Linuxなのかで
要件が違いますので下記PHPマニュアルを参照してください。

http://jp2.php.net/manual/ja/ref.mssql.php

Win環境の場合は結構簡単に利用できそうですが
Unix/Linux環境ではfreeTDSをインストールしないと利用できないようです。

この回答への補足

Apacheを再起動したら接続できました。
ありがとうございました。

補足日時:2007/08/20 17:29
    • good
    • 0
この回答へのお礼

>PHPをインストールしている環境がWinなのかUnix/Linuxなのかで

WINです。早速URLを見て、
(1)\winnt\system32直下にntwdblib.dll を置き、
(2)extension=php_mssql.dll を php.ini に追加しましたが、

同じように以下のエラーメッセージが出ます。

Fatal error: Call to undefined function mssql_connect() in C:\Program Files\Apache…test.php on line 229

教えていただいたURLの以下の文章がよくわからなからず、
WINであれば設定不要のような気がしたので何もしていません。

>これらの関数を使用するには、 --with-mssql[=DIR] を指定して
>PHPを コンパイルする必要があります。
>DIR は FreeTDS のインストール>先です。
>また、FreeTDS は --enable-msdblib を指定して
>コンパイルする必要があります。

何か変更する点ございますでしょうか。
何度も申し訳ありませんが宜しくお願い致します。

お礼日時:2007/08/20 16:23

DB内のテーブルの構成を書くと、答える人がSQL文を書きやすいと思います。

    • good
    • 0
この回答へのお礼

回答ありがとうございます。
情報不足で申し訳ありません。
テーブルの構成ですが、

テーブル名:test
フィールド名1(主キー):ID
フィールド名2:singer
フィールド名3:song
フィールド名4:commnet

となっています。
songフィールドをあいうえお順に表示させたいと思っています。
宜しくお願い致します。

お礼日時:2007/08/20 11:30

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!