![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 31 Pomógł: 0 Dołączył: 6.07.2005 Skąd: Śląsk Bytom Ostrzeżenie: (0%) ![]() ![]() |
Witam Wszystkich.
Od wczoraj się grzebie szukam i szukam i jakoś znaleść nie mogę ani u siebie w kodzie ani na forum odpowiedzi jak rozwiązać mój problem. Piszę baza w której mam stuudentów pracowników przedmioty itd coś ala elektroniczny indeks, tablica ogłoszeń. Chce zrobic sobie ładnego selecta który będzie mi z jednej tabeli pobierał dane jako opcje do wyboru i ciągle wyrzuca mi ale pustą liste select otion. Oto kod: Kod tytuł naukowy: <select name="tytul_naukowy"> <?php $querry = "select skrot from tytul_naukowy where skrot like '%'"; $result = mysql_querry($querry); while ($row = mysql_fetch_array($result)) { $tytul = $row['tytul']; ?> <option value="<?php echo"$tytul"; ?>"><? echo"imie"; ?></option> <?php } ?> </select> Mam w bazie tabele tytul_naukowy z polami id skrot nazwa i chce zeby w liscie select mozna bylo wybrac jedne ze skrotwo typu: mgr inż dr prof. Nie wiem czy błąd jest w konstrukcji zapytania w php czy w samym mysql. Proszę o pomoc i rade jak napisać takiego prawidłowego selecta, który będzie z bazy generował mi listę wyboru. Drugi problem jest nieco bardziej skomplikowany i też jest bardziej z Mysql niż z php ale też nie wiem jak napisać parwidłowo formułe w php żeby moć wpisując tego naszego pracownika, któremu chcę dodawać tytuł naukowy, dodać pole adres które jest kluczem obcym odwolujadej sie do tabeli adres. Tabela pracownika ma takie pola: id, id_grupa, imie, nazwisko, username, haslo, id_adres. Klucz glowny to id. Klucze obce to id_grupa i id_adres. Tabela adres ma takie parametry: id id_user ulica nr domu miejscowosc itd Jak napisac formularz zeby dodawac pracownika w taki sposb zeby mozna bylo od razu wpisac jego adres? Czy da sie to zrobic i jesli tak to prosze o podopwoiedz. Z gory dziekuje. Mam nadzieje iz moj opis jest dosc scisly... Pracuje na Mysql 5 i php 5 |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 31 Pomógł: 0 Dołączył: 6.07.2005 Skąd: Śląsk Bytom Ostrzeżenie: (0%) ![]() ![]() |
Czyli jak to zrobic?
Najpierw musze utworzyc w formularzu dodajaceym urzytkownika formularz dodajacy jego adres, a pozniej dodawac dopiero pracownika w drugim formularzu? Sprawa jest o tyle trudna ze ta baza jest troszke skomplikowana bo musialem w niej stworzyc sporo tabel i duza ich ilosc opiera sie na kluczach obcych w zwiazku z czym ilekroc jakas bardziej strategiczna tabele chce ruszyc to przy dodawaniu danych wywala bled ze nie mozna wstawic danych ze wzgledu na klucz obcy: Kod Cannot add or update a child row: a foreign key constraint fails (`baza_fe171/pracownik`, CONSTRAINT `pracownik_ibfk_5` FOREIGN KEY (`id_adres`) REFERENCES `adres` (`id`) ON UPDATE CASCADE)1452 Jeszcze jedno pytanie - co jest lepsze przy tworzeniu kluczy obcych i czym sie kierowac tworzac je: ustawilem sobie: Kod on update cascade on delete restrict i zastanawiam sie czy nie bylo by lepsze ustawienie wszystkiego na cascade ale nie wiem za bardzo jaki to bedzie mialo wplyw na baze bo w zasadzie sporo danych z kilku tabel tylko pobieram i nie sa ruszane. Zakladajac ze dobrze mysle i ide w dobrym kierunku i bede chcial to zrobic tak jak pisze tzn. wstawic wszystkie dane lacznie z adresem za jednym zamachem w jednym formularzu ( bo chyba tak trzeba to bedzie zrobic). Jak powiazac ze soba Id_usera - czyli pracownika i id_adresu do ktorego bede te dane wiazal jako klucze obce. Jak powinna taka klauzula (kod php) wygladac? Ten post edytował Dafidov 26.03.2006, 15:42:22 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 5.10.2025 - 10:53 |