|
|
|
| Есть 2 таблицы:
1) Хранятся данные по статистике: id, test
2)таблица тестов id, nametest, number
Авторизированый по ID пользователь, выбирает тест и пройдя его данные с id юзером и номером теста заносятся в первую таблицу статистики
Как сделать чтобы при выборе теста, список тестов сравнивался с уже пройдеными этим юзером тестами и совпадающие не отображались в списке?
Так не выходит, убирает только первое совпадение:(
$q = mysql_fetch_array(mysql_query("select `test` from table1 where `id`='$id_user'"));
$q1 = mysql_query("select * from table2 where `number` != '$q['test']'");
echo "<select name='t'>";
while ($arr = mysql_fetch_array($q1))
{
echo "<option value='$arr['number']'>$arr['nametest']</option>";
}
echo "</select>";
|
| |
|
|
|
|
|
|
|
для: chexov
(22.08.2008 в 04:19)
| | Попробуйте через массив:
$q =mysql_query("select `test` from table1 where `id`='$id_user'");
while ($p=mysql_fetch_array($q))
{
$q1 = mysql_query("select * from table2 where `number` != '$p['test']'");
echo "<select name='t'>";
while ($arr = mysql_fetch_array($q1))
{
echo "<option value='$arr['number']'>$arr['nametest']</option>";
}
}
echo "</select>";
|
| |
|
|
|
|
|
|
|
для: ronin
(22.08.2008 в 10:15)
| | не получается так, выводит оба варианта:( | |
|
|
|
|
|
|
|
для: chexov
(22.08.2008 в 11:40)
| | Есть еще какие нибудь соображения? | |
|
|
|
|
|
|
|
для: chexov
(22.08.2008 в 04:19)
| | может так:
<?
$_MS = mysql_query('SELECT `table2`.* FROM `test`,`table2` WHERE `test`.`id`='.intval($id_user).' AND `table2`.`number` != `test`.`test`');
?>
<select name='t'>
<? while ($_R = mysql_fetch_array($_MS)): ?>
<option value="<?=$_R['number']?>"><?=$_R['nametest']?></option>
<? endwhile; ?>
</select>
|
| |
|
|
|
|
|
|
|
для: а-я
(23.08.2008 в 07:35)
| | так поле test у меня из table1 | |
|
|
|
|
|
|
|
для: chexov
(24.08.2008 в 02:54)
| | так?
<?
$_MS = mysql_query('SELECT `table2`.* FROM `table1`,`table2` WHERE `table1`.`id`='.intval($id_user).' AND `table2`.`number` != `table1`.`test`');
?>
<select name="t">
<? while ($_R = mysql_fetch_array($_MS)): ?>
<option value="<?=$_R['number']?>"><?=$_R['nametest']?></option>
<? endwhile; ?>
</select>
|
| |
|
|
|
|
|
|
|
для: а-я
(24.08.2008 в 07:38)
| | вообще не выводит не одного значения, хотя в таблице 1 совпадений нет | |
|
|
|
|
|
|
|
для: chexov
(22.08.2008 в 04:19)
| |
SELECT * FROM `table2` WHERE `number` NOT IN(SELECT `test` FROM `table1` WHERE `id`=".$id_user.");
|
| |
|
|
|