検索結果
DB
- 全てのカテゴリ
- 全ての質問
- keyの最大値を取得する方法
こんにちは。 以前DBMについて質問したchocolatsです。 おかげさまで、なんとか使えるようになってきました! さて、現在DB_Fileを使用して掲示板を作っています。 投稿者の発言に、管理者がレスをつけるといったいわばオーソドックスなBBSです。 書き込み時に書き込み数(カウント)をkeyとしてデータを格納しているのですが、当初何も考えずに $no = scalar keys %DB; $no += 2; $DB{$no} = "$no$delim$name$delim$addr$delim・・・・"; #$delimは適当な区切り文字です としていましたが・・ これだと、当たり前の話しですが、投稿削除や、ログ消去ができないんですよね!^^; サーバーの容量が50Mですので、ログファイルにとれる容量は多くても1M以下にしておきたいのです。 かなりの件数までは保存できそうですが、いつかはデータの一部削除をしなくてはいけませんし・・ そこで、伺いたいのですが、 ■%DBのキーで一番大きな数字を取得する方法 はどういったものがあるのでしょうか。 私に考え付くのは、読み込んで、逆ソートして、一番目のデータを取得する・・といった手段ぐらいです。 これでは要領が悪い(負荷が大きい)ように感じるのですが、他にいい方法があれば、ぜひ教えていただけないでしょうか。 何か足りたい情報がありましたらお知らせください。補足します。
- Accessのレコード内容をテキスト出力したい。
Accessのレコード内容をテキスト出力したいです。 以下のようなテーブルがあります。 テーブル「重複データ」 メールアドレス クラブ1 クラブ2 クラブ3 aaaaa@ccc.ne.jp 絵画 aaaaa@ccc.ne.jp バレー aaaaa@ccc.ne.jp テニス bbb@aa.com テニス bbb@aa.com バレー cc@abc.co.jp 絵画 cc@abc.co.jp テニス cc@abc.co.jp バレー テーブルの内容を読み込んで、メールアドレス毎に 以下のような文面のテキストファイルを作成したいと思います。 ------------------------------------------------------------ aaaaa@ccc.ne.jp クラブ入会希望の申請が重複しています。 ◆クラブ名◆ 絵画 バレー テニス 複数のクラブに希望される場合は、一度にまとめて申請してください。 ------------------------------------------------------------ Private Sub メール文面作成_Click() Dim db As Database Dim rs As Recordset Dim strSQL As String Dim intFlNo As Integer Dim strText As String Dim strFlNm As String Dim strOutFl As String Dim intFlCnt As Integer Set db = CurrentDb() strFlNm = "c:\test\" strSQL = "" strSQL = strSQL + "select * from 重複データ" Set rs = db.OpenRecordset(strSQL) Do Until rs.EOF intFlCnt = intFlCnt + &H1 strOutFl = strFlNm & rs!メールアドレス & ".txt" intFlNo = FreeFile Open strOutFl For Output As #intFlNo Print #intFlNo, rs!メールアドレス Print #intFlNo, "" Print #intFlNo, "クラブ入会希望の申請が重複しています。" Print #intFlNo, "◆クラブ名◆" Print #intFlNo, rs!クラブ1 & rs!クラブ2 rs!クラブ2 Print #intFlNo, "" Print #intFlNo, "複数のクラブに希望される場合は、まとめて申請してください。" Close #intFlNo rs.MoveNext Loop rs.Close db.Close End Sub 上記で試してみたのですが、クラブ名がうまく反映されません。 どなたかご教示ください。 よろしくお願いします。
- ベストアンサー
- その他MS Office製品
- rose1224
- 回答数1
- ログイン画面の作成
VBAからVBにステップアップしてきた初心者です。 部内の管理ソフトを作成したいのですがその際ログインする人によって権限を変更したいので職員情報(職員ID、氏名、ログインID、パスワード、権限ランク、等々)をDB(ACCESS)に保存しておいて情報抽出したいと思っていますいろいろ考えてコードを作成しているのですがうまく動きません Private Sub TextBox1_Enter(ByVal sender As Object, ByVal e As System.EventArgs) Handles TextBox1.Enter Dim DB As New ADODB.Connection, RS As New ADODB.Recordset Dim 検索Key As String 検索Key = TextBox1.Text If 検索Key = "" Then Exit Sub End If DB.Open("Provider=Microsoft.Jet.OLEDB.4.0;" & _ "Data Source=" & Application.StartupPath & "\○○.mdb;" & "Jet OLEDB:Database Password=△△;") RS.Open("Select * From 職員リスト Where 職員ID = " & 検索Key & "") If RS.BOF Then MsgBox(検索Key & "に対応する職員がいません。") Exit Sub Else TextBox2.Text = RS.Fields職員ID ←ここでエラーが出ます End If End Sub まずはTEXTBOX1に職員IDを入力したら勝手に氏名がTEXTBOX2に表示できるようにしたいと思っています。 いろいろレコードセットの表示方法(VBA等)を探し試したのですがどれもうまく動きません。ご教授お願いします 下記のようなサイトもあったのですがVBおよびDB操作を始めたばかりの私には難解でした http://adonetvb.com/VB2008GetkeyData01.html よい方法があればよろしくお願いします
- ベストアンサー
- Visual Basic
- Alshark
- 回答数3
- アクセスのテーブルの組み立て方について
Accessはほとんど初めてなのですが、会社でAccessを使ってDBを作るよう指示されました。 まず、テーブルを顧客情報・商品・見積・見積明細などに分けて組み立て、商品テーブルに販売価格や仕入価格などを入れて見積に反映させました。 ところが、商品の売買だけで無く、その商品に対する修理やアフターサービス、また全く別のイレギュラーな仕事など、そのような様々な事案についてもひとつのDBにしたいという事でした。 この場合、今出来ている商品テーブルとは別にその他の事案のテーブルを作れば良いのでしょうか? その場合、見積テーブルはまた別に作るのでしょうか? さまざまな案件に関して、どのようにテーブルを作って関連づければいいのかわかりません。 アクセスはほとんど独学で、PCにもあまり詳しくないのでうまく説明できていないかもしれません。 要するに、必要なのは会社の収益になる品物や、サービスや、その他もろもろをすべてひとつにDB化し、見積書・契約書・粗利計算書などが出せるDBです。 また、定期的に販売した商品に対してサービスの案内をするためアラートをつけたいと言われていますがそのようなことは可能なのでしょうか? 本当に初心者で本を読みながらやっています。 現在すっかり混乱してします。どうしてもここからの構築方法がわかりません。 質問の意味がわかっていただけると嬉しいです…。 よろしくお願いします。
- DataAdapterについて教えてください
DBとのやり取りについて DataAdapterについて教えてください。 DataRederとの違いや datatableやdatasetというものがどういうものなのかわかりません。
- ベストアンサー
- Visual Basic
- noname#97641
- 回答数1
- 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;
- PHPの検索システムについてご教授下さい
こんにちは。現在PHPで検索システムを実装しようとしておるのですが、どうしても条件絞り込みを行うことができず(全件表示されてしまう)困っております。PHP初心者で、無知なため先輩方ご教授頂けますと幸いです。PHPのソースは以下となります。 <?php $debug = fales; //DB接続 mysql_connect('db_host','db_user','db_pass') or die(mysql_error()); mysql_select_db('db_name') or die(mysql_error()); if($debug) print_r($_POST); //エラーチェック //リクエストメソッドチェック if($_SERVER["REQUEST_METHOD"] != "POST"){ // ブラウザからHTMLページを要求された場合 }else{ // フォームからPOSTによって要求された場合 } $query = "SELECT * FROM search "; if(!empty($name)) { $name = addslashes($name); $where = "name = '$name' "; } if(!empty($tel)) { $tel = addslashes($tel); $where .= "tel '$tel' "; } if(!empty($sex)) { $sex = addslashes($sex); $where .= "sex = '$sex' "; } if(!empty($where)) { $where = substr($where, 0, -4); $where = "WHERE" . $where; } $query .= '$where'; $result = mysql_query($query . implode(" AND ", $where)); $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['name']?></td><td><?=$row['tel']?></td><td><?=$row['sex']?></td></tr> <? endwhile; ?> </table> <a href="input.html">再検索</a> 現在データベースにはサンプルとして10件入れておりますが、どの条件で検索を行なっても10件全てが検索結果として表示されてしまいます。どこを触れば良いのでしょうか…? お忙しいところ大変恐れ入りますが何卒、よろしくお願い申し上げます。
- ファイルメーカーのDDRの持ち出し許可はしますか
ファイルメーカーのDDRの持ち出し許可はしますか 質問と言いますかアンケートに近いでしょうか。 社内でファイルメーカーによる業務DBを作成した人が退職することになりましたが、 退職に当たり、業務DBのDDRを持ち出させて欲しいと言い出しました。 業務DBは会社で使用する様々なデータを一元化したもので、業務命令の下に作成しました。 社に残る者はファイルメーカーについては詳しくなく、 DDRについては、DBから固有情報等を除いたDBの骨組みだという理解しかありません。 また会社としては一切のデータの持ち出しや譲渡を許可していません。 ファイルメーカーに限らなければ同じような状況はみなさんの職場でもあるかなと思いますが、 みなさんが社の管理職の立場だったり、社でファイルメーカーに詳しい立場の人だとした場合、 DDRの持ち出しに許可を出しますでしょうか。 ちなみに、上の質問の回答の材料にはしないでいただきたいのですが、社に詳しい者がいないのも手落ちですが、 退職者は適切な引継ぎも行わず、早くからDBを就活の道具にする準備を業務中に進めていて、 また自分でも把握しきれていないスクリプトで社の者がデータを誤って削除してしまう可能性を示唆していますが、 DDR持ち出しの許可を貰わなければ引き継ぎに協力してくれないという状況です。 先に協力してくれれば話は変わるのでしょうけど、、、
- ベストアンサー
- その他(データベース)
- cd750closed
- 回答数2
- Perl MSSQLに接続してSQLのVer情報を
すみません。素人です。 Perl MSSQLに接続してSQLのバージョン情報を取得したいです。 コードを実行すると下のようなエラーが発生します。 Can't use string ("1") as a HASH ref while "strict refs" in use at C:\testPerl\test.pl SQLServer Mangement Studioでクエリー(select @@VERSION)を実行すると下のような情報を取得できます。 ******** (列名なし) Microsoft SQL Server 2008 (RTM) - 10.0.1600.22 (Intel X86) Jul 9 2008 14:43:34 Copyright (c) 1988-2008 Microsoft Corporation Workgroup Edition on Windows NT 6.1 <X86> (Build 7601: Service Pack 1) ********* どうも取得したデータ構造の指定がまずいように思いますが、どうすれば取得できますでしょうか? コード ------------------- use strict; use warnings; use Data::Dumper; use Win32::OLE; use Data::Dumper::Concise; use Win32::OLE::variant; use Win32::OLE::Const 'Microsoft ActiveX Data Objects 2.0 Library'; # DBサーバー名とDB名設定 my $server = "localhost"; my $db = ""; my $id = "sa"; my $ps = "testSa"; # エラー時に本処理を中止し、Perlがエラーメッセージを出力し、本プロセスが終了する。 Win32::OLE->Option(Warn => 3); # SQL Server 認証設定 my $connStr = "Provider=sqloledb;". "Data Source=$server;". "Initial Catalog=$db;". "User ID=$id;". "Password=$ps;"; # DB接続 my $objDB = Win32::OLE->new("ADODB.Connection"); $objDB->Open($connStr); $objDB->{Errors}->{Count} and die "cannot connect '$connStr'"; my $rs = Win32::OLE->new("ADODB.Recordset"); $rs->Open("select \@\@VERSION", $objDB); print "取りあえずなんか出力しようと試みる----------1\n"; print "$rs->{Fields}"."\n"; print "$rs->{Fields}->{Count}"."\n"; print "$rs->{Fields}->{Count}->{Item}->{1}"."\n"; while(!$rs->EOF ){ print "$rs->{Fields}->{Count}->{Value}"."$rs->{Fields}->{Item}->{Value}\n"; $rs->MoveNext(); } print "取りあえずなんか出力しようと試みる----------1\n"; ## DB切断 $objDB->Close();
- 変数に取得した値をテキストボックスやコンボボックスに表示させた
アクセスで、変数に取得した値をテキストボックスやコンボボックスに表示させたいと思っています。例えば、まずクエリをひとつ作成します。そのクエリのレコードをループで配列変数に取得していきます。フィールド(IDと名前)レコード(件数は2件とします) public ID(2) as String public 名前(2) as String Sub temp() Dim Db As Database Dim rs As Recordset Dim I As Integer Set Db = CurrentDb Set rs = Db.OpenRecordset("Q_クエリ", dbOpenDynaset) rs.MoveFirst For I = 1 To 2 If IsNull(rs![ID]) = False Then ID(I) = rs![ID] If IsNull(rs![名前]) = False Then 名前(I) = rs![名前] rs.MoveNext Next I rs.Close Db.Close End Sub (この時点で変数に値は入っているようです。) フォームで作成したテキストボックスやコンボボックスに実行ボタンをクリックすると表示するというコードは下記のように記述してみました。 Private Sub 実行_Click() Call temp (標準モジュールを呼び出す) ID = ID(1) 名前 = 名前(1) (2)省略 End Sub すると、かならず「実行時エラー'13'; 型が一致しません。」とエラーが出ます。なにぶんVBA初心者になりますので、ご教授お願い致します。ちなみに同じような方法で、同一フォーム内に2つテキストボックスを用意し、片方に値を入力して実行するともう一方のテキストボックスにその値が表示すると言う実験は成功しています。もっと他に良いコードがあれば教えて下さい。お願いします。
- ベストアンサー
- その他(プログラミング・開発)
- simple-t
- 回答数2
- PHPにコネクションプールってあるんですか?
JAVAを使ったwebシステムではDBのコネクションをプールする方法が一般的に用いられますが、PHPでも同じような方法はあるのでしょうか?
- 音が出なくなりました!
東芝DynaBook DB50C/SCA WinMeをフォーマットしてWin98seを入れ直しました。音が出なくなってしまいました、PCに詳しい方助けてください。
- ベストアンサー
- Windows 95・98
- noname#12597
- 回答数2
- 削除できないファイルがあります
Thumbs.dbというファイルがゴミ箱に削除してもすぐにマイドキュメントに戻ってくるのですが、ウイルスではないのか心配です。くわしい方教えてください。
- ベストアンサー
- ウィルス・マルウェア
- taatann
- 回答数4
- ジャガーのパクリ デザイン
JAGUAR - XK RってアストンマーチンDB9に似てませんか?他社のデザインの真似をするメーカーはデザイン的につまらないのですが。独自性がないし。
- VBでAccessにSQL文を実行して値を取り出す
下記のソースは、 UserIDとPasswordをDBと照らし合わせて、 そのUserが存在すればTrue、存在しなければFalse を返すというプログラムです。 しかし初めてDBに接続し、まったく右も左も分からない 状況なので処理的におかしな点を教えていただけないでしょうか。 またDB接続からSQL実行までの簡単な流れを教えていただけると助かります。 adoRs = ADODB.Recordset adoCn = ADODB.Connection adoCd = ADODB.Command Login.txtName.Text = 比較するユーザー名 Login.txtPass.Text = 比較するパスワード です。その他わかりにくい点があったら質問を お願いします。 Private Function Func_UserSerch() As Boolean Func_UserSerch = False On Error GoTo UserSerchError 'レコードセットの取得 With adoRs .ActiveConnection = adoCn .Source = "user" .CursorType = adOpenStatic .LockType = adOpenForwardOnly .Properties("IRowsetIdentity") = True .Open End With MySQL = "SELECT * FROM user " & _ "WHERE UserID = " & Login.txtName.Text & _ "AND Password = " & Login.txtPass.Text & ";" 'SQLの実行 With adoCd .ActiveConnection = adoCn .CommandType = adCmdStoreProc .CommandText = MySQL .Execute End With If adoRs.EOF = True And adoRs.BOF = True Then Func_UserSerch = False Else Func_UserSerch = True End If UserSerchError: MsgBox "SQL実行中にエラーが発生しました" End Function
- ベストアンサー
- Visual Basic
- mincowski
- 回答数2
- Access or SQLServer どちらを使用しますか?
こんにちは。 みなさんならAccessかSQLServerの、どちらのDBを使うかご意見ください(出来ればメリットやデメリットなどもあるとうれしいです) <環境> サーバー:Win2000Server、Access2000または、SQLServer7.0 クライアント:Win2000 ×10台 開発環境:VB6.0(SP5)、Win2000 <やりたいこと&悩み> 1)複数のパソコンからDBのデータをSelect、Insert、Update、Deleteする 2)データが多いので、Accessの場合は3つくらいのmdbに分けないといけない(Accessのサイズ上限を超えてしまう為)。分けた場合は、リンクテーブルが必要。データ数は、1ヶ月に3万件くらい 3)タイミングによっては、同時アクセスあり 4)AccessをDBとして試作品を作成したところ、ファイルをロックできませんでしたというエラーが1日1回程度でてしまう 5)SQLServerでは気軽(?)にユーザーがメンテナンスできない(Accessの知識は多少あり) このような感じですが、みなさんならどちらを選択されますか?ご意見よろしくお願いします。
- ベストアンサー
- その他(データベース)
- izumi_charis
- 回答数5
- PDOを使いたい
PHP初心者です PHP 5.2.5 MySQL 5.1.22 PDOでMYSQLに接続するにはどうすればいいのでしょうか? いままではこんな感じでしたがPDOにするとどんな感じになるんですか? $link=mysql_connect('localhost', 'user', 'pass')or die(mysql_error()); mysql_select_db(user'); mysql_query('SET NAMES UTF8'); PDOで接続する方法らしいのですが疑問を持ってしまったので教えてください 質問1 最初の$db_nameや$passなどの変数のとこに直接、localhostと書くのはまずいですか? 質問2 古いMYSQL系はカッコで囲めばいいので簡単だったのですがPDOの記号の意味を教えてください->とか=>です 質問3 PDO::ATTR_EMULATE_PREPARESは指定する必要があるんでしょうか?指定しないとパフォーマンスが下がるんですか?PDO::ATTR_EMULATE_PREPARESとはなんでしょうか? try { $pdo = new PDO("mysql:dbname=$db_name;host=$serv","$user","$pass", array( PDO::MYSQL_ATTR_INIT_COMMAND => "SET CHARACTER SET 'utf8`")); } catch (PDOException $e) { die($e->getMessage()); } よろしくお願いします
- ユーザー検索が正しく動作しない
ユーザー検索機能が出来るようにカスタマイズしています。 member.datにユーザーデータが入ってます。 member.dat $name,$add,$mail 実データ 田中誠,大阪府,hoge@hoge.com 伊藤武,東京都,hoge@hoge.com 田中信也,栃木県,hoge@hoge.com 中井洋子,東京都,hoge@hoge.com 石橋浩史,京都府,hoge@hoge.com $keywordはこのプログラムの前に、<INPUT size="30" name="keyword">で格納しています。 $keywordには「田中」とデータが入っています。 検索プログラム user.cgi 省略・・・ open(DB,"$memfile") || &error("Can't write $memfile"); @lines = <DB>; close(DB); foreach ($start .. $end) { ($name,$add,$mail) = split("<>", $lines[$_]); if ( $name!~ /($keyword)/){ print <<"EOM"; 該当の名前 $name EOM exit; } } 以下省略・・・ $keyword に 「田中」と入っていた場合、1件目と3件目が表示されると思っているのですが、実際には1件目だけしか表示されません。 ifの条件式を変えればうまくいきそうな気がしてますが、よくわかりませんでした。 ご指導いただけますと助かります。 以上、よろしくお願いいたします。
- 文字エンコードの設定について
前回、PHPからデータベースへの登録について質問させていただきました。 今回はデータベースに登録した情報をブラウザ上で呼び出す際の 文字エンコードの設定について質問させていただきます。 お手数おかけいたしますがよろしくお願い致します。 以下、一部は省略していますが動作環境とソースの内容です。 DBサーバー : EUC Webサーバー : Shift_JIS 呼び出す側のPHP : EUC ▼ dataload.php **************************************************************************** <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=euc-jp" /> </head> <body> <?php ini_set("mbstring.internal_encoding", "eucjp"); ini_set("mbstring.http_output", "eucjp"); // データベースに接続 ~ 省略 ~ // データベースの選択 ~ 省略 ~ $str_sql = "select * from FORM_DATA"; $sql_re = mysql_query('SELECT * FROM FORM_DATA', $db); while ($data = mysql_fetch_array($sql_re)) { echo '<p>' . $data['DataNumber'] . ':' . $data['Time'] . ':' . $data['Name'] . ':' . $data['Email'] . ':' . $data['Area'] . ':' . $data['Sex'] . ':' . $data['Interest'] . ':' . $data['Comment'] . ':' . $data['OS'] . ':' . $data['IP'] . "</p>\n"; } #$rs = mysql_query($sql_re,$db); #if(!$rs) { # exit('<br /><br />Error! データの呼び出しに失敗しました。'); #} // データベース接続を閉じる $db = mysql_close($db); if (!$db) { exit('データベースとの接続を閉じれませんでした。'); } else{ print "データベースとの接続が切れました。<br />"; } ?> <br />登録データの呼び出し完了しました。<br /><br /> <a href="index.php">最初に戻る</a> </body> </html> ************************************************************************ PHPソースの内容は以上です。 動作的には問題なくDB内の情報が表示されます。 ただし、ブラウザの文字コードが「Shift_JIS」のまま切り替わらず、 ブラウザの文字エンコードを「EUC」に変更しなければ文字化けしてしまう状況です。 <meta>で文字コードを指定し、ini_set()でさらに「EUC」を指定してあるのですが アクセスした時点では文字コードは変わらず文字化けてしまいます。 ini_set("mbstring.internal_encoding", "eucjp"); ini_set("mbstring.http_output", "eucjp"); まだまだ勉強不足で根本的に抜けている点があるかもしれませんが、 可能なら解決策をご教授いただけますと助かります。 よろしくお願い致します。
- 締切済み
- PHP
- Novice4649
- 回答数1
- PHP エラーについて
ファイルをテンプレ&mysqlを使って自動生成するスクリプトを書いているのですが 以下のエラーが出ます。 Fatal error: Call to a member function append() on a non-object in /home/stylenavi/www/httpdocs/test/file_make2.php on line 52 while ($rb2 = mysql_fetch_array($rb)) で値はDBから取れているのですが、 それが次の行でエラーになる理由がわかりません。 どなたかお力ぞえ頂けないでしょうか。 よろしくお願いいたします。 ---------------------------------------------------------------------- <?PHP require_once("Smarty.class.php"); $s=mysql_connect("hogehoge.db.sakura.ne.jp","hogehoge","hoge") or die("失敗しました"); mysql_select_db("hogehoge",$s); $sql = "SET NAMES utf8"; $result = mysql_query($sql); $template = "../templates/itiran_page_test.tpl"; $sakuin = "sakuin1"; //フッターリンク(1)のキー定義 $h_link = "sakuin1"; //下層ページファイル名一覧の取得 $ra=mysql_query("select * from sougou_db where key5 LIKE 'sakuin1'"); while ($ra2 = mysql_fetch_array($ra)) { $ra3 = array($ra2[filename]); foreach( $ra3 as $value ){ //テンプレートの読み込み $contents = file_get_contents( $template); // 作成するファイル名の指定 $file_name = $dir.$value; //ページ要素の取得とテンプレートへの挿入 $rb=mysql_query("select * from sougou_db where (filename = '$value')"); while ($rb2 = mysql_fetch_array($rb)) { //echo $rb2[title]; //⇒ちゃんと表示できます $objSmarty->append('data2',$rb2); } //索引一覧の取得とテンプレートへの挿入 $rc=mysql_query("select * from sougou_db where (key5 = '$sakuin') "); while ($rc2 = mysql_fetch_array($rc)) { //$objSmarty->append('data3',$rc2); //echo $rc2[title]; } //フッターリンクの取得とテンプレートへの挿入 $rd=mysql_query("select * from sougou_db where (key5 = '$h_link') "); while ($rd2 = mysql_fetch_array($rd)) { //$objSmarty->append('data4',$rd2); //echo $rd2[title]; } if( !file_exists($file_name) ){ touch( $file_name ); chmod( $file_name, 0666 ); echo('Info - ファイル作成完了。 file name:['.$file_name.']'); $handle = fopen( $file_name, 'w'); fwrite( $handle, $contents); fclose( $handle ); }else{ // すでにファイルが存在する為エラーとする echo('Warning - ファイルが存在しています。 file name:['.$file_name.']'); exit(); } } } ?>
- ベストアンサー
- PHP
- kensei_0510
- 回答数1