$date_q = $author_ind['date'];
$date=explode("-", date($date_q));
switch ($date[1]){
case 1: $m='января'; break;
case 2: $m='февраля'; break;
case 3: $m='марта'; break;
case 4: $m='апреля'; break;
case 5: $m='мая'; break;
case 6: $m='июня'; break;
case 7: $m='июля'; break;
case 8: $m='августа'; break;
case 9: $m='сентября'; break;
case 10: $m='октября'; break;
case 11: $m='ноября'; break;
case 12: $m='декабря'; break;
}
/////////месяй на руссом языке в $sg
$date_add = $date[2].' '.$m.' '.$date[0];
вот вывод готовой переменной
'.$date_add.'
А вот запрос к БД
$query_author = mysql_query("SELECT date
") or die ("Ошибка -". mysql_error());
while($author_ind=mysql_fetch_assoc($query_author))
{
Прошу помощи в плане подсказок. Хотя б с чего начать? Сам хочу научится. Не прошу за меня расписывать функцию... Прошу указать направление. Спасибо.
Спустя 27 минут, 10 секунд (29.03.2011 - 15:51) inpost написал(а):
php.net и читай про функции =) В чём проблема? А ещё лучше скачай учебник Котерова, там всё классно про функции расписано.
Спустя 1 минута, 24 секунды (29.03.2011 - 15:52) Trianon написал(а):
m4a1fox
если бы Вы от switch перешли бы к массиву, пользы было бы больше.
если бы Вы от switch перешли бы к массиву, пользы было бы больше.
Спустя 19 минут, 16 секунд (29.03.2011 - 16:11) Invis1ble написал(а):
Точно, а то такая простыня )
Спустя 50 минут, 28 секунд (29.03.2011 - 17:02) Guest написал(а):
Trianon
Это понятно. Но приходится изучать php по мере возникновения вопросов.
Это понятно. Но приходится изучать php по мере возникновения вопросов.
Спустя 43 минуты, 54 секунды (29.03.2011 - 17:46) Invis1ble написал(а):
Все очень просто: сначала идет ключевое слово function, затем имя функции, далее в скобках перечисляются аргументы, которые будет принимать твоя функция:
В тело функции помещаешь свой код, вкотором используешь переданные аргументы:
return возвращает результат выполнения функции в "основной" код. Также стоит заметить, что в теле функции существует своя область видимости, поэтому в ней видны только глобальные переменные, а в "основном" коде, в свою очередь, не будут видны переменные, используемые в функции (т.е. они локальные).
Вот и все. Тоже самое можно было прочесть в книжках или мануале.
function func($arg)
{
}
В тело функции помещаешь свой код, вкотором используешь переданные аргументы:
function getHello($username)
{
return 'Привет, ' . $username . '!';
}
echo getHello('Вася');
return возвращает результат выполнения функции в "основной" код. Также стоит заметить, что в теле функции существует своя область видимости, поэтому в ней видны только глобальные переменные, а в "основном" коде, в свою очередь, не будут видны переменные, используемые в функции (т.е. они локальные).
Вот и все. Тоже самое можно было прочесть в книжках или мануале.
Спустя 38 минут, 4 секунды (29.03.2011 - 18:24) m4a1fox написал(а):
Invis1ble
Спасибо конечно. Но это я прочитал. Уже прочитал всю главу Котерова про функции, эксперементировал... но так ничего и не получилось
Суть проблемы в том, что не могу понять как связать ее с БД.
Спасибо конечно. Но это я прочитал. Уже прочитал всю главу Котерова про функции, эксперементировал... но так ничего и не получилось
![sad.gif](http://phpforum.ru/html/emoticons/sad.gif)
Спустя 12 минут, 8 секунд (29.03.2011 - 18:36) minok94 написал(а):
Если хочешь нормально разобраться, то учись на http://irbis-team.com/15 Там есть описание запросов к БД внутри функций и еще много чего...
Спустя 11 минут, 57 секунд (29.03.2011 - 18:48) m4a1fox написал(а):
Вот допустим такой код
это вывод в циклу. Понятно. Далее такая функция
И далее так
В общем суть такова. Что в книжке он перебирает массив. Вот на нем я слегка и заступарился. Не могу понять как мне из БД в цикле вытащить массив данных. Дабы можно было его применить после. Массив в книге выглядит так
Я как бы суть понимаю... Но все равно не могу докумекать.
P.S. Прошу прощения за синтаксис в коде. Так как пишу по памяти.
$result = mysql_qeury("SELECT * FROM table1");
while (mysql_fetch_assocc($result))
{
echo 'Имя' .$query['name'];
}
это вывод в циклу. Понятно. Далее такая функция
function resultItems()
{
$text = "";
for($name as $v=>$k)
{
if($ch === selected)
$text .= <option $ch name='$k'>$v</option>; else $ch = '';
}
return $text;
}
И далее так
<select name='you'>
<option name='$k'><?php echo resultItems($names)?></option>
</select>
В общем суть такова. Что в книжке он перебирает массив. Вот на нем я слегка и заступарился. Не могу понять как мне из БД в цикле вытащить массив данных. Дабы можно было его применить после. Массив в книге выглядит так
$names = array ("1" => "a", "2" => "b", "3" => "c");
Я как бы суть понимаю... Но все равно не могу докумекать.
P.S. Прошу прощения за синтаксис в коде. Так как пишу по памяти.
Спустя 8 минут, 31 секунда (29.03.2011 - 18:56) pak написал(а):
$date_q = $author_ind['date'];
function forDate($d) {
$date = explode("-", $d);
$month = array(
'01' => 'января',
'02' => 'февраля',
'03' => 'марта',
'04' => 'апреля',
'05' => 'мая',
'06' => 'июня',
'07' => 'июля',
'08' => 'августа',
'09' => 'сентября',
'10' => 'октября',
'11' => 'ноября',
'12' => 'декабря'
);
foreach($month as $k => $v) {
if($k == $date[1]) return $date_add = $date[2].' '.$v.' '.$date[0];
}
}
echo forDate($date_q);
Спустя 7 минут, 12 секунд (29.03.2011 - 19:03) Invis1ble написал(а):
Цитата |
Не могу понять как мне из БД в цикле вытащить массив данных. |
точно также, как ты это делаешь вне функции. Массив с полученными из БД данными возвращаешь с помощью return
Спустя 4 минуты, 37 секунд (29.03.2011 - 19:08) m4a1fox написал(а):
pak
Спасибо. Работает. Сижу сейчас и разбираюсь :). Но можете объяснить человеческим языком вот эти 2 строчки
Или поправьте меня, если бред говорю. Насколько я понимаю, это означает, что $k = число месяца (от 1 до 12), а $v = его значение (от января до декабря). То есть в $k - только числа, а в $v - только строки. Тоесть по суть это разбивает массив $month. Так?
Спасибо. Работает. Сижу сейчас и разбираюсь :). Но можете объяснить человеческим языком вот эти 2 строчки
foreach($month as $k => $v)
{
if($k == $date[1])
return $date_add = $date[2].' '.$v.' '.$date[0];
}
Или поправьте меня, если бред говорю. Насколько я понимаю, это означает, что $k = число месяца (от 1 до 12), а $v = его значение (от января до декабря). То есть в $k - только числа, а в $v - только строки. Тоесть по суть это разбивает массив $month. Так?
Спустя 2 часа, 30 минут, 39 секунд (29.03.2011 - 21:39) KonstantinK написал(а):
Правильнее сказать перебирает значения массива $month
Спустя 11 минут, 2 секунды (29.03.2011 - 21:50) PiratXXX написал(а):
m4a1fox
помню помню тож в новинку было.
получаеться такая фишка в foreach подаеться массив $month, и foreach проходит по массив(типа как while), и при каждом проходе он получает следующее '01' => 'января'(ну т.д.) и когда он это получает он его разбирает на '01' и 'января' т.е. на ключ и значение (что в твоем случае задаеться так: as $k => $v)
следовательно $k будет 01 а переменная $v будет января.
ну вот и все! а дальше просто использоюшь эти переменные внутри foreach.
foreach($month as $k => $v)
помню помню тож в новинку было.
получаеться такая фишка в foreach подаеться массив $month, и foreach проходит по массив(типа как while), и при каждом проходе он получает следующее '01' => 'января'(ну т.д.) и когда он это получает он его разбирает на '01' и 'января' т.е. на ключ и значение (что в твоем случае задаеться так: as $k => $v)
следовательно $k будет 01 а переменная $v будет января.
ну вот и все! а дальше просто использоюшь эти переменные внутри foreach.
Спустя 1 минута, 34 секунды (29.03.2011 - 21:51) Invis1ble написал(а):
m4a1fox
Итого: изучай массивы, потом уже за функции берись
Итого: изучай массивы, потом уже за функции берись
![smile.gif](http://phpforum.ru/html/emoticons/smile.gif)
Спустя 6 минут, 55 секунд (29.03.2011 - 21:58) PiratXXX написал(а):
Invis1ble
да ладно я помню, по началу использовал то что не понимал, а потом приходило время и понимал.)
да ладно я помню, по началу использовал то что не понимал, а потом приходило время и понимал.)
Спустя 5 минут, 41 секунда (29.03.2011 - 22:04) Trianon написал(а):
pak
Цитата |
foreach($month as $k => $v) { if($k == $date[1]) return $date_add = $date[2].' '.$v.' '.$date[0]; |
Это что за ужас?
Зачем здесь цикл вообще?
return $date_add = "$date[2] {$month[$date[1]]} $date[0]";
Спустя 1 час, 3 минуты, 31 секунда (29.03.2011 - 23:07) m4a1fox написал(а):
Trianon
Да не вопрос. Только если не сложно - объясните пожалуйста.
Да не вопрос. Только если не сложно - объясните пожалуйста.
Спустя 25 минут, 40 секунд (29.03.2011 - 23:33) inpost написал(а):
m4a1fox
Упрощенный вид:
Или ещё проще:
function helloWorldCreate ($var)
{
$var = "Hello World, dear ".$var;
return $var;
}
$name = 'm4a1fox';
$name = helloWorldCreate($name);
echo $name;
Упрощенный вид:
function helloWorldCreate (&$var)
{
$var = "Hello World, dear ".$var;
}
$name = 'm4a1fox';
helloWorldCreate($name);
echo $name;
Или ещё проще:
function helloWorldCreate ($var)
{
return "Hello World, dear ".$var;
}
$name = 'm4a1fox';
echo helloWorldCreate($name);
Спустя 5 минут, 2 секунды (29.03.2011 - 23:38) Trianon написал(а):
m4a1fox
Смотрим var_dump($date);
и var_dump($month[$date[1]]);
Если что-то осталось неясным - задаем вопросы.
Смотрим var_dump($date);
и var_dump($month[$date[1]]);
Если что-то осталось неясным - задаем вопросы.