Kilka pytań odnośnie PHP i MySQL

0

Witam, tworze interfejs do bazy danych i w związku z postępem prac mam coraz więcej watpliwosci i pytan ;) Baze mam zrobiona w phpmyadmin.Postaram sie pisać jak najbardziej zwięźle i zrozumiale, mimo poznej pory ;)

1.Mam dwie tabele - 'cele' oraz 'wiezniowie' . I tabele te polaczone sa relacja nr_celi -> nr_celi. W tabeli wiezniowie moge dodac wieznia i wstawic nr_celi = 500. Mimo,że takiego numeru w tabeli 'cele' nie ma to i tak zapytanie jest poprawne. Jak to zmienic ?

  1. Interfejs mam tak zrobiony,że np wchodzac na podstronę 'podglad' wybieramy w formularzu html(lista rozwijana) tabele i dostajemy jej podgląd. Dodajać rekordy, wybieramy najpierw tabele w formularzu, a nastepnie w zaleznosci od wybranej opcji w formularzu wczytuje sie odpowiedni skrypt - inny dla kazdej z opcji. Np wybieram 'cela' to odpala sie plik cela_dodaj.php itd W tym pliku mam kolejny formularz, gdzie wpisuje poszczegolne pola aby dodac rekord - I tu pytanie - Czy gdy stworze opcje - DODAJ TABELE bede w stanie w samym php zrobic tak aby ta tabela byla widoczna w liscie formularzu, i co wazniejsze jak w takim wypadku dodawac rekordy? Tu do obecnych tabeli mam dla kazdej inny plik ktory odpowiada za dodanie rekordu przez formularz, a co zrobic gdy dodam nowa tabele? Podobne pytanie mozna zadac odnosnie DODAWANIA NOWEGO POLA W TABELI.Jak je potem uwzglednic w formularzu itd. Jesli nie da rady zrobic tego w samym php to odpuszczam.A jesli da czy duzo z tym pracy?

3.I jeszcze cos odnosnie html. Mam plik style.css gdzie mam zapisany styl menu wraz z jego polozenie. Wchodzac na strone glowna wszystko jest ok(na gorze obrazek, nizej menu) - przechodzac do jakiejs podstrony wszystko mi sie rozlatuje - menu jest na miejscu obrazka, a obrazek ucieka na prawa czesc monitora - wystarczy ze odswieze okno przegladarki i juz jest dobrze. Jak to zrobic zeby nie trzeba bylo odswiezac ?

Z gory dziekuje za pomocne odp ;) Mam nadzieje,że to dobry dział ;P bo jak dla mnie to już nie jest newbie :D

0

Odnośnie pytania pierwszego:
Musisz ustawić klucz obcy (CONSTRAINT FOREIGN KEY) na polach które mają być spójne z obcą tabelą.
Domyślny silnik w MySQL (<5.5.5) to MyISAM, który nie obsługuje constraint'ów. Zmień silnik tabel na InnoDB.
http://dev.mysql.com/doc/refman/5.5/en/innodb-foreign-key-constraints.html

0

Tylko jak to ustawic w phpmyadmin... Silnik mam ustawiony, ale te constrainty to nie wiem..

0

Wybierasz sobie dowolną tabelę, później 'Struktura', potem pod wypisanymi wszystkimi polami w tabeli jest 'Widok relacyjny'. Tam to definiujesz...

pozdrawiaMM

1 użytkowników online, w tym zalogowanych: 0, gości: 1