Re: Выпадающий список
а двойные кавычки не нужно экранироваить? а то ошибка пока их неуберу
Вы не вошли. Пожалуйста, войдите или зарегистрируйтесь.
Форум PHP-MyAdmin.RU → Работа с phpMyAdmin → Выпадающий список
а двойные кавычки не нужно экранироваить? а то ошибка пока их неуберу
$st = "<p><select name='full_name' size='1' onchange=\"this.form.submit();\">;
<option value='vse'>Выберите студента</option>";
$query = mysql_query("SELECT *, CONCAT(`lastname`, ' ', `name`, ' ', `otchestvo`) AS `full_name` FROM Students WHERE AND id_groups='" . addslashes($_POST['nazv_groups']) . "' ORDER BY id_student");
$result = mysql_fetch_array($query);
do
{
$st .= "<option value='".$result['id_student']."'" . (isset($_POST['full_name']) && $_POST['full_name'] == $result['id_student'] ? ' selected="selected"' : '') . ">".$result['full_name']."</option>";
}
while($result = mysql_fetch_array($query));
$st .= "</select>";
echo $st."<br>"."<br>";
}
if (!empty($_POST['nazv_ciklovKomis']) && !empty($_POST['nazv_specialnosti']) && !empty($_POST['nazv_groups'])&& !empty($_POST['full_name'])); {
}
а двойные кавычки не нужно экранироваить? а то ошибка пока их неуберу
Надо экранировать обязательно, ведь они находятся внутри двойных. Или заменить на одинарные кавычки, как вы и сделали.
раньше в phpmyadmine добавлял нормально студентов, а сейчас он добавляет студента с: id = 2147483647
(это если оставлю пустым поле id_студента)
Идентификатор вставленной строки: 2147483647
Warning: #1264 Out of range value for column 'id_student' at row 1
автоинкремент стоит но почемуто не увеличивает на 1 , подскажите пожалуйста, что это может быть?
в других таблицах нормально, приходится смотреть какой был последним и ставить в ручную....
по видимому пхпмайадмин запомнил это число (2147483647) последним, как можно счетчик сбросить? у меня в таблице 25 студентов удалять и заново не хочется вводить...
подскажите пожалуйста, что это может быть?
Даже не знаю.
как можно счетчик сбросить?
Сохраните таблицу и данные через экспорт. В созданном .sql файле поправьте значение счетчика на максимальное значение идентификатора плюс один. Импортируйте таблицу обратно.
удалил, переставил! Все работает! Спасибо!
а можно ли сделать связной список если таблицы не связаны между собой?
из одной из таблиц чтоб просто брались названия....
1 список 2 список 3 список
"Кафедра" связана со "специальностью", а дальше таблица "курсы" в которой:
1 курс - осенний эта строка id=1
1 курс - весенний эта строка id=2
я объединил курсы и семестры в одну таблицу
до этого момента все работает, выодятся курсы, но не всписке а рядом:
if (!empty($_POST['nazv_ciklovKomis']) && !empty($_POST['nazv_specialnosti'])) {
$kurs = "<p><select name='nazv_kursa' size='1' onchange=\"this.form.submit();\">;
<option value='vse'>Выберите курс</option>";
$result = mysql_query("SELECT * FROM kurs",$db);
if (!$result)
{
echo "<p>Запрос на выборку данных из базы не прошел. <br> <strong>Код ошибки:</strong></p>";
exit(mysql_error());
}
if (mysql_num_rows($result) > 0)
{
$myrow = mysql_fetch_array($result);
do
{
printf ("<option value='%s'>%s</option>",$myrow["id_kurs"],$myrow["nazv_kursa"]);
}
while ($myrow = mysql_fetch_array($result));
}
else
{
echo "<p>Информация по запросу не может быть извлечена в таблице нет записей.</p>";
exit();
}
echo $kurs .= "</select>";
}
if (!empty($_POST['nazv_ciklovKomis']) && !empty($_POST['nazv_specialnosti']) && !empty($_POST['nazv_kursa'])) {
echo '<p><table border = "1">
<tr>
<th>Название дисциплины</th>
<th>Количество часов</th>
<th>Лекции</th>
<th>Практические</th>
<th>Самостоятельные</th>
<th>Преподаватель</th>
</tr>';
$result = mysql_query ("SELECT nazv_discipline, kol_chasov, lekcii, prackt_seminari, samostoyatel, prepod_lastname
FROM ycheb_plan, Discipline, Prepodavatel
WHERE ycheb_plan.id_kurs = '" . addslashes($_POST['nazv_kursa']) . "'
AND ycheb_plan.id_discipline = Discipline.id_discipline
AND ycheb_plan.id_prepodavatel = Prepodavatel.id_prepodavatel",$db);
while ($myrow = mysql_fetch_array ($result)){
$nazv_discipline = $myrow["nazv_discipline"];
$kol_chasov = $myrow["kol_chasov"];
$lekcii = $myrow["lekcii"];
$prackt_seminarii = $myrow["prackt_seminari"];
$samostoyatel = $myrow["$samostoyatel"];
$full_name = $myrow["full_name"];
echo "<tr>";
echo "<td>$nazv_discipline</td>";
echo "<td>$kol_chasov</td>";
echo "<td>$lekcii</td>";
echo "<td>prackt_seminari</td>";
echo "<td>$samostoyatel</td>";
echo "<td>full_name</td>";
echo "</tr>";
}
if (!empty($_POST['nazv_ciklovKomis']) && !empty($_POST['nazv_specialnosti']) && !empty($_POST['nazv_kursa']) && !empty($_POST['nazv_discipline'])); {
}
}
mysql_close($db);
echo '</table>';
echo "</form>";
?>
а можно ли сделать связной список если таблицы не связаны между собой?
Не смог понять задачи, попробуйте описать поточнее.
у меня по определенному курсу нужно сделать выборку из таблицы учебный план
до этого момента все работает
и футер на сайте сдвигается
Не понимаю.
у меня по определенному курсу нужно сделать выборку из таблицы учебный план
Я не могу по такому описанию ничего подсказать. Покажите структуры таблиц и пример данных. Обязательно покажите какие данные надо выбрать и что у вас получается сейчас.
вот запрос того что должно выводится
SELECT nazv_discipline, kol_chasov, lekcii, prackt_seminari, samostoyatel, prepod_lastname
FROM ycheb_plan, Discipline, Prepodavatel, kurs
WHERE ycheb_plan.id_kurs = kurs.id_kurs
AND ycheb_plan.id_discipline = Discipline.id_discipline
AND ycheb_plan.id_prepodavatel = Prepodavatel.id_prepodavatel
3 списка и таблица
Структуру таблиц покажите сохранив через экспорт и сформулируйте задачу.
у меня по определенному курсу нужно сделать выборку из таблицы учебный план
SELECT * FROM `ycheb_plan` WHERE `id_kurs` = 1
я в 3ем списке выбираю название "1 курс - осенний" названия в таблице курсы по айди соединено ycheb_plan.id_kurs = kurs.id_kurs
у меня в БД нет связи просто таблицы "курсы" со "специальность"! они связаны с группой и студентами
Если я правильно понял, то примерно так.
SELECT nazv_discipline, kol_chasov, lekcii, prackt_seminari, samostoyatel, prepod_lastname
FROM ycheb_plan, Discipline, Prepodavatel, kurs
WHERE ycheb_plan.id_kurs = kurs.id_kurs
AND ycheb_plan.id_discipline = Discipline.id_discipline
AND ycheb_plan.id_prepodavatel = Prepodavatel.id_prepodavatel
AND ycheb_plan.id_kurs = $_POST['nazv_kursa']
а как сделать чтоб курсы выводились в списке, а не рядом?
$kurs = "<p><select name='nazv_kursa' size='1' onchange=\"this.form.submit();\">;
<option value='vse'>Выберите курс</option>";
$result = mysql_query("SELECT * FROM kurs",$db);
if (!$result)
{
echo "<p>Запрос на выборку данных из базы не прошел. <br> <strong>Код ошибки:</strong></p>";
exit(mysql_error());
}
if (mysql_num_rows($result) > 0)
{
$myrow = mysql_fetch_array($result);
do
{
printf ("<option value='%s'>%s</option>",$myrow["id_kurs"],$myrow["nazv_kursa"]);
}
while ($myrow = mysql_fetch_array($result));
}
else
{
echo "<p>Информация по запросу не может быть извлечена в таблице нет записей.</p>";
exit();
}
echo $kurs .= "</select>";
спасибо большое! наверно правильнее будет соединить курсы со специальностью, а в группах и студентах убрать!
и сделать как в первой форме де студенты с оценками я просто в связях не понимаю как правильнее связать
у меня в БД нет связи просто таблицы "курсы" со "специальность"! они связаны с группой и студентами
Если нужна такая связь, то добавьте, я пока не вижу зачем это делать.
Вы же выбираете данные из этих таблиц: FROM ycheb_plan, Discipline, Prepodavatel, kurs
Я не вижу здесь таблицы специальности.
<?php
echo '<form method="post" action="">';
$ck = "<p><select name='nazv_ciklovKomis' size='1' onchange=\"this.form.submit();\">;
<option value='vse'>Выберите цикловую комисию</option>";
$query = mysql_query("SELECT * FROM CiklovKomis ORDER BY id_ciklovKomis");
$result = mysql_fetch_array($query);
do
{
$ck .= "<option value='".$result['id_ciklovKomis']."'" . (isset($_POST['nazv_ciklovKomis']) && $_POST['nazv_ciklovKomis'] == $result['id_ciklovKomis'] ? ' selected="selected"' : '') . ">".$result['nazv_ciklovKomis']."</option>";
}
while($result = mysql_fetch_array($query));
$ck.= "</select>";
echo $ck."<br>"."<br>";
if (!empty($_POST['nazv_ciklovKomis'])) {
$spec = "<p><select name='nazv_specialnosti' size='1' onchange=\"this.form.submit();\">;
<option value='vse'>Выберите cпециальность</option>";
$query = mysql_query("SELECT * FROM Specialnost,CiklovKomis WHERE CiklovKomis.id_ciklovKomis=Specialnost.id_specialnost
AND CiklovKomis.id_ciklovKomis = '" . addslashes($_POST['nazv_ciklovKomis']) . "' ORDER BY id_specialnost");
$result = mysql_fetch_array($query);
do
{
$spec .= "<option value='".$result['id_specialnost']."'" . (isset($_POST['nazv_specialnosti']) && $_POST['nazv_specialnosti'] == $result['id_specialnost'] ? ' selected="selected"' : '') . ">".$result['nazv_specialnosti']."</option>";
}
while($result = mysql_fetch_array($query));
$spec .= "</select>";
echo $spec."<br>"."<br>";
}
if (!empty($_POST['nazv_ciklovKomis']) && !empty($_POST['nazv_specialnosti'])) {
$kurs = "<p><select name='nazv_kursa' size='1' onchange=\"this.form.submit();\">;
<option value='vse'>Выберите курс</option>";
$result = mysql_query("SELECT * FROM kurs",$db);
if (!$result)
{
echo "<p>Запрос на выборку данных из базы не прошел. <br> <strong>Код ошибки:</strong></p>";
exit(mysql_error());
}
if (mysql_num_rows($result) > 0)
{
$myrow = mysql_fetch_array($result);
do
{
printf ("<option value='%s'>%s</option>",$myrow["id_kurs"],$myrow["nazv_kursa"]);
}
while ($myrow = mysql_fetch_array($result));
}
else
{
echo "<p>Информация по запросу не может быть извлечена в таблице нет записей.</p>";
exit();
}
echo $kurs .= "</select>";
}
if (!empty($_POST['nazv_ciklovKomis']) && !empty($_POST['nazv_specialnosti']) && !empty($_POST['nazv_kursa'])) {
echo '<p><table border = "1">
<tr>
<th>Название дисциплины</th>
<th>Количество часов</th>
<th>Лекции</th>
<th>Практические</th>
<th>Самостоятельные</th>
<th>Преподаватель</th>
</tr>';
$result = mysql_query ("SELECT nazv_discipline, kol_chasov, lekcii, prackt_seminari, samostoyatel, prepod_lastname
FROM ycheb_plan, Discipline, Prepodavatel
WHERE ycheb_plan.id_kurs = '" . addslashes($_POST['nazv_kursa']) . "'
AND ycheb_plan.id_discipline = Discipline.id_discipline
AND ycheb_plan.id_prepodavatel = Prepodavatel.id_prepodavatel",$db);
while ($myrow = mysql_fetch_array ($result)){
$nazv_discipline = $myrow["nazv_discipline"];
$kol_chasov = $myrow["kol_chasov"];
$lekcii = $myrow["lekcii"];
$prackt_seminarii = $myrow["prackt_seminari"];
$samostoyatel = $myrow["$samostoyatel"];
$full_name = $myrow["full_name"];
echo "<tr>";
echo "<td>$nazv_discipline</td>";
echo "<td>$kol_chasov</td>";
echo "<td>$lekcii</td>";
echo "<td>prackt_seminari</td>";
echo "<td>$samostoyatel</td>";
echo "<td>full_name</td>";
echo "</tr>";
}
if (!empty($_POST['nazv_ciklovKomis']) && !empty($_POST['nazv_specialnosti']) && !empty($_POST['nazv_kursa']) && !empty($_POST['nazv_discipline'])); {
}
}
mysql_close($db);
echo '</table>';
echo "</form>";
?>
а как сделать чтоб курсы выводились в списке, а не рядом?
Я не вижу как оно выводится и не понимаю о чем вы говорите.
Форум PHP-MyAdmin.RU → Работа с phpMyAdmin → Выпадающий список
Форум работает на PunBB, при поддержке Informer Technologies, Inc
Currently installed 7 official extensions. Copyright © 2003–2009 PunBB.