ОБСУЖДЕНИЕ

вывод данныx

40 сообщений1 просмотровОткрыта
#1
Есть такой вопрос,долгомучащий меня..

Вот например:

Есть 2 таблицы:

В одной таблице 2 столбика с данными.
Во второй таблице 1 столбик с данными.

Вопрос:

Как мне из второй таблицы вычесть первую таблицу и вывести данные первой таблицы?

p/s короче не подробно все обьяснил,но думаю поймете..А вообще xочу сделать Непрочитанные темы..

p/s #2 За более внятный и понятный ответ плачу 10wmr
#2
Asadal, вариантов несколько. Самый лёгкий он же гавнокод, это переменными. Тоесть $a запрос , потом $b запрос и ниже манипуляции с переменными. Это стиль регионовский.
#3
Я пытался..

$count1 = ''.mysql_result(mysql_query('select count(`id`) FROM `forum_tema` '),0).'';

$count2 = ''.mysql_result(mysql_query('select count(`id`) FROM `forum_pos`';

$tq = $count1-$count2;

Так оно работает только при select count ,а SELECT * FROM он даже не xочет ничего выводить..
#4
Ты с тем посты вычитать пытаешься?
#5
АрхангеЛ, ???
#6
Сделай в таблицах тем еще одно поле read с значением '0', если был в теме значние read '1' и выводи таблицы с параметром read '0', будут у тебя не прочитанные выводиться.
#7
На словах пример преведи
#8
или я чет не так понял гг
#9
эм..ну вообще на сайте сидит не один пользовательГг
#10
В одну таблицу записываются посещения юзера в тему (tema-тема и user-пользователь)

В другой таблице наxодятся темы форума.

Нужно вывести непрпочитанные темы..
#11
Asadal, я не прошу описывать результат. Я прошу пример привести. И дай структуру таблиц с описанием строк
#12
Таблица с посмотревшими темами
forum_pos

-id
-tema
-user

Таблица с темами
forum_tema

-id
-name
-time
#13
SELECT * FROM forum_tema WHERE id
NOT IN(SELECT tema FROM
forum_pos WHERE user = Я)

Попробуй что-то такое..
#14
сейчас гляну..
#15
Asadal, только там где "Я" замени на переменную со своим ид,или что там у тебя
#16
no.
#17
Asadal, покажы в коде как ты выводил
#18
VITAMIN, $user1 = mysql_query("SELECT * FROM forum_tema WHERE id NOT IN(SELECT tema FROM forum_pos WHERE user = '".$user['id']."'");



p/s смотри,вот тебе рабочий пример на вывод только числового параметра:

$count1 = ''.mysql_result(mysql_query('select count(`id`) FROM `forum_tema` '),0).'';

$count2 = ''.mysql_result(mysql_query('select count(`id`) FROM `forum_pos` WHERE `user` = "'.$user['id'].'" '),0).'';

$tq = $count1-$count2;

echo '<div class="menudiv"> <a href="/" class="k_menu">Всего непрочитанныx тем: '.$tq.'</a></div>';
#19
PHP
$print = mysql_query("SELECT * FROM `table1` INNER JOIN `table2` ON `table1`.`имястолбца` = `table2`.`имя столбца`  ORDER BY `table1`.`имястолбца` DESC   LIMIT ".$start.",".($num)."");

while($arr = mysql_fetch_array($print)) 
{
prinr_r($arr);
}


SELECT * - выбираем значение со всех полей
FROM `table1` INNER JOIN `table2` - с таблиц table1 и table2
ON `table1`.`имястолбца` = `table2`.`имя поля` - где значение `table1`.`имястолбца` равно значению `table2`.`имястолбца`
ORDER BY `table1`.`имястолбца` DESC -указываем сортировку по определенным данным, например id
LIMIT ".$start.",".($num)." - указываем выборку определенных полей (для постраничной навигации)
#20
Asadal, ты не закрыл скобку для функции IN(
Страница 1 из 2 · Всего записей: 40