Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Формы
 
 автор: Sajmon   (05.03.2009 в 11:45)   письмо автору
 
 

привет всем!
Помогите в решении такой проблемы как:
Мне нужно из всей таблици сделать выборку только по опредилённому классу например 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&nbsp;o?i?a&nbsp;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) тоже пробовал - не работает!

  Ответить  
 
 автор: sim5   (05.03.2009 в 12:09)   письмо автору
 
   для: Sajmon   (05.03.2009 в 11:45)
 

Странно, у вас опшены списка имеют числовые значения, значит и запрос на выбор удобнее было бы по нему и делать. К базе вы обращаетесь по строковому значению, причем как 7A, а хотите иметь 7-A. Может лучше все это переделать? Есть таблица классов, где каждый класс имеет свой id, ну а все далее уже привязывается к этому id - от литеры класса, до всего что с ним связано.

  Ответить  
 
 автор: Sajmon   (05.03.2009 в 12:41)   письмо автору
 
   для: sim5   (05.03.2009 в 12:09)
 

То я опесался в форме там везде 7А 7Б 7В и.т.д
Посоветуйте что то конкретное. Не могу сам разобраться. Поле с данными классов имеет значение CHAR(45)
И В функции function predmet2() я описался там $sql2 = "SELECT * FROM $dtable WHERE klass='7Б'";
И всеравно выводит все 7 не зависимо от буквы! Чо мне делать?

  Ответить  
 
 автор: Keyses   (05.03.2009 в 13:11)   письмо автору
 
   для: 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; 
    }
}

  Ответить  
 
 автор: Sajmon   (05.03.2009 в 14:06)   письмо автору
 
   для: Keyses   (05.03.2009 в 13:11)
 

это я понял! Но это не решает моей главной проблемы! мне нужно чтоб из таблици вывело 7-А класс а мне выводит все седьмые. Как мне с этим быть. А за цикл спасиба

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования