2014-02-01 2 views
2

У меня есть страница с 3 выпадающими списками. Команда1, team2 & Местоphp sql query не возвращает правильные результаты

enter image description here

Когда пользователь щелкает взгляд, я тогда запрос БД возвращать результаты для TEAM1 против team2 либо играть дома или в гостях или оба (в зависимости от выбора пользователей)

код Im используя для выполнения запроса следует

if($venue = "hometeam"){ 
     $result= " SELECT * 
FROM `results` 
WHERE `hometeam` = '$team1' && `awayteam` = '$team2'" or die(mysql_error()); 
    } 

    else if($venue = "awayteam"){ 
     $result = " SELECT * 
FROM `results` 
WHERE `awayteam` = '$team1' && `hometeam` = '$team2'"or die(mysql_error()); 
    } 

    else if($venue ="all"){ 
     $result = " SELECT * 
FROM `results` 
WHERE (`hometeam` = '$team1' AND `awayteam` = '$team1') OR (`hometeam` = '$team2' AND `awayteam` = '$team2')"or die(mysql_error()); 

    } 

проблему

Независимо, если пользователь выбирает место далеко или как дома & прочь возвращаемый результат всегда TEAM1 как hometeam, как вы можете видеть на картинке ниже:

enter image description here

В приведенном выше примере я выбрал TEAM1 как Stormers и Team2 как Sharks, я выбрал место за пределами, чтобы показать запись Stormers против акул, когда они играют вдали от дома, но, как вы можете видеть из изображения, Stormers все еще отображается как hometeam.

Если кто-нибудь может сказать мне, что я делаю неправильно или указать мне в правильном направлении, было бы весьма полезно.

Спасибо заранее

+0

С одной стороны, это 'если ($ место = "hometeam") {' должны использовать 2x ' == 'как в' if ($ venue == «hometeam») {'вы в настоящее время« назначаете »вместо« сравнения ». –

ответ

2

Вы делаете операцию присваивания на вашем if заявления. Воспользоваться == вместо =

if($venue = "hometeam"){ 

должен быть

if($venue == "hometeam"){ 
     //^------ Add one more like this. Do this for your `elseif` too 
+0

В операциях 'if' ** ** обратите внимание на форму« множественного числа »? ;-) –

+1

Это исправлено, спасибо большое! – Marilee

+0

Что вы подразумеваете под множественным числом в статусе IF – Marilee

1

Вы в настоящее время "назначение" вместо "сравнения" с условными операторами. Он находится в форме «множественного числа». У вас есть три, которые должны быть == вместо =

= является assignment operator, а == является comparison operator.

Потерялись дополнительный = см стрелки ^

if($venue = "hometeam") 
     ^

else if($venue = "awayteam") 
       ^

else if($venue = "all") 
       ^

Rewrite:

if($venue == "hometeam"){ 
     $result= " SELECT * 
FROM `results` 
WHERE `hometeam` = '$team1' && `awayteam` = '$team2'" or die(mysql_error()); 
    } 

    else if($venue == "awayteam"){ 
     $result = " SELECT * 
FROM `results` 
WHERE `awayteam` = '$team1' && `hometeam` = '$team2'"or die(mysql_error()); 
    } 

    else if($venue == "all"){ 
     $result = " SELECT * 
FROM `results` 
WHERE (`hometeam` = '$team1' AND `awayteam` = '$team1') OR (`hometeam` = '$team2' AND `awayteam` = '$team2')"or die(mysql_error()); 

    } 
Смежные вопросы