как передать значение одного sql запроса другому?

Space

Новичок
как передать значение одного sql запроса другому?

PHP:
<?php
	require("../rabotod/dbopen.php");
$sql = "SELECT `list`, `msgdate`, `birthmonth`, `birthyear`, `birthday`, DATE_FORMAT(`msgdate`,\"%m\") As `month`, DATE_FORMAT(`msgdate`,\"%d\") As `mday`, DATE_FORMAT(`msgdate`,\"%Y\") As `year`, `razdel`, `sity`, `education`, `sex`, `money` FROM `messages` WHERE `razdel`='$razdel' AND `list`='1' AND `sity`='$sity' AND (`education`='$education' OR `education`='\"не имеет значения\"') AND (`sex`='$sex' OR `sex`='\"не имеет значения\"')";
$res = mysql_query($sql);
while(list($list, $msgdate, $birthmonth, $birthyear, $birthday, $month, $mday, $year) = mysql_fetch_row($res)) {

        $a = intval(((($month-1)*30 + $mday + $year*365) - (($birthmonth-1)*30 + $birthday + $birthyear*365))/358);
}

$b = $a;

$query = "SELECT `list`, `user`, `email`, `msgdate`, `birthmonth`, `birthyear`, `birthday`, DATE_FORMAT(`msgdate`,\"%m\") As `month`, DATE_FORMAT(`msgdate`,\"%d\") As `mday`, DATE_FORMAT(`msgdate`,\"%Y\") As `year`, `razdel`, `sity`, `education`, `sex`, `money` FROM `messages` WHERE `razdel`='$razdel' AND `list`='1' AND `sity`='$sity' AND (`education`='$education' OR `education`='\"не имеет значения\"') AND (`sex`='$sex' OR `sex`='\"не имеет значения\"') AND ('$age'<='$b'<='$age0')";
$result = mysql_query($query);
while(list($list, $user, $email, $msgdate, $birthmonth, $birthyear, $birthday, $month, $mday, $year) = mysql_fetch_row($result)) {
	print $email;

$AdminMessage = "
Вакансия: $vakancy				<br>
Дата размещения: $msgdate			<br>
Возраст: $age - $age0				<br>
Пол: $sex					<br>
Зарплата от (USD): $money			<br>
Название фирмы: $company			<br>
Требуемые профессиональные навыки: $content	<br>
						<br>
Подробнее здесь:				<br>
";

$headers="Content-Type: text/html; charset=windows-1251\n";
mail($email, "Search", $AdminMessage, $headers);
}
MYSQL_CLOSE();
?>
фишка в чем,

переменная $a считается, и все выводиться.... но когда я ее подставляю во второй запрос(в виде $b), то ничего не работает
 

pism

Guest
какое значение имеет $a перед вторым запросом?
 

pism

Guest
Млин - ты думаешь сразу можно сообразить что ты подразумеваешь под $a - возраст в годах ? И что ты хочешь получить во втором запросе ? Напиши вообще что делает этот скрипт.
 

Space

Новичок
это часть скрипта подписки на вакансии.
На счет возраста, конечный результат в годах.
Как производиться расчет.
у чела в резюме возраст (DD/MM/YY)
Последняя дата(сегодняшняя) расчитывается от даты поступления последней вакансии.

на счет второго запроса:

если в вакансии указан возраст 20 -50, а в резюме 35, то резюме подходит... в коде это выглядит
AND ('$age'<='$b'<='$age0')
 

Space

Новичок
все, сделал. у меня в БД была ошибка, вот и не отправлялось...
все равно большое спасибо.
 

pism

Guest
Если ты хочешь в результатье второго запроса получить записи, удовлеворяющие условию по возрасту, то в соотвествующем выражении WHERE
у тебя должно быть условие для полей, а не для преременных
скрипта пхп.
Сделай echo для Query N2 и все станет понятно.
ИЛИ приведи его здесь.
 

Space

Новичок
но этот код считает только последнюю запись, а как сделать цикл, допустим если подходящих резюме много...
 

pism

Guest
Вообще мне кажется что вообще неправильно хранить значения birthmonth`, `birthyear`, `birthday' в разных полях таблицы БД - сделай одно поле типа date для даты рождения пользователя.
Тогда обработкой временных дат будет заниматься твой SQL сервер а не скрипт на ПХП. Благо функций для работы с датами у него полно.
 

Space

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

vidmich

Guest
а переместить }
стоящую после $a = intval ...
за } перед MYSQL_CLOSE();

чтобы второй цикл был в теле первого

и кстати я не увидел где ты проходишь в первом цикле только по резюме
а во втором только по вакансиям !!!
 
Сверху