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 |
|
|
|
Dafidov Zapytaniem php do bazy jako wybor opcji formularza 25.03.2006, 18:36:36
nospor mysql_querry - nie ma takiej funkcji
jest: mysql... 25.03.2006, 18:54:36
Dafidov Lepszp rydz niż nic jak to mówią.
Query działa - d... 25.03.2006, 22:23:31
kanan Jesli adres jest kluczem obcym, to by bylo mozliwe... 26.03.2006, 15:09:09
kanan Nie rozumiem jednego, w jakim aspekcie uzywasz adr... 26.03.2006, 16:32:59
Dafidov Baza ktora tworze posiada tabele adres, do ktorej ... 26.03.2006, 17:01:24
nospor W formularzu podajesz wszystkie dane: adres i prac... 26.03.2006, 17:10:31
Dafidov Zaczytałem się w manualu php
No to jest pewna nie... 26.03.2006, 18:12:59
nospor LAST_INSERT_ID zwraca ci ostatnio dodane id do baz... 26.03.2006, 18:58:30
Dafidov Troche mi to czasu zajelo ale niestety wywala mi b... 26.03.2006, 21:10:23
nospor nasze niedopatrzenie. nie : LAST_INSERT_ID a: LAS... 26.03.2006, 21:14:04
Dafidov Chyba się sam juz URATOWAŁEM
Przyspałem że ma być... 26.03.2006, 21:19:14
nospor ja bym ci proponowal stworzyc tablicę mapującą. mo... 26.03.2006, 21:25:36
Dafidov Myśle że przenosin to już wystarczy jak na jeden t... 26.03.2006, 21:41:09
nospor CytatMyśle że przenosin to już wystarczy jak na je... 26.03.2006, 21:50:03
Dafidov No to trzeba bedzie poszperac troche
No ale jak j... 26.03.2006, 23:25:36
nospor To się nazywa tranzakcje:
http://dev.mysql.com/doc... 27.03.2006, 08:35:44
Dafidov Poczytałem troszkę w manualu i niestety nasuwa mi ... 27.03.2006, 21:08:18
nospor begin, commit i rollback to zwykle zapytania mysql... 27.03.2006, 22:11:04
Dafidov Dziekuje za pomoc.
Z tym klopotem juz sobie poradz... 29.03.2006, 08:52:27 ![]() ![]() |
|
Aktualny czas: 27.12.2025 - 10:57 |