Translate

2015年12月29日火曜日

PHPの連想配列を表にしたい

$curry['肉'] = ['牛肉','鶏肉','豚肉','ひき肉'];
$curry['野菜'] = ['人参','ジャガイモ','玉ねぎ','ほうれん草','トマト'];
$curry['炭水化物'] =['お米','ナン'];

こんな連想配列を

具材種類
牛肉 鶏肉 豚肉 ひき肉
野菜人参 ジャガイモ 玉ねぎ ほうれん草 トマト
炭水化物お米 ナン
としたい

echo "<table>";
      foreach($curry as $key => $value){
         echo "<tr><td> $key </td><td>";//ここで得られる$valueは配列
         foreach ($value as $key2 => $value2) {
            echo $value2." " ;
         }
         echo "</td></tr>";
      }
echo "</table>";

2015年12月14日月曜日

XAMPP環境でPHPからmysqlにmysqldumpコマンドを打つときにはまったこと

データベースの内容をバックアップするボタンを作ろうと、こんなスクリプトを書いた。

$id = "root";
$pwd = "password";
$db = "myDB";
passthru('mysqldump '.$db.' -u '.$id.' -p'.$pwd.' >./tmp/test.sql ');

・・・が、うまく行かない。空のsqlが書き出される。
色々調べた結果、stackoverflowで同じような質問があったので解決
xamppを使用の場合、

passthru('c:\xampp\mysql\bin\mysqldump '.$db.' -u '.$id.' -p'.$pwd.' >./tmp/test.sql ');
とすればよい。ローカルのインストールしたパスを参照させないといけない。

同様に、バックアップから復帰させるときは

passthru('c:\xampp\mysql\bin\mysql '.$db.' -u"'.$id.'" -p"'.$pwd.'" <./tmp/test.sql ');
とする。