Автор Тема: помогите с массивом  (Прочитано 7845 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн racer

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 22
  • +0/-0
  • 0
    • Просмотр профиля
    • http://miniavto.ru/game.php
помогите с массивом
« : 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

  • Фанат форума
  • Постоялец
  • ***
  • Сообщений: 157
  • +0/-0
  • 0
    • Просмотр профиля
    • http://blgo.ru/blog/
помогите с массивом
« Ответ #1 : 24 Апреля 2006, 11:44:58 »
Я не знаю, что вы здесь хотите получить, но то что хотят обычно в таких случаях делается примерно так:

$array[] = array(date("d:m:Y",$rowg["datetime"]));
Блог ГО

Оффлайн racer

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 22
  • +0/-0
  • 0
    • Просмотр профиля
    • http://miniavto.ru/game.php
помогите с массивом
« Ответ #2 : 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

  • Фанат форума
  • Постоялец
  • ***
  • Сообщений: 157
  • +0/-0
  • 0
    • Просмотр профиля
    • http://blgo.ru/blog/
помогите с массивом
« Ответ #3 : 24 Апреля 2006, 13:22:38 »
Массив должен оставться после цикла (если вы конечно его не уничтожаете в другом месте внутри цикла). Только он будет состоять из одного элемена, того, который был записан на последней иттерации.
Блог ГО

Оффлайн racer

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 22
  • +0/-0
  • 0
    • Просмотр профиля
    • http://miniavto.ru/game.php
помогите с массивом
« Ответ #4 : 24 Апреля 2006, 13:24:37 »
Цитировать
делается примерно так



выводит последнюю запись массива

Оффлайн racer

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 22
  • +0/-0
  • 0
    • Просмотр профиля
    • http://miniavto.ru/game.php
помогите с массивом
« Ответ #5 : 24 Апреля 2006, 13:27:35 »
а как же мне сделать проверку на совпадение даты в массиве и даты календаря? может мой способ никудышный? но такой вот календарь нашел...

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

что же делать-то с поиском даты и совпадением?

Оффлайн racer

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 22
  • +0/-0
  • 0
    • Просмотр профиля
    • http://miniavto.ru/game.php
помогите с массивом
« Ответ #6 : 24 Апреля 2006, 14:26:01 »
ну что, никто ничего дельного не предложит?
а то я в ступоре..

Оффлайн CGVictor

  • теперь местный
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 2511
  • +0/-0
  • 2
    • Просмотр профиля
    • http://cg.net.ru
помогите с массивом
« Ответ #7 : 24 Апреля 2006, 17:43:02 »
racer
[moderatorial]
Поддерживаемый формат поста "помогите!" на форуме:

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

Разбираться в том, что за обрывки кода (винегрета из языков прогр-я) ты постишь - желания никакого.
LJ: Backslashed life (rss)

Оффлайн racer

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 22
  • +0/-0
  • 0
    • Просмотр профиля
    • http://miniavto.ru/game.php
помогите с массивом
« Ответ #8 : 24 Апреля 2006, 19:11:15 »
а, ну то ж ничего.. ответ.. может и так, а в коде чего разбираться..
вопрос стоит в том, можно ли передать массив из цикла целиком, а не последнюю запись.. или же если в корне не правильно, посоветовать другой вариант.


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

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

Оффлайн for_i_0

  • $15 per hour
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 555
  • +0/-0
  • 2
    • Просмотр профиля
    • http://www.php.net/manual/en
помогите с массивом
« Ответ #9 : 24 Апреля 2006, 19:45:17 »
racer
отвчаю на выше заданный вопрос!

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

echo 
"<PRE>"print_r($arr); echo "</PRE>";


[OFF]Если конкретных вопросов нет закрою тему.[/OFF]
[off]Безработный[/off]

Оффлайн racer

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 22
  • +0/-0
  • 0
    • Просмотр профиля
    • http://miniavto.ru/game.php
помогите с массивом
« Ответ #10 : 25 Апреля 2006, 14:34:58 »
for_i_0
а вы сами пробовали так?

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

Array
(
   
  • => 22:04:2006
  • [1] => 0
        [2] => 1
        [3] => 2
        [4] => 3
        [5] => 4
        [6] => 5
        [7] => 6
        [8] => 7
        [9] => 8
        [10] => 9
    )

    тоесть последнюю дату и кучу циффффффффр.. сколько захотите..

Оффлайн CGVictor

  • теперь местный
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 2511
  • +0/-0
  • 2
    • Просмотр профиля
    • http://cg.net.ru
помогите с массивом
« Ответ #11 : 25 Апреля 2006, 14:35:42 »
racer
Тебе же сказали уже. В лице vasa_c.
Заполняй php-массив в цикле, потом его выводи. И никаких проблем.

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

Тему уже закрыл.
LJ: Backslashed life (rss)

Оффлайн for_i_0

  • $15 per hour
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 555
  • +0/-0
  • 2
    • Просмотр профиля
    • http://www.php.net/manual/en
помогите с массивом
« Ответ #12 : 25 Апреля 2006, 14:41:54 »
CGVictor
Все на много хуже, в место того что бы прочесть протестровать и понять как заполняются массивы в цикле. Он прям берет и копирует мой код к себе и потом меня обвиняет в том что мой код выводит фигню!

забыл закрыть, а я не забуду
[off]Безработный[/off]

 

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28