2012-02-23 3 views
-1

Итак, у меня есть сценарий, который генерирует PDF-отчеты с php-страницы для разных клиентов. На данный момент это может обрабатывать только один клиент за раз, но я хотел бы добавить оператор while, чтобы иметь возможность справиться, когда клиенты «ALL» выбраны из раскрывающегося списка.Пока цикл выбирает все контакты

В то время как вы должны выбрать * контакты из 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"); 
} 
?> 

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

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

+1

Вставьте код, который вы используете для 1 клиента, пожалуйста. –

+0

обновлено, извинения –

ответ

0

Простой 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); 
} 
0

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

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. 
} 
Смежные вопросы