Вывод данных в ячейку таблицы, где пересекаются столбец и строка

  • Автор темы Автор темы kaant
  • Дата начала Дата начала
kaant, ну почитай ты про массивы вообще и многомерные в частности мане. оператор [] ты вообще видел в жизни????
 
нет. тебе надо $date и $time сделать КЛЮЧАМИ многомерного массива. и обращаться через массив $massiv
 
а, вон как! ну теперь понял.

-~{}~ 15.04.08 20:17:

PHP:
$massiv = array();
$massiv[$date][$time] = $value;

теперь нужно использовать цикл для множественного вывода данных, да? какой лучше использовать?
 
kaant, почти так. но $massiv[$date] у тебя не массив ведь в начале? то есть надо
1. проверить существует ли $massiv[$date], если нет - создать
2. присвоить значение $massiv[$date][$time]

ты в цикле будешь получать построчно данные из базы, там у тебя все $date, $time, $value будут присутствовать. ну и соответственно заполнять ими $massiv
 
вот так?
PHP:
if(!isset($massiv[$data]))
   {
    $massiv = array();
	$massiv[$data][$vremya] = "занято!";
   }
 
молодец, прогресс на лицо. :)
только добавлять значение тебе надо всегда, а не только тогда, когда массив не определен
 
ага, т.е. добавить еще
PHP:
else {$massiv[$data][$vremya] = "занято!";}

-~{}~ 15.04.08 22:03:

ок, а какой цикл использовать? while или foreach?
 
цикл тот, который удобней. почитай внимательно чем отличаются и в чем особенности. кстати, у тебя их то не один должен быть - первый из базы получает значения и строит $massiv, а второй (скорее всего пара вложенных) выводит html таблицы.

а про else скажи, зачем у тебя и в if и в else блоках одинаковая строчка?
 
Автор оригинала: dimagolov а про else скажи, зачем у тебя и в if и в else блоках одинаковая строчка?
видать не правильно понял фразу "только добавлять значение тебе надо всегда, а не только тогда, когда массив не определен" )

-~{}~ 15.04.08 22:38:

а условия в циклах какие задавать?
 
совет автору. пишите сначала алгоритмя ручкой на бумаге СЛОВАМИ. ну или блоксхемой. тока не надо сразу писать код. И вот когда на бумаге словами будет четко работающий алгоритм - тогда начинайте кодить.
 
Alkinoy, при чем здесь это? человек вообще слабо понимает что такое алгоритм и что такое управляющие структуры да и в принципе, как видно из момента с if(!isset($massiv[$data])) с тем, как исполняется скрипт. поэтому объяснить ему как работает один оператор можно (что он и демонстрировал создавая массив одним оператором), в вот когда их больше одного и надо их соеденять уже проблемы получаются.
так что рисовать на бумаге можно до посинения, от этого "четко работающий алгоритм" не появиться, так ка что такое алгоритм понимания нету :(
 
Alkinoy, для этого надо как минимум прочитать определение что такое алгоритм и понять его. потом читать какие бывают управляющие структуры и для чего они нужны. просто прочитать и понять пару-тройку экранов текста. википедия, кстати, рулит.

ах да... надо было математику в школе учить и там где теоремы доказывались понять основы логики.
 
имхо - начинается непонятный треп про отсутствие знаний у человека. некоррекнто...
 
я понимаю, что такое алгоритм, что и как должно работать, но когда дело доходит до написания кода, то как-то непонятно, что с чем сравнивать и куда какие циклы ставить...

по сути, алгоритм моей задачки таков: если данные из БД совпадают с данными шапки таблицы, то на пересечинии соответствующей строки и столбца выводится слово, в противном случае выводится пустая ячейка.

-~{}~ 16.04.08 19:10:

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

цикл повторяет одно и тоже действие определенное колво раз. в зависимости от условия, данные после прохода одного цикла, могут меняться.
 
kaant, твое объяснение по сути, алгоритм моей задачки таков: это не алгоритм, а ожидаемый результат. а алгоритм - это те действия, которые должен сделать скрипт для его достижения. вот пока ты хоть словами не объяснишь себе (ну и нам для проверки) какие действия для этого нужны, у тебя ничего и не выйдет.

hint: попробуй сверстать интересующую тебя html-таблицу вручную и попробуй подумать над тем, как и когда ты вставлял значения в ее ячейки. то есть так ты сам изобразишь из себя скрипт, и будешь действовать по алгоритму какому-то, а тебе надо будет повторить этот же алгоритм для скрипта.

Про массив. Смотри, ТУТ нет ни слова про область данных. Там говориться, что массив это упорядоченное отображение, которое устанавливает соответствие между значением и ключем.. Если тебе хоть одно из этих 9 слов непонятно, иди в википедию и читай, пока не будет понятно.
 
ок, попробую описать:
1. для начала строю шапку таблицы (по горизонтали - время, по вертикали - дата).
2. делаю цикл, который будет выполняться, пока в базе есть n-е колво записей.
3. в теле цикла делаю проверку, соответствует ли дата и время из таблы в БД, значениям шапки выводимой таблицы.
3. если значения соответствуют, то на пересечинии столбца и строки вывожу слово, если нет, то оставляю пустую клетку.
 
Сверху