[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: SQL запросы
Иван_Алексеев
Доброго времени суток
Подскажите как можно вывести из бд всех людей, год которых 1990 допустим
Вот мой запрос, я ввожу через поля дату, так вот в чем именно вопрос, как сделать так чтоб я ввел только год, без месяца, без дня, а только год и мне он все вывел

$ot1=mysql_query("SELECT * , count(id) FROM Sport WHERE DateRg='{$_POST['dateo1']}' and Sport='{$_POST['sporto1']}'");


Заранее спасибо



Спустя 5 минут, 53 секунды (29.11.2010 - 16:11) vinnie написал(а):
Каждый человек заносит свою дату рождения, например
потом запрос

$sql = mysql_query ("SELECT * FROM `users` WHERE `birthday` = '".$birthday."'");


а потом выводишь в цикле

Спустя 1 час, 2 минуты, 30 секунд (29.11.2010 - 17:13) vinnie написал(а):
смотри, вот реализация)
создаешь таблицу с нужными тебе полями, еще создаешь поле birthday, например, типа int, туда юзеры заносят даты своих рождений
потом ищешь так

<?php
if (isset ($_POST['ok']))
{
$birthday = !empty ($_POST['birthday']) ? (int)$_POST['birthday'] : NULL;
mysql_connect ("localhost", "root");
mysql_select_db ("test");
$sql = mysql_query ("SELECT * FROM `users`
WHERE `birthday` = '"
.$birthday."'");
if (!mysql_num_rows ($sql))
echo "Не найдено";

else
{
while ($row = mysql_fetch_assoc ($sql))
echo $row["name"]."<br />";
}
}


?>



<form action="" method="post">
<p><label>
Введите дату</label><br />
<select
name="birthday" size="1">
<?php

for ($i=1900; $i<=2010; $i++)
{
echo "<option value=\"$i\">".$i."</option>\r\n";
}
?>
</select>
</p>

<p><input
type="submit" value="Отправить" name="ok" />
</p>
</form>


Спустя 6 минут (29.11.2010 - 17:19) Иван_Алексеев написал(а):
Ух попробую, я думал может команда какая есть(
Спасибо

Спустя 5 минут, 47 секунд (29.11.2010 - 17:25) vinnie написал(а):
карму за старания мне)))

Спустя 16 часов, 59 минут, 29 секунд (30.11.2010 - 10:24) linker написал(а):
Команда есть, но она зависит от того, какого типа у тебя поле birthday в таблице. Если допустить, что данное поле у тебя имеет нормальное человеческое DATE а не извращения типа INT или еще хуже VARCHAR, то вытянуть таковых можно таким запросом
SELECT * FROM `table` WHERE YEAR(`birthday_date`) = 2010

Спустя 48 минут, 54 секунды (30.11.2010 - 11:13) Guest написал(а):
linker

Напишите пожалуйста как вытягивать остальные, т.е. месяцы и дни

Спустя 4 минуты, 8 секунд (30.11.2010 - 11:17) vinnie написал(а):

SELECT * FROM `table` WHERE DAY(`birthday_date`) = 10




SELECT * FROM `table` WHERE MONTH(`birthday_date`) = 10


Спустя 2 минуты, 28 секунд (30.11.2010 - 11:20) Guest написал(а):
Спасибо

Спустя 1 час, 5 минут, 17 секунд (30.11.2010 - 12:25) linker написал(а):
Да нахрена, я же написал SELECT * FROM ... оно вытянет все как положено. Если хочешь вытягивать отдельно день, месяц, год то
SELECT DAY(`birthday_date`) AS `birthday_day`, MONTH(`birthday_date`) AS `birthday_month`, YEAR(`birthday_date`) AS `birthday_year` FROM `table` WHERE YEAR(`birthday_date`) = 2010

Спустя 5 часов, 28 минут, 52 секунды (30.11.2010 - 17:54) Иван_Алексеев написал(а):
Во, спасибо!
Это я и хотел)

Спустя 12 минут, 41 секунда (30.11.2010 - 18:07) Иван_Алексеев написал(а):
А не поможете, хотя бы примерно, с двумя запросами?
• вывести все виды и спорта и посчитать в них количество медалей по всем возрастным категориям;
• найти и вывести вид спорта, в котором максимальное количество медалей в определенном году.
Если структура БД такая


mysql_query("CREATE TABLE Sport (id INT NOT NULL AUTO_INCREMENT, PRIMARY KEY(id),
Fio VARCHAR(30),Sport VARCHAR(30),Razryd VARCHAR(15),DateRg DATE,
Medal VARCHAR(15),DateMedal DATE)"
, $ms);
Быстрый ответ:

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