Задавайте вопросы, мы ответим
Вы не зашли.
есть 3 таблицы:
number (id_number, number, id_itaj, id_mesta)
itaj (id_itaj, klass)
mesta (id_mesta, mesta)
цель: нужно чтобы запрос выдал соответствующие данные из поля number, по выбранным данным klass и mesta из соответствующих таблиц.
с помощью этого кода выбираем данные:
<?php
include "conf.php";
echo '<form action="sos.php" method=post>';
$w = 'select * from itaj';
$w = mysql_query($w) or die(mysql_error());
echo "Класс: ";
echo "<select class=input type=text name='pred'>";
while ($row = mysql_fetch_array($w)) {
$klass = $row['klass'];
$id_itaj = $row['id_itaj'];
echo "<option value='$id_itaj'>";
echo $klass;
}
echo "</select><br>";
$s = "select * from mesta";
$s = mysql_query($s) or die(mysql_error());
echo "Количество мест: ";
echo "<select class=input type=text name='zap'>";
while ($rows = mysql_fetch_array($s)) {
$mesta = $rows['mesta'];
$id_mesta = $rows['id_mesta'];
echo "<option value=$id_number>";
echo $mesta;
}
echo "</select><br>";
echo "<input type=submit value=просмотр></form>";
?>
это запрос:
<?php
include "conf.php";
$nn = $_POST["number"];
$querys = ('SELECT number.number
FROM number, mesta, itaj
WHERE number.id_mesta=mesta.id_mesta and number.id_itaj=itaj.id_itaj and
number.id_number="'.$nn.'"');
$querys = mysql_query($querys) or die(mysql_error());
echo "<table border=\"1\" width=\"70%\" bgcolor=\"lavenderblush\">";
echo "<tr><td><B>номер комнаты</B></td>";
while ($myrow = mysql_fetch_array($querys)){
var_dump($myrow);
$number=$myrow['number'];
echo "<tr>";
echo "<td>$number</td>";
echo "</tr>";
}
echo "</table>";
echo "$nn";
Не выдает номера из таблицы Number. что не так? Заранее спасибо:*
Неактивен
Давайте временно отделим php от sql.
Что значит "Не выдаёт номер из таблицы number"? Возвращается пустая выборка или ошибка выполнения запроса?
инструкции
$querys = ('SELECT number.number
FROM number, mesta, itaj
WHERE number.id_mesta=mesta.id_mesta and number.id_itaj=itaj.id_itaj and
number.id_number="'.$nn.'"');
$querys = mysql_query($querys) or die(mysql_error());
замените вот так:
$query ='SELECT number.number
FROM number, mesta, itaj
WHERE number.id_mesta=mesta.id_mesta and number.id_itaj=itaj.id_itaj and
number.id_number="'.$nn.'"';
print $query;
$querys = mysql_query($query) or die(mysql_error());
И будет хорошо, если приложите дамп таблиц.
Неактивен
да, пустая выборка. Если использовать ваш вариант, то выдает: SELECT number.number FROM number, mesta, itaj WHERE number.id_mesta=mesta.id_mesta and number.id_itaj=itaj.id_itaj and number.id_number="" и опять же пустую таблицу..
Не знаю что такое дамп таблиц. приложила бы экспортированные таблицы но тут файлы не отправить
Неактивен
Воот, мы приближаемся к истине.
Отредактированно deadka (27.02.2012 12:08:30)
Неактивен