Форум программистов, компьютерный форум, киберфорум
PHP: базы данных
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.78/9: Рейтинг темы: голосов - 9, средняя оценка - 4.78
0 / 0 / 0
Регистрация: 15.07.2015
Сообщений: 138

Как сделать выбор возраста от и до в таблице БД в ячейке которая указывает возраст?

19.07.2015, 19:12. Показов 1954. Ответов 13
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Уважаемые пользователи этого форума,подскажите пожалуйста как можно сделать выборку из таблицы БД по возрасту,что-бы при выборе например от 20 и до 40 мне выдавался результат этих людей которые подпадают под этот возраст и выводился только этот диапазон цифр который выбран?вот к примеру таблица http://dizarius.com/arta/word5.php в которой на ячейке age было-бы куда вписать возраст и после отправки запроса из таблицы получить по указанному возрасту пользователя который подпадает под этот возраст,если есть один или два пользователя с указанным возрастом чтобы выводились только те которые подпадают под указанный возраст, подскажите пожалуйста как мне решить этот вопрос?
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
19.07.2015, 19:12
Ответы с готовыми решениями:

Как сделать в ячейке выбор из диапазона, который определен в другом месте?
Привет, забыл как сделать в ячейке выбор из диапазона, который определен в другом месте. ПОдскажите. пожалуйста. Спасибо, Олег.

Вывести возраст человека в зависимости от введенного возраста
1-я Каким прилагательным можно охарактеризовать возраст человека? Субъективное представление отражает следующая таблица: Приложение...

Как сделать чтобы после перезаписи данных в ячейке, перезаписывалась галочка в другой ячейке?
Здравствуйте! Я хочу чтобы при изменении данных в ячейке "дата", снималась галка в ячейке "Выполнение"? Т.е. нужно чтобы при...

13
 Аватар для Algoritmer
159 / 98 / 25
Регистрация: 07.03.2013
Сообщений: 513
Записей в блоге: 1
19.07.2015, 20:25
Where age>=20 and age<=40
0
0 / 0 / 0
Регистрация: 15.07.2015
Сообщений: 138
19.07.2015, 20:35  [ТС]
Огромное Вам спасибо за ответ,с запросом мне стало всё ясно,подскажите пожалуйста после формы для ввода цифр на html прописал часть скрипта на php для принятия данных и обработки формы всё это выглядит вот так
PHP/HTML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<form action="docx.php" method="post" name="name">
<br />
<p>От<label><input name="age" type="text" size = "1" /></label></p>
</form>
 
<?php
$age =($_POST["age"]);
echo $age;
if ($var >= 18 && $var < 30) {
     // 
} elseif($var >= 30 && $var < 45) {
     //
} else {
    // 
}
 
?>
добавляю всё это в БД прописую запрос а действия нет не какого до этого проводилась сортировка в таблице после изменения скрипта и добавления двух ячеек от и до,сортировка не работает и запрос не выполняет выборку из таблицы по возрасту,по возможности подскажите как решить мне эту проблему?
0
 Аватар для Algoritmer
159 / 98 / 25
Регистрация: 07.03.2013
Сообщений: 513
Записей в блоге: 1
19.07.2015, 20:45
Выложите код добавления в БД. Может там ошибка...
0
 Аватар для fanatikus
1932 / 1523 / 703
Регистрация: 17.11.2012
Сообщений: 6,585
19.07.2015, 22:16
Цитата Сообщение от arta42 Посмотреть сообщение
$var
где объявлена эта переменная?

Добавлено через 2 минуты
Цитата Сообщение от arta42 Посмотреть сообщение
if ($var >= 18 && $var < 30) {
может
PHP
1
if($age >=18 && $age < 30
0
0 / 0 / 0
Регистрация: 15.07.2015
Сообщений: 138
20.07.2015, 10:02  [ТС]
Эта таблица сортирует данные и нужно чтобы выбирала пользователей лишь по выбранному возрасту,вот так создана у меня таблица
HTML5
1
2
3
4
5
6
<th width='50'><a href=\"word5.php?key=Fam&sort=$sort\">Fam</a></th>
<th width='50'><a href=\"word5.php?key=Name&sort=$sort\">Name</a></th>
<th width='50'><a href=\"word5.php?key=Otch&sort=$sort\">Otch</a></th>
<th width='50'><a href=\"word5.php?key=age&sort=$sort\">age</a></th>
<th width='50'><a href=\"word5.php?key=cvet&sort=$sort\">cvet</a></th>
</th></tr>
ячейку age я изменил вот так
HTML5
1
2
<th width='160'><a href=\"word5.php?key=age&sort=$sort \">age</a>От<label><input name= age type= text size=1/></label>
До<label><input name= age type= text size = 1 /></label></th>
под всей таблицей прописал обработку этой ячейки таким образом
PHP
1
2
3
4
5
6
7
8
9
$age =($_POST["age"]);
echo $age;
if ($age >= 18 && $age < 30) {
//
} elseif($age >= 30 && $age < 45) {
//
} else {
//
}
и создал запрос
PHP
1
$result = mysql_query("SELECT * FROM users WHERE `age` > 10 AND `age` < 100");
сортировка осталась сортирует нормально а отбор не происходит,поля для ввода есть,методом пост ведётся обработка данных а нужного результата отбора по выбранному возрасту не как не происходит,посмотрите на всё это,подскажите пожалуйста как это реализовать возможно я всё сделал не правильно?
0
471 / 399 / 169
Регистрация: 04.01.2013
Сообщений: 1,675
20.07.2015, 10:51
Промежутки в запросах mySql лучше формировать не через двойные условия а через BETWEEN -
SQL
1
SELECT * FROM users WHERE `age` BETWEEN 10 AND  100
Вы написали форму с методом ПОСТ и обработчиком docx.php, не вижу по какому событию передаются данные, где обработчик и почему если указан обработчик отдельным файлом, вы пишите еще одну обработку здесь же?
0
0 / 0 / 0
Регистрация: 15.07.2015
Сообщений: 138
20.07.2015, 11:02  [ТС]
В начале указанна форма acnion = docx.php для возврата на указанную страницу,чуть ниже описал я то что я взял часть этой формы для того чтобы создать в ячейке age таблицы БД поля для ввода возраста и описал как я всё это делал,вот ещё раз с Вашего позволения,
Эта таблица сортирует данные и нужно чтобы выбирала пользователей лишь по выбранному возрасту,вот так создана у меня таблица
HTML5
1
2
3
4
5
6
<th width='50'><a href=\"word5.php?key=Fam&sort=$sort\">Fam</a></th>
<th width='50'><a href=\"word5.php?key=Name&sort=$sort\">Name</a></th>
<th width='50'><a href=\"word5.php?key=Otch&sort=$sort\">Otch</a></th>
<th width='50'><a href=\"word5.php?key=age&sort=$sort\">age</a></th>
<th width='50'><a href=\"word5.php?key=cvet&sort=$sort\">cvet</a></th>
</th></tr>
ячейку age я изменил вот так
HTML5
1
2
<th width='160'><a href=\"word5.php?key=age&sort=$sort \">age</a>От<label><input name= age type= text size=1/></label>
До<label><input name= age type= text size = 1 /></label></th>
под всей таблицей прописал обработку этой ячейки таким образом
PHP
1
2
3
4
5
6
7
8
9
$age =($_POST["age"]);
echo $age;
if ($age >= 18 && $age < 30) {
//
} elseif($age >= 30 && $age < 45) {
//
} else {
//
}
и создал запрос
PHP
1
$result = mysql_query("SELECT * FROM users WHERE `age` > 10 AND `age` < 100");
сортировка осталась сортирует нормально а отбор не происходит,поля для ввода есть,методом пост ведётся обработка данных а нужного результата отбора по выбранному возрасту не как не происходит...
0
471 / 399 / 169
Регистрация: 04.01.2013
Сообщений: 1,675
20.07.2015, 11:11
Первое - обрамляйте код тегами (читать невозможно)
Второе - По нажатию на какую кнопку передаются данные о возрасте обработчику?
Третье - покажите полностью if/else, что у вас выполняется в этих блоках
0
0 / 0 / 0
Регистрация: 15.07.2015
Сообщений: 138
20.07.2015, 11:19  [ТС]
Просмотрите пожалуйста весь код этой таблицы,возможно я что-то не туда написал или не правильно сделал.
PHP
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
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
<?php 
$con = mysql_connect("localhost","......... ","........ ");
if (!$con)
   {
   die('Could not connect: ' . mysql_error());
   }
mysql_select_db("........", $con);
$sql = mysql_query("SET CHARACTER SET cp1251_koi8");
$result = mysql_query("SELECT * FROM users WHERE `age` > 10 AND `age` < 100");
mysql_query($order);
echo $myrow_comcont['title'];
echo $myrow_comcont['com'];
echo "<table border='1'>";
 
$key_array = array('Fam','Name','Otch','age','cvet');
$sort_array = array('asc','desc');
 
if (isset($_GET['key']))
{
    $key=$_GET['key'];
    $sort=$_GET['sort'];
}
else
{
    $key='Fam';
    $sort='desc';
}
 
if(in_array($key, $key_array) && in_array($sort, $sort_array))
{
    $query = "SELECT * FROM users ORDER BY $key $sort";     
    $result = mysql_query($query);
}
else exit("неверный формат запроса!"); 
 
if($sort=='asc')
{
   $sort='desc';
   $vid_sort=$sort_up;
}
else
{
   $sort='asc';
   $vid_sort=$sort_down;   
}
 
print "<table border = 1>";
print "<tr>
<th width='50'><a href=\"word5.php?key=Fam&sort=$sort\">Fam</a></th>
<th width='50'><a href=\"word5.php?key=Name&sort=$sort\">Name</a></th>
<th width='50'><a href=\"word5.php?key=Otch&sort=$sort\">Otch</a></th>
<th width='160'><a href=\"word5.php?key=age&sort=$sort \">age</a>От<label><input name= age type= text  size = 1 /></label>
До<label><input name= age type= text  size = 1 /></label></th>
<th width='50'><a href=\"word5.php?key=cvet&sort=$sort\">cvet</a></th>
</th></tr>";
// Отформатировать и вывести каждую строку таблицы
while ($row = mysql_fetch_array($result))
{
    print "<tr>";
    print '<td>'.$row['Fam'].'</td><td>'.$row['Name'].'</td><td>'.$row['Otch'].'</td><td>'.$row['age'].'</td><td>'.substr($row['cvet'],0,30).'</td></td>';
    $age =($_POST["age"]);
echo $age;
if ($age >= 18 && $age < 30) {
     // 
} elseif($age >= 30 && $age < 45) {
     //
} else {
    // 
}
    print "</tr>";
}
// Завершить таблицу
print "</table>";
0
471 / 399 / 169
Регистрация: 04.01.2013
Сообщений: 1,675
20.07.2015, 11:28
Вставляйте код в редакторе в соответствующие блоки. Сверху есть кнопочки HTML PHP SQL и тд. Повторюсь, во всех ячейках у вас сортировка идет путем передачи соответствующих значений методом GET в ссылках. Как вы передаете значения промежутков возраста я не вижу. У инпутов одинаковые имена, как вы их планируете различать? Логики не вижу
0
0 / 0 / 0
Регистрация: 15.07.2015
Сообщений: 138
20.07.2015, 11:37  [ТС]
Извиняюсь возможно слишком много задаю вопросов,инпут я назвал так из-за ячейки возраст ну это не проблема инпут можно изменить,то что Вы не видите как я передаю значения промежутков возраста,в этом и есть моя проблема что не знаю как это правильно сделать...
0
471 / 399 / 169
Регистрация: 04.01.2013
Сообщений: 1,675
20.07.2015, 11:57
Назовите инпуты разными именами к примеру age_first, age_second... Передавайте методом GET добавьте в условие формирующее запрос условие, что если переменная
PHP
1
$_GET['key'] == 'age'
то необходимо создать две переменные с начальным и конечным возрастом, присвоить им значения соответственно
PHP
1
$_GET['age_first'] и $_GET['age_second']
и ввести новую переменную к примеру
PHP
1
$between = ' WHERE age BETWEEN '.$age_first.' AND '.$age_second.' '
и добавьте эту переменную в свой запрос перед ORDER...пока как то так

И ссылку пропишите
HTML5
1
<a href=\"word5.php?key=age&age_first=$age_first&age_second=$age_second&sort=$sort \">
0
0 / 0 / 0
Регистрация: 15.07.2015
Сообщений: 138
20.07.2015, 12:24  [ТС]
Примерно так я сформировал Ваше предложение подскажите куда нужно вставить в моём скрипте эту часть кода.

PHP
1
2
3
4
5
6
7
8
9
$_GET['key'] == 'age'   
if (isset($_GET['key']))
{
    $key=$_GET['key'];
    $age_first = $_GET['age_first'];
    $age_second = $_GET['age_second'];
}
else
{
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
20.07.2015, 12:24
Помогаю со студенческими работами здесь

Подсчитать возраст выхода на пенсию с учётом изменения пенсионного возраста по годам
Помогите, пожалуйста, подсчитать возраст выхода на пенсию с учётом изменения пенсионного возраста по годам. Т Таблица с изменениями на...

Долгожитель (возраст не менее 100 лет) обнаружил однажды, что если к сумме квадратов цифр его возраста прибавить число дня его рождения, то как раз п
Часть 1.с.м фото Часть 2. Долгожитель (возраст не менее 100 лет) обнаружил однажды, что если к сумме квадратов цифр его возраста...

Написать программу ввода с клавиатуры возраста. На возраст выдать сообщение. Где здесь ошибка?
#include &lt;stdio.h&gt; #include &lt;locale.h&gt; int main() { int age; setlocale (0, &quot;&quot;); printf(&quot;Введите...

Дано целое число в диапазоне 20 - 29, определяющее возраст (в годах). Вывести строку - словесное описание возраста
Дано целое число в диапазоне 20 - 29, определяющее возраст (в годах). Вывести строку - словесное описание указанного возраста, обеспечив...

Если к сумме цифр возраста прибавить число рождения, то получится возраст. Сколько лет долгожитепю?
Долгожитель (возраст не более 100 лет) обнаружил однажды, что если к сумме цифр его возраста прибавить чисто его рождения, то как раз...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
14
Ответ Создать тему
Новые блоги и статьи
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США. Нашел на реддите интересную статью под названием «Кто-нибудь знает, где получить бесплатный компьютер или. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru