Есть одна таблица первым запросом получаю данные записываю их в массив. можно ли вторым запросом сделать выборку так чтобы 1 из значений небыло равно ни одному значению из массива?
"можно всё, главное не палиться!" (с) сформулируйте понятнее пожалста вопрос, что за таблица, что за данные по какому условию. если я правельно понял, то всё можно уместить в один запрос, легко. итак, сёдня понедельник, а мысли читаем со среды, иногда)) что за таблица? что за данные в ней и в каких полях хранятся и какие именно записи (то беж условие выборки) должны попасть в первый массив и во второй. тут вам куча народу предлагает варианты реализации..
тавлица id bigint(20) No None auto_increment iduser bigint(20) No None idfrend bigint(20) No None date datetime No None resolution tinyint(1) Первый запрос SELECT * FROM `frends` WHERE iduser = '$userid' во втором запросе должна делаться выборка по полю idfrend = '$userid' но туда недолжны попасть iduser которые были в первом запросе
PHP: <?php // ... $sql = "SELECT * FROM `frends` WHERE `iduser` = '$userid' OR `idfriend` = '$userid'"; $res = mysql_query($sql) or exit(mysql_error()); $user = array(); $friends = array(); if(mysql_num_rows($res) > 0) { while($row = mysql_fetch_assoc($res)) { if($row['iduser'] == $userid) $user[] = $row; else $friends[] = $row; } } echo('<pre>'); echo("User:\n"); print_r($user); echo("Friends:\n"); print_r($friends); echo('</pre>'); // ... ?>
PHP: <?php //... // Это галка (checkbox) $selectFriends = isset($_REQUEST['select_friends']) ? 'TRUE' : 'FALSE'; $sql = "SELECT * FROM `frends` WHERE `iduser` = '$userid' OR ($selectFriends AND `idfriend` = '$userid')"; // ... ?>
только сейчас понял что все не правильно =). Этот скрипт просто выводит одних и вторых а надо то выводить так чтобы если в $user = array(); пользователь есть то в $friends = array(); его засовывать уже не надо.