Witam!
Mam pytanie odnośnie unikatowych kluczy (UNIQUE), w jaki sposób raportować najlepiej błędy i czymś co nie jest mi znane... Dla własnej nauki staram się w miarę starannie napisać mały projekt tak aby miał "ręce i nogi".
Obsługa relacje tabel:
Jeżeli mam 3 tabele Osoba, Dom, Sprzet i pomiędzy tymi tabelami zachodzi relacja typu Każdy Dom jest przypisany do jednej osoby a osoba może mieć kilka domów, w każdym domu znajduje się jakiś sprzęt więc w tej tabeli jest zawarte jaki. To Kluczem identyfikującym czyj jest Dom jest id (auto increment) rekordu w tabeli Osoba, a dla którego rekordu w tabeli Dom jest rekord w tabeli Sprzęt jest id (auto increment) tabeli Dom:
Osoba
---------
id ( auto increment )
imie
nazwisko
Dom
---------
id ( auto increment )
id_osoba ( id z rekordu tabeli Osoba )
ulica
Sprzet
---------
id ( auto increment )
id_dom ( id z rekordu tabeli Dom)
nazwa
Żeby takie coś działało to nie muszę wpisywać typu zmiennej w bazie UNIQUE ale do tego chyba to jest ? Sprawa druga to czy nie MUSI być w tabeli Sprzet id Osoby ? Czy taka relacja wystarczy ?
Podobno jednym zapytaniem można pobrać do tablicy asocjacyjnej wszystkie rekordy z tabli Dom i Sprzet dla danej Osoby tzn.:
$tablica[ "dom" ].ulica
$tablica[ "dom" ].nazwa ( nazwa sprzetu )
$tablica[ "dom2" ].ulica
$tablica[ "dom2" ].nazwa ( nazwa sprzetu )
Obsługa błędów:
Proste pytanie, jak raportujecie błędy ? Chcę połączyć się z bazą w celu pobrania nazwy użytkownika i nagle wyskakuje błąd połączenia z bazą, więc powracam do poprzedniej strony ustawiając $_SESSION[e_db] = 1; i na poprzedniej stronie sprawdzam mieszając HTML z php czy taka zmienna istnieje i odczytuje błąd i usuwam zmienną. Ale co w przypadku gdy wystąpi inny błąd np. nie ma takiego użytkownika w bazie to już nie jest błąd bazy więc $_SESSION[e_bad_user] = 1 i analogicznie... ale takich zmiennych w sesji można mieć multum przez to więc jak sobie z tym poradzić ? Mieć tablice z koda mi błędów ? np. 1 = błąd bazy, 2 = nie ma użytkownika itp ?
Mieszanie HTML z PHP
Czy mieszanie poprzez jest używane czy należy tego unikać podobno EOF to nie jeden ze "znaczników". Jest to wygodniejsze ale czy dobre ?
<php
$v = "simple for my test";
$html_code = <<<EOF
<div class="box">$nazwa</div>
EOF;
echo $html_code;
?>