Forum Webscript.Ru

Программирование => PHP => Тема начата: racer от 23 Апреля 2006, 22:13:55

Название: помогите с массивом
Отправлено: racer от 23 Апреля 2006, 22:13:55
$a=mysql_query("SELECT datetime FROM table WHERE id=\'$id\' GROUP BY FROM_UNIXTIME(datetime,\'%d:%m:%Y\') ORDER BY datetime");
while ($rowg = mysql_fetch_array($agod)) {
$array = array(date("d:m:Y",$rowg["datetime"]));
вот тут $array работает..

}

а тут нет, как мне вынести его за пределы цикла?
Название: помогите с массивом
Отправлено: vasa_c от 24 Апреля 2006, 11:44:58
Я не знаю, что вы здесь хотите получить, но то что хотят обычно в таких случаях делается примерно так:

$array[] = array(date("d:m:Y",$rowg["datetime"]));
Название: помогите с массивом
Отправлено: racer от 24 Апреля 2006, 13:11:24
на самом деле конечно ужасно, это про то что хочу получить, но по другому не знаю

есть таблица календаря : кусок ее кодда где формируются дни
if ($i-$ac_1_dow+2!=$ac_j_dom) {echo "";} else echo "";
        if (($i<$ac_1_dow-1)||($i>$ac_nod+$ac_1_dow-2)) {echo " ";} else {

$deynum=$i-$ac_1_dow+2;
echo $deynum; // это дата дня

$deyvyhod = "$deynum:$ac_month:$ac_year"; // это дата целиком день месяц год


   if ($result = (array_search("$deyvyhod", $array)) !== FALSE) { //это поиск в массиве даты совпадающей с днем...
      echo "ссылка есть";
   }
}


        echo "\\n\\t";
        }

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

может быть я все через... делаю и есть какие-то более простые варианты?
Название: помогите с массивом
Отправлено: vasa_c от 24 Апреля 2006, 13:22:38
Массив должен оставться после цикла (если вы конечно его не уничтожаете в другом месте внутри цикла). Только он будет состоять из одного элемена, того, который был записан на последней иттерации.
Название: помогите с массивом
Отправлено: racer от 24 Апреля 2006, 13:24:37
Цитировать
делается примерно так



выводит последнюю запись массива
Название: помогите с массивом
Отправлено: racer от 24 Апреля 2006, 13:27:35
а как же мне сделать проверку на совпадение даты в массиве и даты календаря? может мой способ никудышный? но такой вот календарь нашел...

и дата у меня в базе в юниксовом формате откуда собственно и выражение GROUP BY FROM_UNIXTIME(datetime,\'%d:%m:%Y\'
но с датами все нормально все работает.. группирует их как надо..

что же делать-то с поиском даты и совпадением?
Название: помогите с массивом
Отправлено: racer от 24 Апреля 2006, 14:26:01
ну что, никто ничего дельного не предложит?
а то я в ступоре..
Название: помогите с массивом
Отправлено: CGVictor от 24 Апреля 2006, 17:43:02
racer
[moderatorial]
Поддерживаемый формат поста "помогите!" на форуме:

"Вот код {отформатированный и вычищенный от постороннего}, он должен принимать на входе {такое} и выдавать {вот это}.
Такое поведение позволяет реализовать решение {вот такой} задачи.
Вопреки ожиданиям, вот тут {код} и вот тут {код} он работает неправильно, что выражается в {вывод}.
Я предполагаю, что дело в {подумать}.
Помогите разобраться."

Разбираться в том, что за обрывки кода (винегрета из языков прогр-я) ты постишь - желания никакого.
Название: помогите с массивом
Отправлено: racer от 24 Апреля 2006, 19:11:15
а, ну то ж ничего.. ответ.. может и так, а в коде чего разбираться..
вопрос стоит в том, можно ли передать массив из цикла целиком, а не последнюю запись.. или же если в корне не правильно, посоветовать другой вариант.


// цикл
$data // с формированием даты календаря  если сюда вставить запрос к базе и перебор на совпадение даты, получается зацикливание. поэтому и вопрос, можно ли сюда кинуть только массив а не запрос к базе с выводом массива..

// если такое не возможно, то посоветовать другой вариант определения совпадения даты в базе с датой в календаре. и выводом ссылки на куда-то..
Название: помогите с массивом
Отправлено: for_i_0 от 24 Апреля 2006, 19:45:17
racer
отвчаю на выше заданный вопрос!

$arr = array();
for($i=0; $i<10; $i++){
$arr[] = $i;
}

echo "
"; print_r($arr); echo "
";


[OFF]Если конкретных вопросов нет закрою тему.[/OFF]
Название: помогите с массивом
Отправлено: racer от 25 Апреля 2006, 14:34:58
for_i_0
а вы сами пробовали так?

ну вот попробуйте.. фигня полная..  выдаст

Array
(
   
Название: помогите с массивом
Отправлено: CGVictor от 25 Апреля 2006, 14:35:42
racer
Тебе же сказали уже. В лице vasa_c.
Заполняй php-массив в цикле, потом его выводи. И никаких проблем.

Еще разок, повторим:
$array = "someshit"; //присваивает переменной значение $array
$array[] = "someshit"; //создает элемент в массиве $array

Тему уже закрыл.
Название: помогите с массивом
Отправлено: for_i_0 от 25 Апреля 2006, 14:41:54
CGVictor
Все на много хуже, в место того что бы прочесть протестровать и понять как заполняются массивы в цикле. Он прям берет и копирует мой код к себе и потом меня обвиняет в том что мой код выводит фигню!

забыл закрыть, а я не забуду