【发布时间】:2012-02-23 02:35:56
【问题描述】:
这就是我想要实现的目标。如果从下拉菜单中选择了全部,那么我会从我的数据库中选择所有客户端。然后,对于每个客户端,它将运行创建 html 页面和 pdf 的脚本。这是我必须要做的,但我不能让它为每个客户生成一个 html 页面和 pdf。
<?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");
}
?>
对于单个客户来说,一切都是完美的。当我尝试生成所有客户端语句时,我无法让它工作。
我做错了什么?
非常感谢
【问题讨论】:
-
你得到什么输出。有什么错误吗?
-
$result 变量不会按预期输出每个 client_id。它输出资源 id 3。
-
很好奇,你为什么要
exec一个php 文件而不是include文件并像其他任何函数一样运行函数?对我来说似乎不那么麻烦了。
标签: php syntax if-statement foreach