Помощ за база данни

pepelqsh

Registered
Привет на всички, аз съм нов във форума и искам да помоля за помощ. Проблема е следния:
-Купих готов сайт за freelancers, като за да стане това, което аз искам претърпя малко промени. Има една последна промяна, която искам да направя и да го пускам да работи, но понеже не съм професионалист, а аматьор, който поназнайва малко не мога да се справя. Достатъчно овертюра , сега най-важното. Опитвам се да подобря една страница от сайта, в която се търси по няколко критерия - по юзър, по време и по ключова дума, а аз искам да вкарам и по град. Гореизборените 3 менюта са независими и може да търсиш само по един критерии, но може и по повече. Аз направих така - взимам информация от таблицата с градове и я изкарвам в падащо меню, като правя join с таблицата от проектите, в която съм записал id-тата на градовете, в които е пуснат проект, за да ми изкара само тях, но не става.
"SELECT * FROM countries INNER JOIN project_info ON countries.id=project_info.countries"

(*countries - всъщност там съм записал градове, а не държави, не ми се поменяше името на таблицата)

С INNER JOIN ми изкарва градовете , но ги повтаря в падащото меню (ако е 1 град има пуснати 1000 проекта, ще ми изкара 1000 пъти този град), а и не изкарва проектите само в тези градове , а всички, а с FULl JOIN не изкарва нищо. Та молбата ми е, може ли някой да ми даде пример с търсачка по град, пък аз ще импровизирам с моята. Благодаря предварително.
 
Код:
select c.*,b.* from countries c,project_info b WHERE c.id=b.countries_id
Малко през "къра" е написано но не ти знам полетата кое с кое сравняваш (като имена).
ps:Виж дали ти дава някаква mysql грешка може нещо да си объркал с имената примерно( най-често така става)
 
Hous каза:
Код:
select c.*,b.* from countries c,project_info b WHERE c.id=b.countries_id
Малко през "къра" е написано но не ти знам полетата кое с кое сравняваш (като имена).
ps:Виж дали ти дава някаква mysql грешка може нещо да си объркал с имената примерно( най-често така става)
Не знам защо е излязло така написано при теб , но не е. Ето как е:
"SELECT * FROM countries INNER JOIN project_info ON countries.id=project_info.countries"
Не съм пробвал с group by ще пробвам и ще дам отговор. И не дава грешка никаква. По-скоро ми трябва php Код дето да накарам да изкарва само по 1 път града и да търси по града , а не да изкарва проектите във всички градове при определен един.
С ORDER BY не става също :(
 
Аз дадох този код за това е така излезнало :D
иначе може да пробваш със gROUp by както предложиха или LIMIT 1
 
Мдаааа пак не чета правилно. Аз с ORDER , то било с Group . Ще тествам и ще кажа. Благодаря
 
select distinct ...
Това отстранява идентичните резултати (остава само един резултат). Така всеки град ще ти го изкарва само по веднъж.
 
Това ми свърши добра работа
SELECT DISTINCT id,countries FROM countries INNER JOIN project_info ON countries.country=project_info.countries
баагодаря. Сега ми остава да направя така, че наистина да ми изкарва резултати от града, който е избран. Ако някой има идеи ще съм му благодарен. Пък някой ден ще използвате сайта ми и ще ви помага :)[/list]
 
Правиш заявки от две таблици:
http://infoman.musala.com/articles/2006-05-SQL/article.html#_Toc135738330
 

Back
Горе