[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Вывод из БД в одну таблицу
Страницы: 1, 2
Vov4ik4ernov
Есть табличка в БД такого формата

id|data|mouth |status
1 |01 |February|P
2 |02 |February|P
3 |03 |February|P
4 |04 |February|O

через код


$result = mysql_query("SELECT * FROM chernov WHERE mouth='$mouth'");
//$row = mysql_fetch_array($result);

while ($row = mysql_fetch_assoc($result))
{
$table .="<table border='1' cellspacing='1' cellpadding='1'>";
$table .= "<tr>";
$table .= "<td>".$row['data']."</td>";
$table .= "</tr>";
$table .= "<tr>";
$table .= "<td>".$row['status']."</td>";
$table .= "</tr>";
$table .= "</table>"; }

echo $table;



выводит дату, то есть число (1,2,3,4 и т.д.) и статутс (Р,О,К) в единую таблицу, а не каждое значение строчки таблицы в каждую таблицу в php

то есть
табличка на 2 строки, и количество столбцов в зависимости от чисел
killer8080
нифига не понял, а зачем дата хранится в таком извратном виде? Для хранения дат есть соответствующий тип данных DATE
GET
Vov4ik4ernov
По идее, по правилам нормализации, у вас в таблице повторяется FebruaryFebruaryFebruary...а должно повторятся 2 2 2..
а для месяцев создана табличка месяцев в которой 2 - February

$table .="<table border='1' cellspacing='1' cellpadding='1'>";
//поменяйте на
$table ="<table border='1' cellspacing='1' cellpadding='1'>";

мне кажется у вас таблицы просто слипаются в одну из за этого

а echo $table; внесите под }

На это форуме свой код выделяется специальными кнопками PHP, HTML ..., а не жирным шрифтом.

Для хранения дат есть соответствующий тип данных DATE
+1!



_____________
Не тот велик, кто не падал, а тот кто падал и поднимался.
GET
И вообще конечно создавать кучу таблиц скорее всего заведомо неправильно... надо что-то менять.

_____________
Не тот велик, кто не падал, а тот кто падал и поднимался.
Vov4ik4ernov
Цитата (ABC @ 6.02.2013 - 12:11)
И вообще конечно создавать кучу таблиц скорее всего заведомо неправильно... надо что-то менять.

тогда подскажите с чего начать
http://s020.radikal.ru/i716/1302/9e/f41cd283b348.jpg

вот такое просто дело надо сделать
или есть какой то скрипт?
только как можно проще надо, и придумывать так ещё и ещё совсем не нужно
просто сложнее вообще ничего не поймут
GET
Vov4ik4ernov

Своими словами объясните, что нужно?

Вести учет рабочего времени по дням собирая их в каждом месяце?

_____________
Не тот велик, кто не падал, а тот кто падал и поднимался.
Vov4ik4ernov
Цитата (ABC @ 6.02.2013 - 14:28)
Vov4ik4ernov

Своими словами объясните, что нужно?

Вести учет рабочего времени по дням собирая их в каждом месяце?

да, то есть писать Р - работает, О -отгул и так далее и выводить в 2 строчки : число верхняя и статус - нижняя строка
на главной выводилось только таблица, с 4 фамилиями и 5 строк и даты на месяц текущий
GET
Vov4ik4ernov

Там у вас поле mouth видимо, как varchar стоит можно поставить как date. Тогда там будет дата этим полем оперировать намного удобнее. Тогда все можно будет сложить в одну таблицу + таблица с фамилиями.

Например:
CREATE TABLE IF NOT EXISTS `work_date` (
`id` mediumint(9) NOT NULL AUTO_INCREMENT,
`worker` tinyint(4) NOT NULL,
`date` date NOT NULL,
`status` enum('p','o') NOT NULL DEFAULT 'p',
PRIMARY KEY (`id`)
)
ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;


CREATE TABLE IF NOT EXISTS `workers` (
`id` mediumint(9) NOT NULL AUTO_INCREMENT,
`name` varchar(40) NOT NULL,
PRIMARY KEY (`id`)
)
ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;



_____________
Не тот велик, кто не падал, а тот кто падал и поднимался.
dron4ik
по моему таблица заведомо не правильная...

как по мне то фио, дата, статус

Я бы даже ФИО вынес в отдельную таблицу... ну пускай покамисть так...

Пишем,

/ Имя / день, месяц,год(DATE) / Статус


на выходу получаем массив

$row = array(
1 => array(
'name' => "Михалыч",
'date' => 1.01.2013,
'status' => 'Прогул'
)
2 => array(
'name' => "Михалыч",
'date' => 2.01.2013,
'status' => 'Прогул'
)
);


легко проверить в какие дни человек прогулял, или работал
легко проверить кто прогулял в определенный день, когда вообще прогуливали...
Ну ИМХО, если интересно могу разжевать...

_____________
Ex3m.com.ua — Активный образ жизни
Vov4ik4ernov
Цитата (dron4ik @ 6.02.2013 - 15:07)
по моему таблица заведомо не правильная...

как по мне то фио, дата, статус

Я бы даже ФИО вынес в отдельную таблицу... ну пускай покамисть так...

Пишем,

/ Имя / день, месяц,год(DATE) / Статус


на выходу получаем массив

$row = array(
1 => array(
'name' => "Михалыч",
'date' => 1.01.2013,
'status' => 'Прогул'
)
2 => array(
'name' => "Михалыч",
'date' => 2.01.2013,
'status' => 'Прогул'
)
);


легко проверить в какие дни человек прогулял, или работал
легко проверить кто прогулял в определенный день, когда вообще прогуливали...
Ну ИМХО, если интересно могу разжевать...

вопрос в том как вывести в одну таблицу весь этот массив
GET
Vov4ik4ernov

Я же сбросил дамп таблиц...

Что нужно вывести? Своими словами скажите...как Михалыч отработал в феврале?

Выбрать статус всех записей Михалыча в феврале.
Выбрать все записи где Михалыч бухал.
Выбрать все записи где в марте Михалыч и Петрович бухали вместе.
Кто-нибудь вообще работал в декабре?

Все что хочешь!? laugh.gif

_____________
Не тот велик, кто не падал, а тот кто падал и поднимался.
Vov4ik4ernov
Цитата (ABC @ 6.02.2013 - 15:13)
Vov4ik4ernov

Я же сбросил дамп таблиц...

Что нужно вывести? Своими словами скажите...как Михалыч отработал в феврале?

Выбрать статус всех записей Михалыча в феврале.
Выбрать все записи где Михалыч бухал.
Выбрать все записи где в марте Михалыч и Петрович бухали вместе.
Кто-нибудь вообще работал в декабре?

Все что хочешь!? laugh.gif

вывести как михалыч работал весь данный месяц

|_________|1|2|3|4|5|6|7|
|Михалыч__|P|P|P|P|O|O|P|




как то так
выводить дни в зависимости есть ли в таблице или нет
dron4ik
Vov4ik4ernov

foreach, while, for, do while на худой конец...

Брать аргументы, формировать запрос, и доставать...

ABC - верно говорит... задача не ясна, давай примеры

_____________
Ex3m.com.ua — Активный образ жизни
dron4ik
$result = mysql_query("SELECT * FROM chernov WHERE name='Михалыч'");
Добавить условие даты... Смотря как хранить
$row = mysql_fetch_array($result);



<table>
<tr>
<td>
Дни</td>

<?php
for($i=1;$i<30;$i++){?>
<td><?=
$i?></td>
<?php
}?>

</tr>
<tr>
<td>
Михалыч</td>
<?php
foreach(){?>
<td>
<?=
$row['status']?>
</td>
<?php
}?>

</tr>

</table>


_____________
Ex3m.com.ua — Активный образ жизни
Vov4ik4ernov
Цитата (dron4ik @ 6.02.2013 - 15:23)
$result = mysql_query("SELECT * FROM chernov WHERE name='Михалыч'");
Добавить условие даты... Смотря как хранить
$row = mysql_fetch_array($result);



<table>
<tr>
<td>
Дни</td>

<?php
for($i=1;$i<30;$i++){?>
<td><?=
$i?></td>
<?php
}?>

</tr>
<tr>
<td>
Михалыч</td>
<?php
foreach(){?>
<td>
<?=
$row['status']?>
</td>
<?php
}?>

</tr>

</table>

вот похоже на то что хочу, щас буду пробовать
Быстрый ответ:

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