[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Вывод данных PDO::FETCH_ASSOC и построение таблицы
Akarapidoz
и так, есть таблица progr_doc там записываются сведения о загруженных документах
как всё обрабатывается
в файле 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");
?>



Кому не лень посмотрите.

_____________
Прошу критиковать, если что-то не так.
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.