|
|
|
| привет всем!
Помогите в решении такой проблемы как:
Мне нужно из всей таблици сделать выборку только по опредилённому классу например 7-А
а мне выводит все седьмые (7-А 7-Б 7-В)
Что мне изменить в скрипте
<form method='post' action='table2.php'>
<select name='klass' class='menu' width='100'>
<option value='0'>Выбор класса</option>
<option value='1'>7-А</option>
<option value='2'>7-Б</option>
<option value='3'>7-В</option>
<option value='4'>8-А</option>
<option value='5'>8-Б</option>
<option value='6'>8-В</option>
<option value='7'>9-А</option>
<option value='8'>9-Б</option>
<option value='9'>9-В</option>
<option value='10'>10-А</option>
<option value='11'>10-Б</option>
<option value='12'>10-В</option>
<option value='13'>11-А</option>
<option value='14'>11-Б</option>
<option value='15'>11-В</option>
</select>
<input type='submit' name='submit2' value='Вход'>
</form>
<?php
if(isset($_POST['submit2']))
{
$klass=$_POST['klass'];
if($klass=="0")
{
echo "<font size='' color='red'>вЫ НЕ ВЫБРАЛИ ДАННЫЕ</font>";
}
if ($klass=="1")
{
predmet1();
exit;
}
if ($klass=="2")
{
predmet2();
exit;
}
if ($klass=="3")
{
predmet3();
exit;
}
if ($klass=="4")
{
predmet4();
exit;
}
if ($klass=="5")
{
predmet5();
exit;
}
if ($klass=="6")
{
predmet6();
exit;
}
if ($klass=="7")
{
predmet7();
exit;
}
if ($klass=="8")
{
predmet8();
exit;
}
if ($klass=="9")
{
predmet9();
exit;
}
if ($klass=="10")
{
predmet10();
exit;
}
if ($klass=="11")
{
predmet11();
exit;
}
if ($klass=="12")
{
predmet12();
exit;
}
if ($klass=="13")
{
predmet13();
exit;
}
if ($klass=="14")
{
predmet14();
exit;
}
if ($klass=="15")
{
predmet15();
exit;
}
}
?>
<?php
...
function predmet1()
{
$host = "localhost";
$user_db = "root";
$pass_db = "21001";
$dbase = "single";
$dtable = "teache";
mysql_connect ($host, $user_db, $pass_db);
mysql_select_db($dbase);
$sql = "SELECT * FROM $dtable WHERE klass='7A'";
$result = mysql_query($sql);
$rows = mysql_num_rows($result);
if ((!$rows) || ($rows < 1)) {echo "?ioi?iao?y ii aaoiio caieoo a?anooiy!!!!!!";}
else
{
echo"
<table border='0' width='100%'>
<tr>
<td rowspan='2' align='center' bgcolor='#FFFF99'><b>№</b></td>
<td rowspan='2' align='center' bgcolor='#FFFF99'><b>фио</b></td>
<td rowspan='2' align='center' bgcolor='#FFFF99'><b>Предмет</b></td>
<td rowspan='2' align='center' bgcolor='#FFFF99'><b>Класс</b></td>
<td colspan='4' align='center' bgcolor='#FFFF99'><b>Количество учеников</b></td>
<td rowspan='2' align='center' bgcolor='#FFFF99'></b>Семестр</b></td>
<td rowspan='2' align='center' bgcolor='#FFFF99'><b>Дата<b></td>
</tr>
<tr>
<td align='center' bgcolor='#FDC8B0'><b>Низкий</b></td>
<td align='center' bgcolor='#FFFF99'><b>Средний</b></td>
<td align='center' bgcolor='#FFFF99'><b>Достаточный</b></td>
<td align='center' bgcolor='#FFFF99'><b>Высокий</b></td>
</tr>
";
while(list($id,$name,$predmet,$klass,$zone1,$zone2,$zone3,$zone4,$semestr,$data)=mysql_fetch_row($result))
{
echo "
<tr>
<td align='center' bgcolor='#95BBBD'>$id</td>
<td align='center' bgcolor='#A8FBAE'>$name</td>
<td align='center' bgcolor='#B6D2EF'>$predmet</td>
<td align='center' bgcolor='#FFFF66'>$klass</td>
<td align='center' bgcolor='#CACED5'><font color='red'>$zone1</font></td>
<td align='center' bgcolor='#CACED5'>$zone2</td>
<td align='center' bgcolor='#CACED5'>$zone3</td>
<td align='center' bgcolor='#CACED5'>$zone4</td>
<td align='center' bgcolor='#FFFFCC'>$semestr</td>
<td align='center' bgcolor='#FFFF66'>$data</td>
</tr>\n";
}
}
print "</table>\n\n<br>";
}
function predmet2()
{
$host = "localhost";
$user_db = "root";
$pass_db = "21001";
$dbase = "single";
$dtable = "teache";
mysql_connect ($host, $user_db, $pass_db);
mysql_select_db($dbase);
$sql2 = "SELECT * FROM $dtable WHERE klass='7A'";
$result2 = mysql_query($sql2);
$rows2 = mysql_num_rows($result2);
if ((!$rows2) || ($rows2 < 1)) {echo "?ioi?iao?y ii aaoiio caieoo a?anooiy!!!!!!";}
else
{
echo"
<table border='0' width='100%'>
<tr>
<td rowspan='2' align='center' bgcolor='#FFFF99'><b>?</b></td>
<td rowspan='2' align='center' bgcolor='#FFFF99'><b>I?A</b></td>
<td rowspan='2' align='center' bgcolor='#FFFF99'><b>I?aaiao</b></td>
<td rowspan='2' align='center' bgcolor='#FFFF99'><b>Eean</b></td>
<td colspan='4' align='center' bgcolor='#FFFF99'><b>E?eue?nou o?i?a c</b></td>
<td rowspan='2' align='center' bgcolor='#FFFF99'></b>Naiano?</b></td>
<td rowspan='2' align='center' bgcolor='#FFFF99'><b>Aaoa<b></td>
</tr>
<tr>
<td align='center' bgcolor='#FDC8B0'><b>Iecueei</b></td>
<td align='center' bgcolor='#FFFF99'><b>Na?aai?i</b></td>
<td align='center' bgcolor='#FFFF99'><b>Ainoaoi?i</b></td>
<td align='center' bgcolor='#FFFF99'><b>Aenieei</b></td>
</tr>
";
while(list($id2,$name2,$predmet2,$klass2,$zone12,$zone22,$zone32,$zone42,$semestr2,$data2)=mysql_fetch_row($result2))
{
echo "
<tr>
<td align='center' bgcolor='#95BBBD'>$id2</td>
<td align='center' bgcolor='#A8FBAE'>$name2</td>
<td align='center' bgcolor='#B6D2EF'>$predmet2</td>
<td align='center' bgcolor='#FFFF66'>$klass2</td>
<td align='center' bgcolor='#CACED5'><font color='red'>$zone12</font></td>
<td align='center' bgcolor='#CACED5'>$zone22</td>
<td align='center' bgcolor='#CACED5'>$zone32</td>
<td align='center' bgcolor='#CACED5'>$zone42</td>
<td align='center' bgcolor='#FFFFCC'>$semestr2</td>
<td align='center' bgcolor='#FFFF66'>$data2</td>
</tr>\n";
}
}
print "</table>\n\n<br>";
}
...
?>
|
Через оператор (LIKE) тоже пробовал - не работает! | |
|
|
|
|
|
|
|
для: Sajmon
(05.03.2009 в 11:45)
| | Странно, у вас опшены списка имеют числовые значения, значит и запрос на выбор удобнее было бы по нему и делать. К базе вы обращаетесь по строковому значению, причем как 7A, а хотите иметь 7-A. Может лучше все это переделать? Есть таблица классов, где каждый класс имеет свой id, ну а все далее уже привязывается к этому id - от литеры класса, до всего что с ним связано. | |
|
|
|
|
|
|
|
для: sim5
(05.03.2009 в 12:09)
| | То я опесался в форме там везде 7А 7Б 7В и.т.д
Посоветуйте что то конкретное. Не могу сам разобраться. Поле с данными классов имеет значение CHAR(45)
И В функции function predmet2() я описался там $sql2 = "SELECT * FROM $dtable WHERE klass='7Б'";
И всеравно выводит все 7 не зависимо от буквы! Чо мне делать? | |
|
|
|
|
|
|
|
для: Sajmon
(05.03.2009 в 12:41)
| |
if ($klass=="1")
{
predmet1();
exit;
}
if ($klass=="2")
{
predmet2();
exit;
}
......
|
Я бы сделал в цикле, потому что так делать в данном случае вообще не логично, т.е. примерно так
for($i=0;$i<=10;$i++){
if ($klass=="$i")
{
predmet$i();
exit;
}
}
|
| |
|
|
|
|
|
|
|
для: Keyses
(05.03.2009 в 13:11)
| | это я понял! Но это не решает моей главной проблемы! мне нужно чтоб из таблици вывело 7-А класс а мне выводит все седьмые. Как мне с этим быть. А за цикл спасиба | |
|
|
|