[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Снова про вывод списка именинников
uaxli
Всем привет! Я прочитала похожие пару тем, но у меня не получается sad.gif
Если у кого есть время и желание помочь - буду очень признательна!

Итак, у меня 2 таблицы:

1) forum_users

поля: id (айдишник) и name (собственно, имя)

2) users_info

поля: user_id (тот же айдишник) и birthday (формат YYYY-MM-DD)

--
вывожу с помощью echo, например код для показа последнего зарегившегося работает
PHP
$zapr mysql_query('SELECT id, name FROM forum_users ORDER BY reg_date DESC LIMIT 1');
$last_user=mysql_fetch_array($zapr);

echo 
'Последний юзер: [<a href="anketa.php?'.session_name().'='.session_id().'&user='.$last_user['id'].'">'.$last_user['name'].'</a>]<br/>';


---
а вот попробовала написать код для вывода именинников

PHP
$bdzaprmysql_query('SELECT user_id FROM `users_info` WHERE `birthday`=CURDATE()');
if (
mysql_affected_rows()!=0){
    while (
$bdusers=mysql_fetch_array($bdzapr)){
 
 $user=$userModel->getUserInfo($bdusers['user_id']);
 
 $out.='<a href="anketa.php?'.session_name().'='.session_id().'&user='.$user['id'].'">'.$user['name'].'</a>, ';
    }
    echo 
'Сегодня день рождение у: ['.$out.']<br/>';
}



Честно скажу, кусочек кода сперла, пыталась под себя изменить. Но (при наличии именинников сегодня) выводится так:

Сегодня день рождение у: []

внутри скобок пусто sad.gif
понимаю, ошибки тут, может кто-нибудь меня пожааалуйста поправить?





Спустя 2 часа, 14 минут, 46 секунд (16.01.2009 - 19:00) dfsq написал(а):
Вы же user_name не выбираете в запросе даже.
попробуйте

SELECT t1.user_id, t2.user_name FROM users_info as t1, forum_users as t2 WHERE t1.birthday=CURDATE() AND t1.user_id=t2.id

что-то типа такого

Спустя 1 день, 1 час, 30 минут, 40 секунд (17.01.2009 - 20:30) sla990 написал(а):
Именинники

PHP
$users mysql_query("SELECT `user_id` FROM `users_info` WHERE `birthday` = CURRENT_DATE");
if (
$users) {
    while (
$current mysql_fetch_array($users)) {
        
// Получаем имя пользователя по ID
        
$user_name mysql_result(mysql_query("SELECT `name` FROM `forum_users` WHERE `id` = '".$current['id']."' LIMIT 1"), 0);
        
// Выводим
        
echo "Сегодня день рождения у: ".$user_name."<br>";
    }
}
else {
    echo 
"Ошибка запроса";
}

Спустя 1 день, 13 часов, 12 минут, 21 секунда (19.01.2009 - 09:43) uaxli написал(а):
спасисо спасибо всем! wub.gif

только видимо CURRENT_DATE не очень правильно, как отредактировать, чтоб смотрелось только месяц и число?

upd: сделала запрос так

WHERE DAYOFMONTH(birthday) = '.date('d').' AND MONTH(birthday) = '.date('n').'

полусилось smile.gif

а я пиникерша оказалась, всем опять спасибо!
Быстрый ответ:

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