メニュー

関連ページリンク

トップ > 004.D > 004.D - 人気ブログ(Blog)検索結果詳細 (2009年1月9日 10時)

DBに情報格納→GDで画像とテキスト合成→XMLに反映

PHP初心者です。 以下のようなものをつくらなければいけないのですが、 考え方・構成の時点でつまってしまいまして、皆さんのご意見が伺いたいです。 意味のわからない点は随時補足していきます。 些細なことでも結構ですので、どうぞよろしくお願いします。 ■最終的なイメージ ・フォームからテキストを入力&画像をアップロードする。 ・それがFlashに反映される。 ・Flashは本のようなイメージ。いわゆるページめくり。  (xmlでjpg画像を読み込み、それが1ページ1ページとなるため、  背景画像とテキストまたは背景画像と画像の合成が必要) ・CMSのようなかんじ ■自分で考えたこうやったらよいのではないかという内容 (A)---------------------------------------------------- 1. SQLiteを使ってテキストをDBに格納 2. 画像をサーバ内のフォルダにアップロード 3. 2の画像のファイル名は1と同じDBに格納 (B)---------------------------------------------------- その後GDを使って、 1. 背景画像Aに1のテキストを合成しjpgを作成 2. 同じく背景画像Aに2の画像を合成jpgを作成 出来上がったファイルをサーバ内のフォルダに格納 ということをしようとしています。 (C)---------------------------------------------------- 1. (B)で出来上がった合成jpgをxmlファイルに反映。   ※画像をつくって更新し、どんどんファイルを増やしていくイメージ 2. Flashにxmlを読み込む。   ※この部分は元からサンプルがあります。 (A)と(B)それぞれは調べてなんとかできたのですが、 それらの処理をどのうにして繋げるかがわからなくて悩んでいます。 また(B)の方も2つのファイルを同時に合成するにはどうしたものかと悩んでいます。 かといって分けてしまうと手順がとても多くなりますよね。 (C)にいたってはそこまでたどり着けずにいます。 以下が(A)のコードです。 <?php //定義 $bun  =  ( ' あいうえお ' ) ; $logoimg  =  imagecreatefrompng ( ' front.png ' ) ; $img  =  imagecreatefrompng ( ' background.png ' ) ; $text  =  mb_convert_encoding ( $bun ,  ' auto ' ) ;   //背景の幅と高さ $img_w  =  imagesx ( $img ) ; $img_h  =  imagesy ( $img ) ;   # ロゴの幅と高さを取得 $logo_w  =  imagesx ( $logoimg ) ; $logo_h  =  imagesy ( $logoimg ) ;     $black  =  imagecolorallocate ( $img ,  0x00 ,  0x00 ,  0x00 ) ; imagettftext ( $img , 16 , 0 , 30 , 200 , $black , ' /font/ipagp.ttf ' , $text ) ; # 右下にロゴを表示 imagecopy ( $img ,  $logoimg , $img_w  -  $logo_w  -  30 ,  $img_h  -  $logo_h  -  20 , 0 ,  0 , $logo_w ,  $logo_h ) ;     header ( ' content-type:image/png ' ) ; imagepng ( $img ) ; ?> 以下が(B)のコードです。 画像をアップロードして1回表示させたあと、DB登録用のフォームに書き込むかんじです。 <?php //画像アップロード $updir  =  " ./img/ " ; $filename  =  $_FILES [ ' data ' ][ ' name ' ] ; $filesize  =  filesize ( $_FILES [ ' photo ' ][ ' tmp_name ' ]) ;      if ( move_uploaded_file ( $_FILES [ ' data ' ][ ' tmp_name ' ] ,  $updir . $filename )  ==  FALSE ){      echo   " 参照で画像ファイルを指定して送信をクリック " ;      echo   $_FILES [ ' data ' ][ ' error ' ] ;    }    else {      echo   " ファイル名 "  . $filename .  " アップロード成功 " ;      echo   $_FILES [ ' data ' ][ ' error ' ] ;      echo   " <br><br> " ;    }    if ( $filename  ==  "" ){      echo   "" ;    }    else {      echo   " <img src='./ $updir / $filename '> " ;    }   //関数を定義したmyfunc.phpを一度だけ読み込む require_once ( " myfunc.php " ) ;     print ( " <HTML> \n " ) ; print ( " <HEAD> \n " ) ;  print ( " <META HTTP-EQUIV= \" Content-Type \"  CONTENT= \" text/html; charset= \" Shift_JIS \" > \n " ) ; print ( " <TITLE>sltest3-1</TITLE> \n " ) ; print ( " </HEAD> \n " ) ; print ( " <BODY> \n " ) ;   //sltest3.phpから入力フォーマットに入力されたデータをpostで渡されるので //$HTTP_POST_VARSによりフィールド inpnum の内容を取り出し $safetextに格納 $safetext  =  $HTTP_POST_VARS [ " inpnum " ] ;   //chkchar関数により$safetext内の不正な文字を除去する chkchar ( $safetext ) ;   //$keyに不正な文字を除去した結果を格納 $key  =  $safetext ;   //numberフィールドの値が数値かどうかを is_numeric 関数によりチェックする if   ( is_numeric ( $key ))   {   //numberフィールドの値が範囲内(0以上999999999以下)かチェックする    if   ( $key  >=  0   and   $key  <=  999999999 ){       }   else   {   //numberフィールドの値が範囲外の場合はエラーメッセージを表示する      echo   " numberは0から999999999までの数値を指定してください<br><br> " ;      //HTML文を出力 javascriptを使用して直前のページに戻るリンク          echo   " <a href='sltest3.php' onClick='history.back();return false;'>戻る</a><br> " ;      //以降の処理を中断          exit ;    }    }   else   { //numberフィールドの値が数値以外の場合はエラーメッセージを表示する    echo   " numberは数値を指定してください<br><br> " ;    //HTML文を出力 javascriptを使用して直前のページに戻るリンク      echo   " <a href='sltest3.php' onClick='history.back();return false;'>戻る</a><br> " ;    //以降の処理を中断      exit ; }   //sltest3.phpから入力フォーマットに入力されたデータをpostで渡されるので //$HTTP_POST_VARSによりフィールド inpname の内容を取り出し $safetextに格納 $safetext  =  $HTTP_POST_VARS [ " inpname " ] ;   //chkchar関数により$safetext内の不正な文字を除去する chkchar ( $safetext ) ;   //$nameに不正な文字を除去した結果を格納 $name  =  $safetext ;   //nameフィールドの入力文字数が範囲外の場合はエラーメッセージを表示する if   ( strlen ( $name )  <  6   or   strlen ( $name )  >  40 ){    echo   " nameは半角の場合は6文字以上40文字まで、全角の場合は3文字以上20文字までの文字数で入力してください<br><br> " ;    echo   " <a href='sltest3.php' onClick='history.back();return false;'>戻る</a><br> " ;    exit ; }   //sltest3.phpから入力フォーマットに入力されたデータをpostで渡されるので //$HTTP_POST_VARSによりフィールド inpnote の内容を取り出し $safetextに格納 $safetext  =  $HTTP_POST_VARS [ " inpnote " ] ;   //chkchar関数により$safetext内の不正な文字を除去する chkchar ( $safetext ) ;   //$noteに不正な文字を除去した結果を格納 $note  =  $safetext ;     //sltest3.phpから入力フォーマットに入力されたデータをpostで渡されるので //$HTTP_POST_VARSによりフィールド inpnote の内容を取り出し $safetextに格納 $safetext  =  $HTTP_POST_VARS [ " inpfilename " ] ;   //chkchar関数により$safetext内の不正な文字を除去する chkchar ( $safetext ) ;   //$noteに不正な文字を除去した結果を格納 $filename  =  $safetext ;     //DBへ接続開始 //sqlite_openの文法 //sqlite_open(データベースのファイル名,ファイルのモード,エラーメッセージ) // //データベースのファイル名 --- SQLite データベースのファイル名 //PHPのファイルがある位置を基点として相対位置でデータベースファイル名を指定 //ファイルが存在しない場合はSQLiteはファイルを生成する // //ファイルのモード --- 読み込み専用モードでデータベースをオープンする //デフォルト値は、8 進数値 0666  // //エラーメッセージ --- エラーメッセージを格納する変数を指定する $dbHandle  =  sqlite_open ( ' dbtest ' ,  0666 ,  $err ) ;   //DBの接続に失敗した場合はエラー表示をおこない処理中断 if   ( $dbHandle  ==  False )   {      die ( ' can not connect db\n ' . $err ) ;    exit ; }   //SQL文 tab1表からnumber列の値がが入力フィールドで入力された値と等しい行を抽出 $sql  =  " select * from tab1 where number = ' $key ' " ;   //SQL文を実行する //sqlite_queryの文法 //sqlite_query(SQLiteデータベースリソース, 実行するクエリ,配列の添字のタイプ,エラーメッセージ) // //SQLiteデータベースリソース --- SQLiteのデータベースリソースを指定する // //実行するクエリ --- 実行SQL文を指定する // //配列の添字のタイプ --- 返される配列の添字のタイプを指定する //SQLITE_ASSOC --- 連想配列の添字のみが返される //SQLITE_NUM   --- 数値の添字のみが返される //SQLITE_BOTH  --- デフォルト値で連想配列の添字と数値の添字の両方が返される // //エラーメッセージ --- エラーメッセージを格納する変数を指定する // $rs  =  sqlite_query ( $dbHandle ,  $sql ,  SQLITE_BOTH ,  $err ) ;   //SQL命令の実行に失敗した場合はエラー表示をおこない処理中断 if   ( ! $rs )   {      die ( ' query error ' . $err ) ; }   //sqlite_num_rows関数を使用しtab1表の行数を取得する $rows  =  sqlite_num_rows ( $rs ) ;   //入力されたnumberの行が既に存在した場合はエラーメッセージを出力する if   ( $rows  >  0 )   {    print ( " numberが  [ "  . $key  .  " ]  のデータは既に登録されています<br> " ) ; } //入力されたnumberの行が存在しなかった場合新規登録をおこなう else   {   //SQL文 tab1表にinsertするためのSQL文を作成    $sql  =  " insert into tab1 values(' $key ',' $name ',' $note ',' $filename ') " ;    //SQL文を実行する    $rs  =  sqlite_query ( $dbHandle ,  $sql ,  SQLITE_BOTH ,  $err ) ;    print ( " numberが  [ "  . $key  .  " ]  のデータを登録しました<br> " ) ; }      //HTML文を出力 テーブルの終了を指定 print ( " </TABLE> " ) ;   //DBへの接続を切断 sqlite_close ( $dbHandle ) ;   print   ( " <br><a href=javascript:history.back()>戻る</a><br> " ) ; print ( " </BODY> \n " ) ; print ( " </HTML> \n " ) ; ?>

作者:

更新日:2009年1月9日 15時28分

このブログのホーム

別のページへ飛ばす方法

ただいま、ログイン画面を作っております。 入力されたIDとパスがDBに既にあり、両方がペアであれば、ログイン後のページに進む。 入力されたIDとパスがDBにない、もしくは間違っている場合は、ログインフォームの下にエラーメセージ表示。 といった流れのページを目指しています。 この時ログイン用のlogin.php内で、入力チェックを行っているのですが、ログイン後のページを表示させるのを、どのようにしたら良いのか困っています。 ログインフォームには <form name="loginform" action="" method="post"> のように、自身を読込むように記述しています。 ログイン後のページを表示させるとなると、 require('next.php'); exit(); かなと思ったのですが、使い方が間違っているような気がします。 (こちらだと、URLはlogin.phpのままになってしまいますよね) ログインに成功した場合、完全に別のページに移動する方法を教えていただきたいです。 それとも、はやり <form name="loginform" action="next.php" method="post"> などのように記述して、action後のページで入力チェックを行うしかないのでしょうか? 物凄く初歩的な質問だと思いますが、よろしくお願いいたします。

作者:

更新日:2009年1月9日 14時52分

このブログのホーム

phpからAccessへの接続について(文字コード)

phpからAccessへ接続しブラウザにデータを表示する際に次の状態となります。 ※1.フィールド名が全角の項目を取得しようとした場合 「Field 全角のフィールド名 not found 」というエラーがでます。 ※2.フィールド名が半角でデータが全角の場合 エラーはでませんがブラウザに何も表示されません。 フィールド名が半角でデータも半角の場合はブラウザに表示されます。 $conn_id = odbc_connect(_DBName,_DBUser,_DBPassword);   $strSQL = "select * from TABLE1"; $Result = odbc_exec($conn_id, $strSQL);   while (odbc_fetch_row($Result)) {     //print odbc_result($Result, "フィールド1"); //※1   print odbc_result($Result, "field1");         //※2 } $ret = odbc_close($conn_id); ブラウザの文字コードがEUCで、ACCESSがSJISですのでそれが原因かと考え、 以前MYSQLとPHPで同様の事があった時に対応した以下のようなコードを追加すべきかと思い、 ログ等を検索しましたが具体的なコードが見つからず、困っております。 <PHPとMYSQLの時追加したコード> $sql ="SET NAMES ujis"; mysql_query($sql,$link); 対応方法がございましたらご教授ください。

作者:

更新日:2009年1月9日 13時5分

このブログのホーム

ページ送りについて

いつもお世話になっています。 ページ送りについて質問があります・・・。 検索件数に応じてページ送りのボタンを作っているのですがボタンが「POST送信」のため悪戦苦闘しています・・・。 今おおよそ下記のように書きました。 $start・・・現在のページ $res['totalResultsAvailable']・・・最大ページ数 $last・・・各ページ10件ずつ表示され、ページ末のデータ番号(1P→10、2P→20のように・・・) //前のページへ戻る   if($start > 1){     echo '<form method="post" action="index.php" style="margin:0;">';       $start_page = $start;     $start_page2 = $start;        while($start_page > $start_page2-110 && $start_page>0){     $i=$start_page;       echo'<input type="hidden" name="query" value= "'.mb_convert_encoding($_REQUEST['query'],'EUC-JP','UTF-8').'" >      <input type="hidden" name="type" value="web">     <input type="hidden" name="h" value="search/search.php">     <input type="submit" name="start" value="'.$i.'">     $i++;   $start_page = $start_page-10;     }       echo '</form>'; }        //次のページへ進む   if($last < $res['totalResultsAvailable']){     echo '<form method="post" action="index.php" style="margin:0;">';       $end_page = $start;      $end_page2 = $start;        while($end_page < $end_page2+110){     $i=$end_page;       echo'<input type="hidden" name="query" value= "'.mb_convert_encoding($_REQUEST['query'],'EUC-JP','UTF-8').'" >      <input type="hidden" name="type" value="web">     <input type="hidden" name="h" value="search/search.php">     <input type="submit" name="start" value="'.$i.'">     $i++;   $end_page = $end_page+10;     }       echo '</form>';     } やりたいことはGoogle検索のようにページ数を並べ、好きなページにジャンプできるようにしたいです。 また現在のページを中心に前後5ページまでにリンクをつけたいのですが可能でしょうか? 【例】現在1ページのとき (1),2,3,4,5,6,7,8,9,10 ()は現在のページのためボタンを無効化する 【例】現在7ページのとき 2,3,4,5,6,(7),8,9,10,11 ()は現在のページのためボタンを無効化する 以上よろしくお願い致しますm(_ _;)m

作者:

更新日:2009年1月9日 3時11分

このブログのホーム

携帯用サイトでセッション利用時のキャッシュコントロールについて

携帯向けサイトを構築中です。 セッションを利用してページ間でデータの 受け渡しを行っているのですが、キャリアによって キャッシュの制御がうまくいかず困っています。 どのような設定が適切なのかご意見をおうかがいできませんでしょうか。

作者:

更新日:2009年1月8日 23時52分

このブログのホーム

JavaScriptとPHPの関係

プルダウンメニューを使用して、選択した値をPHPに送り、 計算結果を元のHTMLに返して表示するプログラムを作成しています。 選択するプルダウンメニューは以下のとおりです。 <FORM name="smple"> <SELECT NAME="sample_a" onchange="test(this);">   <OPTION VALUE="9" selected>選択   <OPTION VALUE="0">a   <OPTION VALUE="1">b   <OPTION VALUE="2">c </SELECT> </FORM> また、上記の結果をJavaScriptで得て、PHPとやり取りをしています。 <SCRIPT> function test(v) {  sendRequest(  on_loaded1, //コールバック関数  '&data='+v.value, //データ  'GET', // HTTPメソッド  'test.php', //URL  true, //非同期  true //強制ロード  ) }    function on_loaded1(oj){  var res = new Array();  res["RaD","RaM","RaS","DecD","DecM"] = oj.responseText  document.forms["atai"].elements["RaD"].value = res } </SCRIPT> PHPファイルの中では値を計算して、 return array($RaD,$RaM,$RaS,$DecD,$DecM); の形で値を返していますが、 document.forms.atai is undefined document.forms["atai"].elements["RaD"].value = res というエラーが出ています。 よくわからないので、皆様のご意見をお聞かせください。

作者:

更新日:2009年1月8日 22時45分

このブログのホーム

セッションを破棄する方法

以下のようにセッションを破棄しようとしましたが、 セッションが残ったままになっているようです。 セッションを正しく破棄する方法を教えてください。 $_SESSION["loginflag"] = "";   if (!isset($_SESSION["loginflag"])) {   print "セッション無し"; //こちらを通りたい }else{   print "セッション有り"; //こちらを通ってしまいます } よろしくお願いします。

作者:

更新日:2009年1月6日 19時32分

このブログのホーム

画像データDB格納メリット

こんにちは、 PHP5、MYSQLの環境で 画像データの取り扱いの部分を勉強中なのですが、 そのなかで、 画像の格納方法に DBにバイナリデータを保存する方法と 特定フォルダに格納する方法と 二通りあると思われるのですが、 それぞれ、どうゆうメリットがあるのだろうか?と 思いまして、メリットや、こうゆうサイトに使えるような 情報などありましたらお願い致します。 個人的には、下記のような感じたのですが、 記述コードは、画像名や幅などDBで管理すれば あまり難しさに差がないように感じましたが。。 SBに格納の場合、セキュリティが向上するが データから画像として構築する分、処理に負荷がかかる フォルダ格納の場合、セキュリティが低下するが 負荷が少ない

作者:

更新日:2009年1月6日 14時8分

このブログのホーム

ページのナビゲーションでの配列の受け渡し

$PAGESIZE件ごとにページ分け表示する際のページのナビゲーションについて、 例えば、前のページに値($tcnt)をtcntという変数名で受け渡したいときは次のようにすると思います。このようにして配列を受け渡すことは可能ですか? //ページのナビゲーション if ($page > 1) {   //2ページ以降の場合は[前]を表示します   $body .= "<a href='$PHP_SELF?page=".($page-1)."&tcnt=$tcnt'>前の".$PAGESIZE."件</a>"; } $dis[]という変数名の多次元配列で中身は次のようになっています。 Array ( [0] => Array ( [レシピNo.] => 10 [マッチ数] => 1 ) [1] => Array ( [レシピNo.] => 11 [マッチ数] => 1 ) ) PHPは初心者です。よろしくお願いします。

作者:

更新日:2009年1月5日 16時20分

このブログのホーム

ランダム文字生成+重複チェック

コード用のランダム文字を生成し、以前登録されたデータに重複するコードがあれば再生成する、というPHPを作りたいと思っています。 過去記事を探したところ、http://www.phppro.jp/qa/960にて、ほぼ私がやりたい事と同じ内容が回答されておりました。 2番目に回答されたsignalさんのサンプルコードを使用させていただきました。 「signalさんが書かれたコード」 function make_passwd( $length ) {    $char = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789';    $list = preg_split( '//', $char, -1, PREG_SPLIT_NO_EMPTY );    $rand = array_rand( $list, $length );    $str  = '';    foreach ( $rand as $key ) $str .= $list[$key];    return $str;  }  function get_passwd( $conn, $length = 8 ) {    do {      $passwd = make_passwd( $length );      $result = mysql_query( "SELECT upw FROM tablepw WHERE upw = '$passwd'", $conn );      $count  = mysql_num_rows( $result );    } while( $count > 0 );    return $passwd;  }     $conn = mysql_connect( $host, $user, $pw );  mysql_select_db( $db, $conn );  print get_passwd( $conn, 6 ); 要らないと思われる部分を削り、以下のコードで動作は確認できました。 (重複チェックしているかは、まだなのですが・・・) 「私が書いたコード」 // DB接続 require_once('db_joint.php');   /*     コード生成     */ function make_code($length) {    $rdm_str = md5(uniqid(rand(), true));   // ランダム文字生成    $rdm_str = substr($rdm_str,0,6);        // 生成文字を6文字に縮小    $today = date("ymd");                   // 現在の年月日    $cp_code = "CP_".$rdm_str.$today;       // コード生成    return $cp_code;                        // 生成したコードを返す }   /*     生成コードの重複チェック     */ function get_code($length) {    do {       $cp_code = make_code($length);       $result = mysql_query("SELECT code FROM code_table WHERE code = '$cp_code'");       $count  = mysql_num_rows($result);    }    while($count > 0);    return $cp_code; }   // 生成コード表示 print get_code(); 上記に書いたPHPコードで、文法的には間違っていないでしょうか? また文法以外にも、何か間違っているなどありましたら、教えていただきたいです。 (コード自体理解しきれていないので、signalさんが書かれたコードを1行ずつ解説していただけると嬉しいです) よろしくお願いいたします。

作者:

更新日:2009年1月5日 14時59分

このブログのホーム

データベースの表示方法について

mySQLデータベースにphpで接続し、一覧表示をさせるときに、基本、縦に一覧が表示されますが 例えば横にも5列表示させる方法は有りますでしょうか? 写真とコメントのデータベースを表示させるのに、例えば横に5列、縦に5列の25個を表示して、それ以上の場合はページングでページを変えたいと思っています。 <table> <tr>   <td rowspan=2>       <?php   echo   $row [ " data1 " ] ; ?>   </td>   <td>       <?php   echo   $row [ " data2 " ] ; ?>   </td> </tr> <tr>   <td>       <?php   echo   $row [ " data3 " ] ; ?>   </td> </tr> </table> 例えば上記の場合、テーブルの形のまま、データが有るだけ下に表示されてしまいます。このテーブルの形を活かして横にも5列例えば表示させる様にするにはどのようにしたら良いのでしょう? ご教授下さい。※テーブルやテーブルの形は例えです。

作者:

更新日:2009年1月5日 14時34分

このブログのホーム

チェックボックスの判別について教えてください。

以下のようなソースでチェックボックスを表示させ$strに何を選んだのかまではできています。 <input type="checkbox" name="flag[]" value="1" />aaa <input type="checkbox" name="flag[]" value="2" />bbb <input type="checkbox" name="flag[]" value="3" />ccc foreach ($_POST['flag'] as $val) {     $str[] = $val; } 例えば1と3を選んだ場合 $str[0] => 1 $str[1] => 3 となるのですがチェックしていない場合は常に0を配列に返し上記の例と同様に1と3を 選んだ場合以下のような配列で返すにはどうすればいいのでしょうか? $str[0] => 1 $str[1] => 0 $str[2] => 3 セレクトボックスであればvalueに0を入れれば済むので問題ないのですがチェックボックスの 場合どうやっていいものか全くわからず悩んでおります。

作者:

更新日:2009年1月5日 2時3分

このブログのホーム

pear DBを使ってテーブルをトランケート

タイトルの通りなのですが、pearのDBを使ってテーブルをトランケートしたいと思っているのですが、そもそも可能なのでしょうか? 検索してもうまくヒットしなかったので・・・

作者:

更新日:2009年1月4日 21時32分

このブログのホーム

imagickやpear-file_archiveからの書き込みで文字化け

タイトルの通りなのですが、imagickから$image->writeimage(~やfile_archiveからFile_Archive::extract(~で書き込まれるファイル名が日本語の場合文字化けしてしまっています。 サーバのosはFreeBSDです。 文字コードの問題だとは思うのですが、imagickやpearからの出力時に文字コードを指定する方法がみつかりませんorz もしご存じの方がいらっしゃいましたらご教授お願いいたします。

作者:

更新日:2009年1月3日 12時49分

このブログのホーム

smarty ループ処理 多次元の場合

こんにちは、 smartyのループ処理に関しまして $conectdata配列の内になる、userid,userpassの値を 表に表示しようとしているのですが 多次元構成の場合、loop処理機能で表示させる方法はありますでしょうか。 $conectdata配列中身--------------------- Array ( [0] => OK  [1] => Array ( [userid] => testuser [userpass] => testpass )  [2] => Array ( [userid] => 1testuser [userpass] => testpass ) )  テンプレート------------- <table border="3">  <tr> <td>a</td>  <td>b</td>  <td>c</td>  </tr> {section name=cnt loop=$data1} <tr> <td>{$data1[cnt][userid]}</td> <td>{$data1[cnt][userpass]}</td> <td>{$data1[cnt][userid]}</td> </tr> {/section} </table>  PHP------------------- $smarty->assign( 'data1' , $conectdata);

作者:

更新日:2009年1月2日 3時36分

このブログのホーム

MySQLとQuickForm

MySQLにフォームデータを格納し、スクリプトにアクセスされた際、そのデータを呼び出し、QuickFormでフォームを構成しています。 その際、 foreachで addelement や addRule を適用しているのですが、 addRuleが上手く機能しません。 foreach($res as $value) { $f->addelement($value['1'].......); $f->addRule(.....); } 表示の際、入力必須の * はcheckbox項目以外は問題なく表示されるのですが、checkboxだけ、 * が表示されません。 また、addRuleを適用しているはずなのに、全て空白でsubmitを押しても問題なく処理されてしまいます。(本当はエラーをはき出さなければならないのですが) 尚、 $f->addElement(....); $->addRule(....) ... のように一つ一つ表記すれば問題なく処理されますので、QuickFormの問題ではありません。 どうぞよろしくお願いします。

作者:

更新日:2009年1月1日 10時29分

このブログのホーム

php5でのDB接続

こんにちは、 PHP勉強中のものなのですが、 php5,smartyそれぞれ少し使えるようになったので、 DB接続をやってみようと試しているところで、 何かサンプルが無いかネットで調べていましたら、 (PHP5、MYSQL環境) php5の場合、pear?、SQLite?というDB接続用のライブラリ?が あるようなのですが、 どちらをメインに使用すればよいものなのでしょうか?

作者:

更新日:2008年12月31日 5時52分

このブログのホーム

テーブルをまたぐ条件検索

mysqlに登録しているデータを参照し条件検索を試みています。 テーブルAとテーブルBがあるとして2つのテーブルからの条件検索というのは可能でしょうか? 抜粋となりますが具体的にテーブルAには id,name 1,名前1 2,名前2 3,名前3 (商品id,商品名) テーブルBには id,products_id,code,price 1,1,aaa,100 2,2,bbb,200 3,3,ccc,300 (id,テーブルAと同様の商品id,商品コード,価格) となっております。 単純にテーブルAのみのデータ検索であればシンプルで大丈夫かと思うのですが・・・ 例えば検索フォームの商品名に『名前』といれればlike検索で3件ヒットしますよね? 同時にフォームの商品コードの箇所に『aaa』といれれば商品名が『名前』で商品コードが『aaa』 なので1件のヒットとなるかと思うのですがこれはどうやって実現できるものでしょうか? 実際にテーブルのカラムとフォームは多数あり検索条件に価格の下限~上限の検索も入れたいと 思っており仕組みを考えてみましたが初めてのもので難しく考えてしまっているものか構造が具体化 できずにいる状態です。宜しくお願い致します。

作者:

更新日:2008年12月30日 19時17分

このブログのホーム

mysqlのprimary keyで半角数値5桁を指定したい

いつも勉強させていただいております。samoraiと申します。 mysqlにて、テーブル作成の際に、 primary keyを自動連番で付加させたいのですが、 1を00001としてDBに登録させる事は可能なのでしょうか? それともこういう処理はphp側で行う事なのでしょうか? 検索したのですが、mysqlでの処理で1を00001にして自動保存するような記事が見つかりませんでした。 どなたか知っていましたらご教授お願い致します。

作者:

更新日:2008年12月29日 23時0分

このブログのホーム

フォーム内容が誤っていた時の処理

入力フォームからPOST送信によって○○.phpへ送信してフォームデータのチェックを行い、間違い等があった場合、入力フォームへ強制的に戻す方法が分からずこまっております。 何か便利な方法はありませんでしょうか? お願いいたします。

作者:

更新日:2008年12月29日 1時16分

このブログのホーム