В то время как цикл выбрать все контакты - PullRequest
0 голосов
/ 23 февраля 2012

Хорошо, у меня есть скрипт, который генерирует отчеты в формате pdf со страницы php для разных клиентов. На данный момент это может обрабатывать только один клиент за раз, но я хотел бы добавить оператор while, чтобы иметь возможность справиться, когда «ВСЕ» клиенты выбраны из выпадающего списка.

В то время как * должен выбрать * контакты из mydatabase.mytable и выполнить обычный код для каждого. Это бит, который я не знаю, как сделать.

Я знаю, что-то вроде этого, но не могу вспомнить синтаксис ...

<?php
$client_id=$_POST["client_id"];
$date_start=$_POST["date_start"];
$date_end=$_POST["date_end"];

if ($client_id == 'ALL') {

}
else
{
  $command="php myfile.php $client_id $date_start $date_end > myfile.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 myfile.html myfile.pdf";
  exec($command, $output, $status);
  if ($status!=0) die("htmltopdf failed");
}
?>

Любые предложения будут оценены

Большое спасибо

Ответы [ 2 ]

0 голосов
/ 23 февраля 2012

Если вы выберете ВСЕ контакты из своей базы данных, вы сможете получить какой-нибудь массив, возможно, что-то вроде этого:

array(
   ['John Smith'] => array( 'company' => 'xyz'),
   ['Anna Citizen'] => array( 'company' => 'abc),
)

Чтобы сгенерировать вышеуказанный массив, вы можете проверить«ВСЕ» контакты:

if ($_POST['dropdown'] == "ALL"){
  //generate for ALL
}else{
  //generate for 1 contact
}

Затем вы можете использовать цикл foreach для перебора массива для ВСЕХ контактов:

foreach ($contacts as $contact => $attributes){
  var_dump($contact); //John Smith
  var_dump($attributes); // array('company' => 'xyz);
  var_dump($attributes['company']); //xyz

  //Do whatever to generate reports.
}
0 голосов
/ 23 февраля 2012

Достаточно простой if структуры управления.

if ('All' == $client_id) {
    // e.g. - generateReport(-1)
    // Your function would look for -1 so it knows to generate for all
}
else {
    // e.g. - generateReport($client_id);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...