Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: работа с базой mysql

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Описание: работа с базой mysql
cooperok
Отправлено: 08 Ноября, 2011 - 09:51:56
Post Id


Частый гость


Покинул форум
Сообщений всего: 137
Дата рег-ции: Сент. 2011  
Откуда: Los Angeles, California


Помог: 0 раз(а)




Здраствуйте,

Подскажите
как можно сделать что бы пользователю выводились задания только те которые он не выполнял,
тоесть когда он выполнил задание надо что бы в таблицу пользователей в поле vtasks
добавилось ID задания, и после этого когда он на сайте смотрит таблицу с заданиями то это задание больше не выводилось для него


Нужно бы узнать как сделать перебор
тоесть вывожу задания
SELECT * FROM table WHERE
вот после WHERE
что такое нужно дописать что бы он переберал из поля vtasks
теость если он выполнил первые 2 задания то в этом поле 1,2 вот надо сделать что бы именно обе цыфры переберал тоесть вывести все кроме задания равные ID 1 и ID 2

или примерно так
(Добавление)
Сделал вот так
SELECT * FROM banner WHERE id!=$vtask
сейчас выводил как надо но как сделать что бы в поле vtask в таблице пользователей можно было добавлять несколько значений, и какой там тип выбрать что бы перебор был.
тоесть после выполнения задания сюда дописывается ID а при выводе перебирать должен как то)

(Отредактировано автором: 08 Ноября, 2011 - 10:18:22)



-----
This forum is vulnerable. I want to replace forum engine.
(c) OrmaJever
 
 Top
snikers987
Отправлено: 08 Ноября, 2011 - 10:50:04
Post Id



Участник


Покинул форум
Сообщений всего: 1239
Дата рег-ции: Сент. 2011  
Откуда: Крым


Помог: 25 раз(а)




задания выполняются в определенном порядке или как?


-----
Когда всматриваешься в тёмную бездну, учти, что кто-то может смотреть на тебя из неё...
 
My status
 Top
cooperok
Отправлено: 08 Ноября, 2011 - 10:51:14
Post Id


Частый гость


Покинул форум
Сообщений всего: 137
Дата рег-ции: Сент. 2011  
Откуда: Los Angeles, California


Помог: 0 раз(а)




Нет, могут по разному,
тоесть пользователь смотрит цену допустим на задание, и выберает какое выполнять какое нет


-----
This forum is vulnerable. I want to replace forum engine.
(c) OrmaJever
 
 Top
snikers987
Отправлено: 08 Ноября, 2011 - 11:02:52
Post Id



Участник


Покинул форум
Сообщений всего: 1239
Дата рег-ции: Сент. 2011  
Откуда: Крым


Помог: 25 раз(а)




Я бы сделал 3 таблицами :
первая: users
uid
login
и т.д

вторая: quest
qid
qbody
и т.д.

третья: result
rid
uid
qid
CODE (SQL):
скопировать код в буфер обмена
  1.  
  2. SELECT quest.qid, quest.qbody, result.qid FROM `quest`
  3. LEFT JOIN `result` ON quest.qid!= result.qid
  4. WHERE result.uid = 1234


В запросе не уверен, но както так

(Отредактировано автором: 08 Ноября, 2011 - 11:04:04)



-----
Когда всматриваешься в тёмную бездну, учти, что кто-то может смотреть на тебя из неё...
 
My status
 Top
cooperok
Отправлено: 08 Ноября, 2011 - 11:13:04
Post Id


Частый гость


Покинул форум
Сообщений всего: 137
Дата рег-ции: Сент. 2011  
Откуда: Los Angeles, California


Помог: 0 раз(а)




snikers987
я плохо разбераюсь)
но будет ли это работать тоесть у меня не 1 пользватель будет который выполняет задания
(Добавление)
сейчас попробую сделать так)
(Добавление)
я так понимаю 3тья таблица для того что бы проверять выполнено задание или нет
если выполняет ползователь у которого ID 18 то он в 3тью таблицу заносится в поле rid
а в поле uid заносится ID задания
а в qid что должно заносится? или тут без разницы?
тоесть если выполнил то ставится 1

а потом при выводе происходить просмотр если в таблицы перед выводом если стоит 1 то не выводится задание если пусто то тогда выводится?

я вот сделал вот так
вроде выводится еденица




CODE (htmlphp):
скопировать код в буфер обмена
  1. $resultat = mysql_query("SELECT * FROM users WHERE id=18");
  2. $array = mysql_fetch_array($resultat);
  3. $vtask=$array['id'];
  4.  
  5. $resultat2 = mysql_query("SELECT * FROM banner WHERE id=3");
  6. $array2 = mysql_fetch_array($resultat2);
  7. $vtask2=$array2['id'];
  8.  
  9.  
  10. $resultat3 = mysql_query("SELECT * FROM result WHERE rid='$vtask' and uid='$vtask2'");
  11. $array3 = mysql_fetch_array($resultat3);
  12. $vtask3=$array3['qid'];
  13. echo $vtask3;


надо будет сделать в цыкл это все?

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


-----
This forum is vulnerable. I want to replace forum engine.
(c) OrmaJever
 
 Top
snikers987
Отправлено: 08 Ноября, 2011 - 12:06:14
Post Id



Участник


Покинул форум
Сообщений всего: 1239
Дата рег-ции: Сент. 2011  
Откуда: Крым


Помог: 25 раз(а)




Цитата:
если выполняет ползователь у которого ID 18 то он в 3тью таблицу заносится в поле rid
а в поле uid заносится ID задания
а в qid что должно заносится? или тут без разницы?



клмн..
первая: users
uid - ID пльзователя auto increment
login
и т.д

вторая: quest
qid - ID задания auto increment
qbody
и т.д.

третья: result
rid -ID результата auto increment
uid - ID пользователя который выполнил
qid -ID задания которое выполнил uid

(Отредактировано автором: 08 Ноября, 2011 - 12:08:44)



-----
Когда всматриваешься в тёмную бездну, учти, что кто-то может смотреть на тебя из неё...
 
My status
 Top
cooperok
Отправлено: 08 Ноября, 2011 - 12:26:49
Post Id


Частый гость


Покинул форум
Сообщений всего: 137
Дата рег-ции: Сент. 2011  
Откуда: Los Angeles, California


Помог: 0 раз(а)




snikers987
я незнаю)
я хочу сделать через while
тоесть если пользователь выполняет задание то в 3тью таблицу заносится ID auto increment
потом uid пользователя и qid задания
а когда задания выводятся в аккаунте
то проверка происходит
ищется пользователь в uid и qid задания если в таблице ID больше 1 тоесть он же автоматом увеличивается если чел выполнял задание то это задание не выводить
только те задания которые не занесены в 3тью таблицу
(Добавление)
вот так вот работает, выводит те задания которые не выполнял

CODE (htmlphp):
скопировать код в буфер обмена
  1. <?php
  2. $resultat = mysql_query("SELECT * FROM zadania");
  3. $array = mysql_fetch_array($resultat);
  4. do
  5. {
  6. $ssa=$array['id'];
  7. $resultat3 = mysql_query("SELECT * FROM result WHERE uid='$vtask' and qid='$ssa'");
  8. $array3 = mysql_fetch_array($resultat3);
  9. $vtask3=$array3['rid'];
  10. if ($vtask3 < 1)//Если число больше 5
  11. {
  12. echo $array['id'].$array['name']."<br>";
  13.  
  14. }
  15.  
  16.  
  17. }
  18. while($array = mysql_fetch_array($resultat));
  19. ?>

вроде бы разобрался с этой проблемой
буду дальше сайт с заданиями

(Отредактировано автором: 08 Ноября, 2011 - 12:47:17)



-----
This forum is vulnerable. I want to replace forum engine.
(c) OrmaJever
 
 Top
snikers987
Отправлено: 08 Ноября, 2011 - 12:54:54
Post Id



Участник


Покинул форум
Сообщений всего: 1239
Дата рег-ции: Сент. 2011  
Откуда: Крым


Помог: 25 раз(а)




мда..

И вообще что за имена переменных vtask1 vtask2? Тебе самому не сложно понять что в какой переменной?

Я тебе написал как организовать таблицы, написал запрос на выборку, а ты все велосипед строиш..

UPD.

if ($vtask3 < 1)//Если число больше 5
тут вообщето меньше одного, а не больше пяти

(Отредактировано автором: 08 Ноября, 2011 - 13:01:22)



-----
Когда всматриваешься в тёмную бездну, учти, что кто-то может смотреть на тебя из неё...
 
My status
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Вопросы новичков »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB