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

Форум MySQL

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

 

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

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

тема: как работает switch
 
 автор: Super[MAN]   (18.06.2008 в 10:13)   письмо автору
 
 

Объясните пожалуйста на простом примере как работает switch. Читаю документацию,вроде делаю на ничего не получается :(
Может дело даже и не в switch.

$res = mysql_query("SELECT * FROM users WHERE login='$login' AND passwd1='$passwd1'"); 
        if(mysql_num_rows($res) != 0)

        {  
            $_SESSION['login'] = "$login";  
            $_SESSION['passwd1'] = "$passwd1";  

            $row = mysql_fetch_row($res); 
                     
            switch($row)
            {
            case ($row['status'] == 'admin'):
             
                            echo "admin";
                break;
            
            case ($row['status'] == 'user'):
            
                           echo "user";
                break;
            }
             
        }


Как я понял скрипт просто не сравнивает значения в status с admin или user, а сразу идет на выход. Подскажите пожалуйста почему.

   
 
 автор: Super[MAN]   (18.06.2008 в 10:28)   письмо автору
 
   для: Super[MAN]   (18.06.2008 в 10:13)
 

Вообще ерунда какая-то,а когда пишу:

case ($row['6'] == 'admin'):


Работает. У меня в таблице значение statusa по порядку стоит 7, 6 т.к.с 0. Но почему вот он не хочет понимать вот это

case ($row['status'] == 'admin'): 


для меня остается загадкой. Если объясните буду очень признателен :)

   
 
 автор: AcidTrash   (18.06.2008 в 10:36)   письмо автору
 
   для: Super[MAN]   (18.06.2008 в 10:13)
 

Да у вас вообще какая-то ерунда написана.
Попробуйте так
<?php
$res 
mysql_query("SELECT * FROM users WHERE login='$login' AND passwd1='$passwd1'");
       if(
mysql_num_rows($res) > 0)

       {
            
$_SESSION['login'] = "$login";
            
$_SESSION['passwd1'] = "$passwd1";

            while(
$row mysql_fetch_assoc($res))
            {

            switch(
$row['status'])
            {
            case 
'admin':
            echo 
"admin";
                break;

            case 
'user':
            echo 
"user";
                break;
            }
    }
    }
?>

   
 
 автор: Super[MAN]   (18.06.2008 в 10:49)   письмо автору
 
   для: AcidTrash   (18.06.2008 в 10:36)
 

Блин,вот огромное спасибо! Заработало как надо! :)

   
Rambler's Top100
вверх

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