Widzę następujące rozwiązanie:
niewiadomo która taryfa dotyczy którego komputera. Myślę, że dobrym pomysłem byłoby wybieranie taryfy dla komputera.
FROM assignments, nodes, tariffs WHERE assignments.userid=$id_ownera_kompa_dla_ktorego_przydzielamy_taryfę, AND assignments.tariffid = tariffs.id ) otrzymujemy pary assignments.id <=> tariffs.name tariffs.name to nazwy wyświetlane na liście
Należałoby dodać pole "assignmentsid" do tabeli "nodes" i w tym miejscu przechowywac "id" z tabeli "assignments" oczywiście dla nodes.ownerid=assignments.userid. Jeżeli user ma wiecej niz jedna taryfe to dostanie odpowiednią liczbę wyników assignments.id. Możliwe jest też przydzielenie kilku komputerom jednej taryfy, przez co komputery te dzieliły by przepustowość taryfy między siebie (chodzi mi o możliwość wygenerowania takich skryptów konfiguracyjnych na podstawie bazy LMSa). To od strony konstrukcji bazy. Jeśli chodzi o interface WWW to nalezaloby do strony gdzie edytuje się ustawienia kompa dodac listę z której wybierało by się taryfę (zapytanie SQL generujące listę możliwych do wyboru taryf dla komputera: SELECT assignments.id, tariffs.name po wyborze taryfy odpowiednie "assignments.id" należaloby przechować w dodanym polu "nodes.assignmentsid".
Druga sprawa to dodatkowe opcjonalne pole w konfiguracji komputera na publiczny adres IP (to chyba najprościej dorobić).
dodać "publicipaddr" w tabeli "nodes". - no comment Mam nadzieję ktoś coś z tego zrozumiał :) -- Michał Rak