Dzięki za pierwsze wskazowki :-)
Za frameworki zabiore sie innym razem, na razie chce pojąć OOP, a N razy wolniejsze robienie to fakt, ale może zaprocentuje?
Wklejam _wstępny_szkielet_ klasy:
<?
include '../53/mysqlconn.inc.php';
class firma {
public $id;
public $nazwa;
public $adres;
public $telefon;
function __construct() {
$this->id = $row['id'];
$this->nazwa = $row['nazwa'];
$this->adres = $row['adres'];
$this->telefon = $row['telefon'];
} else {
}
}
function dodajFirme() {
//pomijam walidację (a moze powinno się już tearaz ją uwzględnić?)
if (mysql_query("INSERT INTO firmy SET nazwa='".$this->nazwa."', adres='".$this->adres."', telefon='".$this->telefon."' ;")) { } else {
}
}
function updateFirmy() {
if (mysql_query("UPDATE firmy SET nazwa='".$this->nazwa."', adres='".$this->adres."', telefon='".$this->telefon."' WHERE id=".$this->id." ;")) { echo 'Uaktualniono firmę.'; } else {
echo 'Nie uaktualniono firmy.'; }
}
function usunFirme() {
if (mysql_query("DELETE FROM firmy WHERE id=".$this->id." ;")) { } else {
echo 'Firma nie usunieta.'; }
}
function pokazFirme() {
echo '<LI>Nazwa: '.$this->nazwa; echo '<LI>Adres: '.$this->adres; echo '<LI>Telefon: '.$this->telefon; }
function formFirma() {
echo '<form action="" method="post">'; echo '<input type="hidden" name="id" value="'.$this->id.'"><BR>'; echo 'Nazwa: <input type="text" name="nazwa" value="'.$this->nazwa.'"><BR>'; echo 'Adres: <input type="text" name="adres" value="'.$this->adres.'"><BR>'; echo 'Telefon: <input type="text" name="telefon" value="'.$this->telefon.'"><BR>'; echo '<input type="submit" value="dodaj" name="formFirma">'; echo '<input type="submit" value="usun" name="formFirmaUsun">'; }
}
$firmaA = new firma;
if (isset($_POST['formFirma']) and
$_POST['id']=='') { $firmaA->nazwa=$_POST['nazwa'];
$firmaA->adres=$_POST['adres'];
$firmaA->telefon=$_POST['telefon'];
$firmaA->dodajFirme();
} elseif (isset($_POST['formFirma']) and
$_POST['id']!='') { $fimraA->id=$_POST['id'];
$firmaA->nazwa=$_POST['nazwa'];
$firmaA->adres=$_POST['adres'];
$firmaA->telefon=$_POST['telefon'];
$firmaA->updateFirmy();
} elseif (isset($_POST['formFirmaUsun']) and
$_POST['id']!='') { $fimraA->id=$_POST['id'];
$firmaA->usunFirme();
} else {
$firmaA->pokazFirme();
$firmaA->formFirma();
}
?>
Co do tego co chcę zrobić, to moje założenia:
1. Firmy podzielone na branze: branzaGlowna1 skladajaca sie z podBranzy1, podBranzy2 itd. (na razie dwa poziomy, ale potem bycmoze podbranze beda sie skaldac z podpodbranz), branzaGlowna2, 3, 4 itd.
2. Na stronie wyswietlają się branże główne i podbranże. Po kliknieciu na najniższy poziom (teraz podBranza, np. na podBranza3 branzyGlownej7) pokazuje sie lista firm z danej podbranzy.
3. Po kliknieciu na firme, pokazują się szczegolowe dane o firmie.
4. Teraz mozna edytować dane o tej firmie lub usunąć.
5. Po edycji/usunięciu w panelu administracyjnym zatwierdzam lub nie, ew. coś jeszcze poprawiam, jesli byla edycja. ALBO Jesli byla zalogowana uprawniona osoba, to wprowadzone zmiany od razu sa widoczne na stronie.
6. Jest też możliwość dodania firmy z dowolnego miejsca strony (czy uzytkownik jest na str glownej, czy w jakiejs branzy to moze z tego poziomu dodawac firme).
Oto co chcę zrobić. Zagadką dla mnie jest jakie korzyści osiągnę robiąc taką bazę firm w OOP ?