![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 3 Pomógł: 0 Dołączył: 2.01.2005 Ostrzeżenie: (0%) ![]() ![]() |
Mam pytanie:
Opiszę mój dylemat na krótkim przykładzie: Stworzyłem sobie przykładową bazę danych zawierającą 3 tabele: -wykonawcy, -zamawiający, -zamówienia. W tabeli zamówienia stworzyłem dowiązania do wykonawców i zamawiająych tak, aby móc ich przypisać do konkretnego zamówienia. Teraz chcę stworzyć formularz pozwalający na dopisywanie zamówień. Chciałbym aby dopisując zamówienie była możliwość wybrania zamawiającego i wykonanwcy spośród tych, których mam już wpisanych w dwóch pierwszych tabelach. Jak to zrobić? Może nie wyrażam zbyt jasno o co chodzi, ale to dlatego, że jestem początkujący w php i nie bardzo wiem, z której strony to podejść. Z góry dziękuję za wszelką pomoc Ok, napisałem sobie taki skrypt z tymże nie pobiera on zadnych rekordów z bazy danych więc nie wiem co dalej z tym zrobić: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-2" /> <title>Zarejestruj zamówienie</title> </head> <body> <?php # Skrypt 6.10 - rejzamo.php // Ustaw tytul strony i naglówek HTML. $page_title = 'Zarejestruj zamówienie!'; include ('szablony/naglowek.inc'); if (isset($_POST['submit'])) { // Obsłuż formularz. // Zarejestruj zamówienie w bazie danych. require_once ('mysql_connect.php'); // Polacz sie z baza danych. // Utwórz funkcje wstawiajaca przed znakami specjalnymi znak odwrotnego ukosnika. function escape_data ($data) { global $dbc; // Potrzebujemy polaczenia. if (ini_get('magic_quotes_gpc')) { $data = stripslashes($data); } return mysql_real_escape_string($data, $dbc); } // Koniec funkcji. $message = NULL; // Utwórz nową, pusta zmienną. // Walidacja ID klienta. if ( (isset($_POST['klient_id']) && ($_POST['klient_id']) == 'existing') && ($_POST['existing'] > 0)) { $kl = $_POST['existing']; } else { $kl = FALSE; echo '<p><font color="red">Proszę wybrać klienta!</font></p>'; } // Sprawdz ID pracownika. if ( (isset($_POST['pracownik_id']) && ($_POST['pracownik_id']) == 'existing') && ($_POST['existing'] > 0)) { $pr = $_POST['existing']; } else { $pr = FALSE; echo '<p><font color="red">Proszę wybrać pracownika!</font></p>'; } // Sprawdz tresc zamówienia. if (empty($_POST['temat'])) { $tm = FALSE; $message .= '<p>Zapomniales podac tresc zamówienia!</p>'; } else { $tm = escape_data($_POST['temat']); } // Sprawdz cene netto. if (empty($_POST['cena_netto'])) { $cn = FALSE; $message .= '<p>Zapomniales podac cene netto!</p>'; } else { $cn = escape_data($_POST['cena_netto']); } // Sprawdz cene brutto. if (empty($_POST['cena_brutto'])) { $cb = FALSE; $message .= '<p>Zapomniales podac cene brutto!</p>'; } else { $cb = escape_data($_POST['cena_brutto']); } // Sprawdz termin wykonania. if (empty($_POST['termin_wykonania'])) { $tw = FALSE; $message .= '<p>Zapomniales okreslic termin wykonania!</p>'; } else { $tw = escape_data($_POST['termin_wykonania']); } if ($kl && $pr && $tm && $cn && $cb && $tw) { // Jezeli wszystko jest OK. // Utwórz zapytanie. $query = "INSERT INTO zamowienia (klient_id, pracownik_id, temat, cena_netto, cena_brutto, termin_wykonania) VALUES ('$kl', '$pr', '$tm', '$cn', '$cb', '$tw')"; $result = @mysql_query ($query); // Wykonaj zapytanie. if ($result) { // Jezeli zostalo ono wykonane bez przeszkód. // Wyslij maila, jezeli istnieje taka potrzeba. echo '<p><b>Zamówienie zostalo pomyslnie zarejestrowane!</b></p>'; include ('szablony/stopka.inc'); // Dolacz stopke HTML. exit(); // Opusc skrypt. } else { // Jezeli zapytanie nie zostalo wykonane. $message = '<p>Zamówienie nie zostalo zarejestrowane z powodu awarii naszego systemu.</p><p>' . mysql_error() . '</p>'; } mysql_close(); // Zamknij polaczenie z baza danych. } else { $message .= '<p>Spróbuj jeszcze raz.</p>'; } } // Koniec glównego wyrazenia warunkowego Submit. // Jezeli jest jakis komunikat o bledzie, wyswietl go na stronie. if (isset($message)) { echo '<font color="red">', $message, '</font>'; } ?> <form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post"> <fieldset><legend>Wprowadź do poniższego formularza informacje na temat zamówienia:</legend> <p><b>Klient:</b> <select name="existing"><option>Wybierz klienta</option> <?php // Pobranie wszystkich klientów i umieszczenie ich w menu rozwijanym. $query = "SELECT klient_id, CONCAT(nazwa_skrocona, ', ', miasto) AS name FROM klient ORDER BY nazwa_skrocona ASC"; $result = @mysql_query ($query); while ($row = mysql_fetch_array ($result, MYSQL_ASSOC)) { echo "<option value=\"{$row['klient_id']}\">{$row['name']}</option>\n"; } mysql_close(); // Zamknięcie połączenia z bazą danych. ?> </select> </p> <p><b>Pracownik:</b> <select name="existing"><option>Wybierz pracownika</option> <?php // Pobranie wszystkich pracowników i umieszczenie ich w menu rozwijanym. $query = "SELECT pracownik_id, CONCAT(nazwisko, ', ', imie) AS name FROM pracownicy ORDER BY nazwisko ASC"; $result = @mysql_query ($query); while ($row = mysql_fetch_array ($result, MYSQL_ASSOC)) { echo "<option value=\"{$row['pracownik_id']}\">{$row['name']}</option>\n"; } mysql_close(); // Zamknięcie połączenia z bazą danych. ?> </select> </p> <p><b>Treść zamówienia (max 255 znaków):</b> <input type="text" name="temat" size="100" maxlength="255" value="<?php if (isset($_POST['temat'])) echo $_POST['temat']; ?>" /></p> <p><b>Cena netto:</b> <input type="text" name="cena_netto" size="10" maxlength="10" value="<?php if (isset($_POST['cena_netto'])) echo $_POST['cena_netto']; ?>" /></p> <p><b>Cena brutto:</b> <input type="text" name="cena_brutto" size="10" maxlength="10" value="<?php if (isset($_POST['cena_brutto'])) echo $_POST['cena_brutto']; ?>" /></p> <p><b>Termin realizacji zamówienia:</b> <input type="text" name="termin_wykonania" size="10" maxlength="10" value="<?php if (isset($_POST['termin_wykonania'])) echo $_POST['termin_wykonania']; ?>" /></p> </fieldset> <div align="center"><input type="submit" name="submit" value="Wyslij dane" /></div> </form><!-- Koniec formularza --> <?php include ('szablony/stopka.inc'); // Dolacz stopke HTML. ?> </body> </html> </body> </html> Ten post edytował hcrusher 21.01.2005, 19:01:27 |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 12.06.2025 - 23:12 |