У меня есть у БД таблица "DATA": у неё 4 поля: 1. id ... 2.title.....3.cat.....4.os.... ....1...... Poker......1..........3..... ....2...... Shark......1..........2..... ....3...... Tetris......2..........3..... ....4...... Tenis...... 2..........1..... ....5...... Shiter......3..........1..... ....6...... Crysis......3..........2..... Я сформулировал запрос выборки: Переменные $cat и $os приходят из другой страници методом GET К ПРИМЕРУ передались переменные $cat =1 а $os=2: А в этой странице сформулирован запрос: if (isset($_GET['os'])) {$os = $_GET['os'];} if (isset($_GET['cat'])) {$cat = $_GET['cat'];} $result=mysql_query ("SELECT * FROM data WHERE cat=$cat and os=$os",$db) $myrow=mysql_fetch_array($result) echo $myrow['title']; С этого запроса мне нада что бы вывелось поле: SHARK где $cat=1 и $os=2, а выводится: все поля где $cat=1 и все поля где $os=2 и в итоге выводится три поля Poker, Shark, Crysis Помогите пожалуйста сфомулировать запрос что бы когда в этот файл пришли $cat=1 и $os=2 то что бы выборка ишла только где $cat=1 и $os=2, а не выводилось все поля где $cat=1 и все поля где $os=2
Если 1)в DATA хранятся именно такие данные 2) по GET пришли переменные os и cat и они равны 2 и 1 соответственно: $_GET['os']=2 $_GET['cat']=1 то результат выполнения кода PHP: if (isset($_GET['os'])) {$os = $_GET['os'];} if (isset($_GET['cat'])) {$cat = $_GET['cat'];} $result=mysql_query ("SELECT * FROM data WHERE cat=$cat and os=$os",$db); $myrow=mysql_fetch_array($result); echo $myrow['title']; будет Shark Почему у тебя не получается нужный результат трудно сказать- выведи на экран выполняемый запрос PHP: if (isset($_GET['os'])) {$os = $_GET['os'];} if (isset($_GET['cat'])) {$cat = $_GET['cat'];} $q="[sql]SELECT * FROM data WHERE cat=$cat and os=$o[/sql]s"; echo $q.'<br>'; $result=mysql_query ($q,$db); $myrow=mysql_fetch_array($result); echo $myrow['title']; и сравни с требуемым [sql] SELECT * FROM data WHERE cat=1 and os=2 [/sql]