Форум программистов, компьютерный форум, киберфорум
Наши страницы
PHP
Войти
Регистрация
Восстановить пароль
 
qqq_ee
0 / 0 / 0
Регистрация: 15.07.2017
Сообщений: 4
1

Выдает ошибку Notice: Undefined index: Hall_Theatre_idTheatre in C:\xampp\htdocs\CourseWork\FindSeance.php on line 7

26.04.2018, 20:47. Просмотров 276. Ответов 6
Метки нет (Все метки)

прошу помощи. Создаю выпадающее меню с помощью MySQL, PHP и JavaScript. Пользователь должен выбрать город, театр, дату и время показа спектакля. Город и театры выбираются нормально, но невозможно выбрать дату и время начала. Для поиска даты использую запрос inner join. Ниже структура бд
SQL
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
CREATE TABLE `city` (
  `City_id` INT(11) NOT NULL DEFAULT '0',
  `Name` VARCHAR(15) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
 
CREATE TABLE `hall` (
  `idHall` INT(11) NOT NULL,
  `Name_hall` VARCHAR(100) NOT NULL,
  `Theatre_idTheatre` INT(11) NOT NULL,
  `Schema_idSchema` INT(11) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
 
CREATE TABLE `performance` (
  `idPerformance` INT(11) NOT NULL,
  `Name_perform` VARCHAR(100) DEFAULT NULL,
  `Duration` TIME DEFAULT NULL,
  `Country_idCountry` INT(11) DEFAULT NULL,
  `Genre_idGenre` INT(11) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
 
CREATE TABLE `schema` (
  `idSchema` INT(11) NOT NULL,
  `Number_of_seats` INT(11) NOT NULL,
  `Number_of_rows` INT(11) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
 
CREATE TABLE `seat` (
  `idSeat` INT(11) NOT NULL DEFAULT '0',
  `idRow` INT(11) NOT NULL DEFAULT '0',
  `Hall_idHall` INT(11) NOT NULL DEFAULT '0',
  `Hall_Theatre_idTheatre` INT(11) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
Добавлено через 1 минуту
FindTheatre.php

PHPHTML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<?php
$con = new mysqli('localhost', 'root', '',"course_db");
if ($con->connect_errno) {
    die('Нет соединения: ' . $con->connect_error);
}
mysqli_set_charset($con,"utf-8");
$city=intval($_GET['city']);
 
$query="SELECT idTheatre,Name_t FROM theatre WHERE City_City_id='$city'";
$result=$con->query($query);
 
?>
<select name="theatre" onchange="getSeance(<?php echo $city?>,this.value)">
    <option>Выберите театр</option>
    <?php while ($row=$result->fetch_array(MYSQLI_ASSOC)) { ?>
        <option value=<?php echo $row['idTheatre']?>><?php echo $row['Name_t']?></option>
    <?php } ?>
</select>
Добавлено через 59 секунд
FindSeance.php

PHPHTML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
<?php
$con = new mysqli('localhost', 'root', '',"course_db");
if ($con->connect_errno) {
    die('Нет соединения: ' . $con->connect_error);
}
mysqli_set_charset($con,"utf-8");
$thearte=intval($_GET['Hall_Theatre_idTheatre']);
echo "$thearte";
$query="SELECT `idSeance`,`Date/time`,`Performance_idPerformance`, `Name_perform`,`Name_hall`,`Name_t` 
FROM ((seance INNER JOIN performance ON performance.idPerformance=seance.Performance_idPerformance) 
INNER JOIN hall ON hall.Theatre_idTheatre=seance.Hall_Theatre_idTheatre) 
INNER JOIN theatre ON hall.Theatre_idTheatre=theatre.idTheatre 
WHERE seance.Hall_Theatre_idTheatre='$thearte'";
$result=$con->query($query);
 
?>
<select name="seance">
    <option>Выберите дату и время</option>
    <?php while($row=$result->fetch_array(MYSQLI_ASSOC)) { ?>
        <option value=<?php echo $row['idSeance']?>><?php echo $row['Date/time']?></option>
    <?php } ?>
</select>
Добавлено через 1 минуту
Index.php
PHPHTML
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
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
<?php
$con = new mysqli('localhost', 'root', '',"course_db");
if ($con->connect_errno) {
    die('Нет соединения: ' . $con->connect_error);
}
mysqli_set_charset($con,"utf-8");
$query="SELECT * FROM city";
$result= $con->query($query);
?>
<html>
<head>
    <title>Tutorial-24</title>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    <script language="javascript" type="text/javascript">
        function getXMLHTTP() {
            var xmlhttp=false;
            try{
                xmlhttp=new XMLHttpRequest();
            }
            catch(e)   {
                try{
                    xmlhttp= new ActiveXObject("Microsoft.XMLHTTP");
                }
                catch(e){
                    try{
                        xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
                    }
                    catch(e1){
                        xmlhttp=false;
                    }
                }
            }
 
            return xmlhttp;
        }
 
        function getTheatre(City_City_id) {
 
            var strURL="FindTheatre.php?city="+City_City_id;
            var req = getXMLHTTP();
 
            if (req) {
 
                req.onreadystatechange = function() {
                    if (req.readyState == 4) {
// Только в случае нажатия «ОК»
                        if (req.status == 200) {
                            document.getElementById('theatrediv').innerHTML=req.responseText;
                            document.getElementById('seancediv').innerHTML='<select name="seance">'+
                                '<option>Выберите дату и время</option>'+
                                '</select>';
                        } else {
                            alert("Problem while using XMLHTTP:n" + req.statusText);
                        }
                    }
                }
                req.open("GET", strURL, true);
                req.send(null);
            }
        }
        function getSeance(Theatre_idTheatre) {
            var strURL="FindSeance.php?thearte="+Theatre_idTheatre;
            var req = getXMLHTTP();
 
            if (req) {
 
                req.onreadystatechange = function() {
                    if (req.readyState == 4) {
// Только в случае нажатия «ОК»
                        if (req.status == 200) {
                            document.getElementById('seancediv').innerHTML=req.responseText;
                        } else {
                            alert("Problem while using XMLHTTP:n" + req.statusText);
                        }
                    }
                }
                req.open("GET", strURL, true);
                req.send(null);
            }
 
        }
    </script>
</head>
<body>
<form method="post" action="" name="form1">
    <center>
        <table width="45%"  cellspacing="0" cellpadding="0">
            <tr>
                <td width="75">Город</td>
                <td width="50">:</td>
                <td  width="150"><select name="city" onChange="getTheatre(this.value)">
                        <option value="">Выберите город</option>
                        <?php while ($row=$result->fetch_array(MYSQLI_ASSOC)) { ?>
                            <option value=<?php echo $row['City_id']?>><?php echo $row['Name']?></option>
                        <?php } ?>
                    </select></td>
            </tr>
            <tr style="">
                <td>Театр</td>
                <td width="50">:</td>
                <td ><div id="theatrediv"><select name="theatre" >
                            <option>Выберите театр</option>
                        </select></div></td>
            </tr>
            <tr style="">
                <td>Дата и время</td>
                <td width="50">:</td>
                <td ><div id="seancediv"><select name="seance">
                            <option>Выберите дату и время</option>
                        </select></div></td>
            </tr>
            <input name="submit" type="Submit" value="Показать спектакли" />
        </table>
    </center>
</form>
</body>
</html>
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
26.04.2018, 20:47
Ответы с готовыми решениями:

ошибка Notice: Undefined index
поменял на серваке версию php после чего появились такие вот сообщения ...

Notice: Undefined index: page
Всем добрый день. Хочу сделать постраничную навигацию, для этого в начале...

Fatal error: Class 'PEAR_Error' not found in C:\xampp\php\PEAR\DB.php on line 947
Здравствуйте!!! Помогите мне с мой проблемой пожалуйста. Проблема в том что,...

Warning: Illegal string offset 'text' in Z:\domains\phpsite\index.php on line 26 m
Добрый день! Помогите разобраться что не так! Выдает ошибку: &quot;Warning:...

Как устранить ошибку Notice в php скрипте?
Вот решил паставить себе скрипт все устанавливаю как надо но вот одна проблема...

6
xoraxax
1343 / 1285 / 378
Регистрация: 05.07.2013
Сообщений: 6,172
Завершенные тесты: 1
26.04.2018, 20:58 2
Цитата Сообщение от qqq_ee Посмотреть сообщение
MySQL, PHP и JavaScript
а ява то здесь при чем? иди в пхп
0
qqq_ee
0 / 0 / 0
Регистрация: 15.07.2017
Сообщений: 4
26.04.2018, 21:00  [ТС] 3
извините, это случайно. помогите, прошу. не понимаю почему выдает ошибку
0
xoraxax
1343 / 1285 / 378
Регистрация: 05.07.2013
Сообщений: 6,172
Завершенные тесты: 1
26.04.2018, 21:08 4
Цитата Сообщение от qqq_ee Посмотреть сообщение
$city=intval($_GET['city']);
параметр city вероятно не передается в запросе
0
qqq_ee
0 / 0 / 0
Регистрация: 15.07.2017
Сообщений: 4
26.04.2018, 22:48  [ТС] 5
Так выбор города работает, но когда выбираю театр выводит эту ошибку

Добавлено через 3 минуты
Или именно в запросе с Join должно city передать я?
0
xoraxax
1343 / 1285 / 378
Регистрация: 05.07.2013
Сообщений: 6,172
Завершенные тесты: 1
26.04.2018, 22:53 6
Ну включи какой нибудь дебаггер, посмотри чё куда передается, код свой почитай. Что ещё посоветовать.
0
sasha0012
365 / 168 / 113
Регистрация: 21.06.2012
Сообщений: 753
27.04.2018, 16:48 7
Вы отправляете GET параметр на страницу FindSeance.php как thearte а в самом обработчике ловите его как Hall_Theatre_idTheatre
Нужно заменить:
PHP
1
$thearte=intval($_GET['thearte']);
0
27.04.2018, 16:48
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
27.04.2018, 16:48

Fatal error: Call to a member function close() on a non-object in ....index.php on line 237
нужна помощь вставляю код пхп приведенный ниже в шаблон DLE все супер...

ошибка Fatal error: Class 'Point' not found in E:\OpenServer\domains\test.ru\index.php on line 13
&lt;?php class Poin{ public $x; public $y; public function...

Ошибка Fatal error: Cannot redeclare Point::getX() in E:\OpenServer\domains\test.ru\index.php on line 15
Fatal error: Cannot redeclare Point::getX() in...


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru