Правильный запрос SELECT

Тема в разделе "PHP", создана пользователем Squoll2, 28 ноя 2009.

Статус темы:
Закрыта.
Модераторы: latteo
  1. Squoll2

    Squoll2 Постоялец

    Регистр.:
    2 июн 2009
    Сообщения:
    80
    Симпатии:
    15
    Доброго времени суток. Я вот начал учить PHP и пробую выполнить запрос через select. То есть когда я выбераю что то из списка то код идёт дальше но у меня что то неполучается. Вот мой код посмотрите в чём я ошибся
    PHP:
    <?
    $auto $_GET["auto"];
    if (
    $auto 1)
    echo 
    "selected Alfa Romeo!";
    if (
    $auto 2)
    echo 
    "selected Audi!";
    else
    echo 
    "Марка невыбрана";
    ?>
    Выберите марку автомобиля
    <form action="" method="get">
    <SELECT  NAME="auto">
    <OPTION VALUE="1">Alfa Romeo  
    <OPTION VALUE="2">Audi
    <OPTION VALUE="3">BMW
    <OPTION VALUE="4">Cadillac
    <OPTION VALUE="5">Chevrolet
    <OPTION VALUE="6">Chrysler
    <OPTION VALUE="7">Citroen
    <OPTION VALUE="8">Daewoo
    <OPTION VALUE="9">Daihatsu
    <OPTION VALUE="10">Dodge
    <OPTION VALUE="11">Fiat
    <OPTION VALUE="12">Ford
    <OPTION VALUE="13">Honda
    <OPTION VALUE="14">Hyundai
    <OPTION VALUE="15">Isuzu
    <OPTION VALUE="16">Jaguar
    <OPTION VALUE="17">Jeep
    <OPTION VALUE="18">Kia
    <OPTION VALUE="19">Mazda
    </SELECT> 
      <input type="submit" />
     
  2. Eihwaz

    Eihwaz

    Регистр.:
    7 окт 2007
    Сообщения:
    156
    Симпатии:
    54
    Ошиблись и в HTML и в PHP:
    HTML:
    Не закрыли тег <option><form>:(
    HTML:
    
    <select>
        <option></option>
    </select>
    
    PHP:
    <? — про это на первых порах забудьте, пишите <?php. Тем-более, если у вас нет доступа к настройкам php.
    Далее, если используете if, то $auto проверяйте на заполненность:
    PHP:
    $auto = isset($_GET["auto"]) ? $_GET['auto'] : false;
    if (
    $auto) {
        if(
    $auto == 1) {
        }
        elseif(
    $auto == 2) {
        }
    }
    Условия if составлены неправильно: if($auto = 1) значит: "если переменной auto можно успешно присвоить значение 1". Вам же нужно "если переменная auto СОДЕРЖИТ значение 1", т.е.: if($auto == 1).
    Ну и не используете elseif.
    А вообще короче было бы сделать так, примерно:
    PHP:
    if(isset($_GET['auto'])) {
        switch(
    $auto intval($_GET["auto"])) {
            case 
    1:
                echo 
    'Alfa Romeo';
                break;
            case 
    2:
                echo 
    'Audi';
                break;
            default:
                echo 
    'Марка не выбрана';
        }
    }
     
    Squoll2 нравится это.
  3. Stern87

    Stern87 Создатель

    Регистр.:
    8 дек 2007
    Сообщения:
    15
    Симпатии:
    1
    Необходимо учить сначала HTML, а потом - РНР
     
Статус темы:
Закрыта.