как всё обрабатывается
в файле Bootstrap.php
Class Bootstrap {
function __construct() {
// запускаем сессию
session_start();
$controller = new Controller();
$contadm = new ControllerAdmin();
//print_r($_SESSION);
$url = $controller->getUrl();
//print_r($url);
switch ($url[0]) {
case 'index':
$controller->getIndex();
break;
//......
case 'progr_doc':
$contadm->get_progr_doc();
break;
default:
$controller->getError();
break;
}
}
}
в файле ControllerAdmin.php
function get_progr_doc()
{
$view = new ViewAdmin();
if(isset($_SESSION['id_user']))
{
$model = new ModelAdmin();
$mod = $model->showTest();
$view->showTest($mod);
}
else
{
$view->getLogin();
}
}
в файле ModelAdmin.php
private $dbh;
function __construct() {
try {
$this->dbh = new PDO('mysql:host=123;dbname=db_programm', 'db_programm', '123123');
$this->dbh->exec('SET NAMES utf8');
} catch (PDOException $e) {
echo $e->getMessage();
}
}
function showTest(){
$_SESSION['test'] = 1;//для проверки работы функции
$sql = 'SELECT * FROM progr_doc';
$stmt = $this->dbh->query($sql);
return $stmt->fetch(PDO::FETCH_ASSOC);
}
в файле ViewAdmin.php
function showTest($mod){
require 'views/admin/test.php';
return false;
}
И самое интересное
test.php
<?php
echo 'Работает вид тест</br>';
if (isset($_SESSION['test'])){
echo 'работает модель / '. $_SESSION['test'].'/ '. $_SESSION['id_user'];
}
else {
echo 'модель не работает';
}
?>
<table border="1">
<tr>
<td><strong>Файл</strong></td>
<td><strong>Рег. №</strong></td>
<td><strong>Отправитель</strong></td>
<td><strong>Дата отправки</strong></td>
<td><strong>Дата получения</strong></td>
<td><strong>Дата исполнения</strong></td>
<td><strong>Получил(а)</strong></td>
<td><strong>Исполнитель</strong></td>
</tr>
<tr> <?php foreach($mod as $value):?>
//Выдаёт только одну строку, а мне нужно все
<td><?php echo $value ?></td>
<?php endforeach; ?>
</tr>
<?php foreach ($mod as $key){
echo
/*а так выводит неправильно((
значения вместо строки вставляются в столбик
выводится только первый символ из ячейки в таблице
и русский текст выводит квадратиком( */
'<tr><td>'. $key['doc_name_file'].' </td>
<td>'. $key['doc_reg_numb'].' </td>
<td>'. $key['doc_otpravitel']. '</td>
<td>'. $key['doc_date_otpr']. '</td>
<td>'. $key['doc_date_poluch'].' </td>
<td>'. $key['doc_date_ispoln'].' </td>
<td>'. $key['doc_id_user'].' </td>
<td>'. $key['doc_id_user_ispolnitel'].'</td></tr>';
}?>
</table-->
<?php
print("PDO::FETCH_ASSOC: ");
print("Возвращаем следующую строку в виде массива, индексированного именами столбцов\n");
foreach ($mod as $key):{
//выводит значения только из одной строки хотя в таблице их две
// выводит всю строку из таблицы 1Р-101123123.docя2013-07-312013-08-032013-08-107213
print_r($key);}
endforeach;
print("\n");
?>
Кому не лень посмотрите.
_____________
Прошу критиковать, если что-то не так.