Може ли това да стане с по добре с ООП

shaz

Registered
Начи има една таблица с градове (Id | name) и една с юзери (Id | Name | city )

Трябва да се изкарат градовете и юзерите дето са в тях

Аз се сещам за процедурен начин

Един цикъл while който изкарва градовете и в него втори цикъл while който изкарва юзерите

сиреч

Код:
$c_result = mysql_query(SELECT FROM citys);
while ($c = mysql_fetch_array($c_result) {

  echo "$c[name]";

  $u_result = mysql_query(SELECT FROM users .. WHERE id = $c[id]);
  while ($u = mysql_fetch_array($u_result) {

  echo "$u[name]";

  }

}


Обаче този начин ми се струва че не е много добър

Та въпроса е може ли с ООП да се направи по интелигентно и да се разделят двата цикъла за да може примерно ако на друго място в сайта трябва да се принтанат градовете да се използва готова функия за това а като трябва да се принтант и юзерите в тях то към функцията за градовете да се добави тази за юзерите
 
Гледай са

До сега с ООП не съм се занимавал сериозно

Всичко съм писал процедурно и имам достатачно опит за мога да направа почти всякаква функционалност каквато се сетиш

Та правил съм какви ли не функционалности и без ООП
И сега се опитам да разбера с какво аджеба може да ми помогне ООП-а след като аз вичко мога да си го направа и процедурно

И се опитвам да видия някаква функционаност направена процедурно и направена с ООП за да разбера какви са предимствата от ООП-а


За това не мога да ти отговора на въпроса щото и аз това търса

edit: що делнахте мнинето на човека уе
 
Сам си е делнал мнението си мисля.
В горния случай освен да си направиш клас , който да ти прави заявките не виждам какво толкова може да се пипа. Но в тоя случай пак ще имаш 2 цикъла, освен ако не преработиш и БД, за да ги вадиш с един.
Имай в предвид ,че не разбирам ООП само разсъждам.
 
По въпроса ти може да се справи и само 1 функция
Можеш да дооточниш малко за функцията ако не е това!
function userCity($mode = 0) {
if ($mode == 0) {
$sql = "SELECT `kakwo` FROM `cities`";
if ($query = mysql_query($sql)) {
while($assoc = mysql_fetch_assoc($query)) {
echo $assoc['grada']."<br />";
}
}
} elseif ($mode == 1) {
$sql = "SELECT * FROM `users` LEFT JOIN (`cities`) ON (`cities`.`cityID` = `users`.`cityID`)";
if ($query = mysql_query($sql)) {
$assoc = mysql_fetch_assoc($query);
var_dump($assoc); // ВНИМАНИЕ! Тук ще ти изведе как е запълнен масива, разгледай го ако незнаеш какво прави заявката!
} else {
echo "Грешка при опит за изпълнение на заявката!".mysql_error();
}
} else {
echo "Позволени параметри за функцията 0 и 1!";
}
}

Ако нямам грешки в писането би трябвало да свърши работа. Като извикаш userCity() извежда само градовете, като извикаш userCity('1') извежда 1 масив, на който съм сложиш var_dump, ако не знаеш какво прави заявката да си отсееш резултатите.

По въпроса ти:
Може да се направи по ЕнтЕлЕгЕнтно и без ООП, въпроса е да знаеш как.

По следващия пост:
Логиката ти е, като можеш да се движим с 5 км/час защо да се движим с 100+ !
Помисли и тогава питай.

ООП е за големи проекти, в който е нужна, функционалност, бързодействие, оптимизация, сигурност и ++ на по високо ниво, с по-голямо качество, за проекти от типа сайт със система за регистрация е безмислено.

Повтарям, ако не съм разбрал какво точно трябва да прави функцията, то моля уточни!

Ако толкова ти се иска да е ООП, мога да го направя, само че отново ще има само 1-2 метод и това е.
 
Офф топик:
Уроци за ООП биха съдържали само основните синтактични разлики с обикновения код и съответно за работата в обекта. ООП-то е логика, преглеждай кодове и обмисляй защо са така, после почни да преглеждаш по-сложни и мисли за оптимизацията на по простите и след има-няма 1 - 2 месеца ако сериозно се задълбочиш и преди това имаш малко над основните познания на PHP може и да си скълъпваш твой ООП кодчета ( разбира се на ниско или средно ниво )... има 1 човек, който едно време ( не далеч в миналото ) ми каза да уча ООП-ването с езици като Java и C# тъй като те са 100% ООП-нати. Да но аз нямах тази възможност и започнах директно от PHP и видях доста зор с логиката, като тя разбира се не престава да се развива на едно определено ниво. Това е продължителен процес в безкрайността. За това научи си PHP и като дойде време да се занимаваш с проекти от рода на портали, социални мрежи и т.н можеш съвсем спокойто да се обогатиш. И най-важното, PHP тепърва прохожда в ООП както споменах по-горе, голямата крачка се очаква в PHP 6, но да видим :)
 
Значи аз си представям нещо такова като желан резултат

изкарване само на градовете да става с нещо от рода
$this -> citys();

това да прави само първия цикъл

а изкарването на юзерите в градоветае да става с нещо от рода
$this -> citys();
$this -> users();

сигурно идеята е сбъркана и няма общо с идеята на ООП-а
ако е така - зарежете..



А дали нещо се движи с 5км или 100 няма как да разбера защото тряба да видя същото нещо направено по другия начин (ООП ) за да видя разликата и преимуществата на оопа и това се опитвам да направа ама не мога да нацела правилиния път явно
 
Имам идея

Много полезно ще бъде ако някой напише една супер елементарна php & mlysql ООП ориентирана система за нови

полета - заглавие и текст;
функции - добавяне, триене, редактиране, четене;

най-елементарна без никакви стилове, картинки, дизайни и темподобни

надали ще отнеме повече от 20-30 мин на някой който в час с това
а пък ще бъде от сериозна полза
 
shaz каза:
Имам идея

Много полезно ще бъде ако някой напише една супер елементарна php & mlysql ООП ориентирана система за нови

полета - заглавие и текст;
функции - добавяне, триене, редактиране, четене;

най-елементарна без никакви стилове, картинки, дизайни и темподобни

надали ще отнеме повече от 20-30 мин на някой който в час с това
а пък ще бъде от сериозна полза


ами то няма да има смисъл да е на ООП, ако е такава системка, защото всичко може да се направи по елементарен начин :?:
 

Back
Горе