忍者ブログ

Wordpressメモとかアフィめもとか

Wordpress,PHP,アフィリエイトとかの個人メモを記録していくよ

[PR]

×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

PHP/MySQL/UTF-8の文字化け

<?
mb_internal_encoding("utf-8"); //内部文字コードを変更

$db=mysql_connect("DBサーバ名","接続ID","接続パスワード");
mysql_query("SET NAMES utf8",$db); //クエリの文字コードを設定
mysql_select_db("DB名");
?>

SET NAMESは基本禁止の方向なのでPHP5.2以降であれば下の方法で。
参考(SET NAMESは禁止

<?
mb_internal_encoding("utf-8"); //内部文字コードを変更

$db=mysql_connect("DBサーバ名","接続ID","接続パスワード");
mysqli_set_charset($db, "utf8") //クエリの文字コードを設定
mysql_select_db("DB名");
?>
 

拍手[0回]

PR

Smartyテンプレートで{}を使う ldelim/literal

Smartyでサイトを作っているときにSmartyテンプレート内で変数や関数を呼び出す場合、{}をつかうけど、文字として{}を使用したい場合。
(Javascriptを埋め込むとか)

そのままSmartyテンプレートに{}を記述するとSmartyがエラーを吐き出してしまうので、次のようにする。

{ldelim}hogehoge{rdelim}


こうかくと実際には下記のように表示される。

{hogehoge}

{ldelim}{rdelim}だと1個だけしかエスケープできないのでまとめてやりたい場合は下記の方法でやる。

<script type="text/javascript">
{literal}
function ( test )
{
    if ( xxx > 0 ) {
        xxxx
    } else {
        zzzz
    }
}
{/literal} 
</script>


拍手[0回]

CSS 背景画像の設定

CSSで背景画像を指定する方法。

background-position : h v;

h と vは数字と単位を指定する。

background-position : 10px 10px;
とすると、横(要素の左上、パディングの部分)から10px 縦から10pxに配置される。

値をひとつだけ指定した場合水平方向だけの指定となる。
二つ指定する場合はh(水平)v(垂直)をスペースで区切る。

単位は%の指定も可能。

background-position : 10px 50%;

こうすると、左から10pxで縦は真ん中に配置される。

拍手[0回]

mysql 件数を取得FOUND_ROWSとSQL_CALC_FOUND_ROWS

事前に単純にselect count(*)でもいいけど、FOUND_ROWSとSQL_CALC_FOUND_ROWSを使うと楽。
(SQLの発行1回)

$sql = 'SELECT SQL_CALC_FOUND_ROWS, id, name FROM xxx LIMIT 10';

$res = mysql_query( $sql );
$rows = mysql_query( 'SELECT FOUND_ROWS()' );
list( $cnt ) = mysql_fetch_row( $rows);

echo "件数は".$cnt."件";

while ($col = mysql_fetch_array($res, MYSQL_ASSOC)) {
    $res_data[] = array(
        echo "id:". $row["id"]. "name". $row["name"] .<br>";
    );
}
 
 

拍手[0回]

PHP 関数の戻り値を複数受取る方法

関数で複数の戻り値を戻したい場合、配列を使う。

function test() {
    $str = 'AAA';
    $no = '99';
    return array($str, $no);
}

list($str, $no) = test();


拍手[0回]

ブログ内検索

最新コメント

広告

プロフィール

なんとなくはじめてみたよ

忍者ツールズプロフィールは終了しました

カウンター