Mój problem nad którym głowie się od kilku dni:
Dwie tabele Klient i orderstatus. W tabeli orderstatus rekord company typu INT który odnosi sie do tabeli klient po jego ID.
W formularzu w którym wpisuje dane do tabeli orderstatus mam takie zapytanie które wyróżniłem poniżej jako fragment kodu.
Chciałbym w tym formularzu aby było widoczne że pobieram z tabeli KLIENT rekordy company, city , postcode na ekranie natomiast w kodzie podejrzewam że byc powinno pobrane jego ID z tabeli klient aby PHP wiedziało o jakiego klienta mi chodzi. Prosze mnie poprawić jeśli sie myle.
No i tutaj zaczynają sie schody ponieważ nie wiem jak wyświetlic na ekran podczas wypełniania formularza dane istotne dla uzytkownika czyli z tabeli KLIENT company, city, postcode a w kodzie przekazać jego ID do bazy oraz wyswietlić całość z abeli orderstatus na ekran wraz z tym ID z tabeli klient wraz z tymi trzema rekordami. Sorry za złe sformułowanie ale mam nadzieje że widomo o co biega i ktoś mi pomoże z tym , bede bardzo wdzięczny.
Poniżej zrzut z dwóch tabel i fragment kodu z formularza i kod którym wyświetlam cała tabele orderstatus na ekran.
Pozdrawiam
Tabela klient
Struktura tabeli dla `klient` -- CREATE TABLE `klient` ( `id` int(11) NOT NULL AUTO_INCREMENT, `company` varchar(255) DEFAULT NULL, `city` varchar(100) DEFAULT NULL, `country` varchar(100) DEFAULT NULL, `postcode` int(255) DEFAULT '0', `street_name` varchar(100) DEFAULT NULL, `street_number` smallint(30) DEFAULT '0', PRIMARY KEY (`id`), KEY `company` (`company`) ) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=7 ; -- -- Zrzut danych tabeli `klient` -- INSERT INTO `klient` VALUES (1, 'Mediahuset', 'Vejle', 'Denmark', 9560, 'Mariagervej', 2); INSERT INTO `klient` VALUES (2, 'Nordsign', 'Hadsund', 'Denmark', 9560, 'Mariagervej', 5); INSERT INTO `klient` VALUES (6, 'Nordsign-PL', 'rogozno', 'Polska', 64610, 'Fabryczna', 7);
Tabela orderstatus
Struktura tabeli dla `orderstatus` -- CREATE TABLE `orderstatus` ( `id` int(11) NOT NULL AUTO_INCREMENT, `confirm` datetime DEFAULT '0000-00-00 00:00:00', `ordernr` int(11) DEFAULT NULL, `pieces` int(11) DEFAULT NULL, `width` float DEFAULT NULL, `height` float DEFAULT NULL, `quantity` float DEFAULT NULL, `sendby` varchar(255) DEFAULT NULL, `technology` varchar(100) DEFAULT NULL, `dispatch` datetime DEFAULT '0000-00-00 00:00:00', `comment` varchar(255) DEFAULT NULL, `company` int(255) DEFAULT NULL, PRIMARY KEY (`id`), KEY `company` (`company`) ) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=9 ; -- -- Zrzut danych tabeli `orderstatus` -- INSERT INTO `orderstatus` VALUES (8, '2009-07-29 00:00:00', 5901, 450, 120, 400, NULL, 'ups', 'jv22', '2009-08-12 00:00:00', 'proba dzialania', 0);
Fragment kodu formularza wraz z tym nieszczęsnym selectem:
<tr> <td bgcolor="#FFFFFF" width="30%">Client</td> <td bgcolor="#FFFFFF"> <?php $link = ""; $link .= "<option value='".$data['company']."','".$data['postcode']."','".$data['city']."'>".$data['company'].",".$data['postcode'].",".$data['city']."</option>"; ?> </table> <input type = "submit" value = "Dodaj"> </form>
No i całość strona główna z selectem z tabeli orderstatus, niestety przy tym kodzie co podałem rekord company ma wartośc 0 a powinien miec taka jaka wybrałem z selecta
<html> <head> <meta http-equiv="Content-type" content="text/html; charset=utf-8"></head> <?php (include "function.php"); connect(); $query="SELECT * FROM orderstatus"; $i=0; while ($i < $num) { $quantity=((($width*$height)/10000)*$pieces); $i++; echo "<b>Delivery date: $confirm </b><br>Order number: $ordernr<br>Number of pieces: $pieces<br>Width: $width<br>Height: $height<br>square meters : $quantity<br>send by: $sendby<br>technology :$technology<br>Sent from us: $dispatch<br>comments: $comment<br> Company: $company<br>"; } ?> </html>