これは私が達成しようとしているものです。ドロップダウンメニューから[すべて]を選択すると、データベースからすべてのクライアントを選択します。クライアントごとに、スクリプトを実行してhtmlページを作成し、次にpdfを作成します。これは私が持っているところですが、各クライアントのHTMLページとpdfを生成することはできません。各ループのPHP
<?php
$client_id=$_POST["client_id"];
$date_start=$_POST["date_start"];
$date_end=$_POST["date_end"];
if ($client_id == 'ALL')
{
$con = mysql_connect("localhost","user","password");
if (!$con)
{
die('Could not connect: ' . mysql_error());
}
mysql_select_db("mydatabase", $con);
$query = "select client_id from ca_client_account";
$result = mysql_query($query) or die(mysql_error());
while($row = mysql_fetch_array($result))
{
$command="php $result.php $result $date_start $date_end > $result.html";
exec($command, $output, $status);
echo $command;
if ($status!=0) {print_r($output); die("wget failed with status $status"); }
$command="wkhtmltopdf-i386 --margin-left 5mm --margin-right 5mm $result.html $result.pdf";
exec($command, $output, $status);
if ($status!=0) die("htmltopdf failed");
}
}
else
{
$command="php $client.php $client_id $date_start $date_end > $client.html";
exec($command, $output, $status);
if ($status!=0) {print_r($output); die("wget failed with status $status"); }
$command="wkhtmltopdf-i386 --margin-left 5mm --margin-right 5mm $client.html $client.pdf";
exec($command, $output, $status);
if ($status!=0) die("htmltopdf failed");
}
?>
1人のクライアントではすべてが完璧です。私が試して、すべてのクライアントの文を生成するとき、私はそれを動作させることはできません。
私は間違っていますか?あなたは、データベース呼び出しがどのように動作するかの基本的な誤解を持っている
感謝
あなたはどのような出力を得ていますか?エラーはありますか? –
$ result変数は、意図したとおりに各client_idを出力しません。それはリソースID 3を出力します。 –
好奇心が強いのですが、ファイルを 'インクルードする 'のではなく、ほかの機能を実行するのではなく、なぜ' exec'を実行するのですか?私にはあまり面倒ではないようです。 –