Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]{MySQL] - 2 tabele - jak wyświetlić wiele danych z jednego ID
walldeck
post
Post #1





Grupa: Zarejestrowani
Postów: 78
Pomógł: 0
Dołączył: 13.03.2006
Skąd: Rogoźno Wlkp.

Ostrzeżenie: (0%)
-----


Witam.

Mam dwie tabele:
klient + przykładowe dane:

  1. CREATE TABLE `klient` (
  2. `id` int(11) NOT NULL AUTO_INCREMENT,
  3. `company` varchar(255) DEFAULT NULL,
  4. `city` varchar(100) DEFAULT NULL,
  5. `country` varchar(100) DEFAULT NULL,
  6. `postcode` smallint(20) DEFAULT '0',
  7. `street_name` varchar(100) DEFAULT NULL,
  8. `street_number` smallint(30) DEFAULT '0',
  9. PRIMARY KEY (`id`),
  10. KEY `company` (`company`)
  11. ) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=6 ;
  12.  
  13. --
  14. -- Zrzut danych tabeli `klient`
  15. --
  16.  
  17. INSERT INTO `klient` VALUES (1, 'Mediahuset', 'Vejle', 'Denmark', 9560, 'Mariagervej', 2);
  18. INSERT INTO `klient` VALUES (2, 'Nordsign', 'Hadsund', 'Denmark', 9560, 'Mariagervej', 5);
  19. INSERT INTO `klient` VALUES (3, 'abcvd', 'Arhus', 'DK', 8260, 'Albertslund', 21);
  20. INSERT INTO `klient` VALUES (4, 'KK', 'DK', 'DK', 32767, 'aaa', 21);
  21. INSERT INTO `klient` VALUES (5, 'aa', 'DK', 'DK', 32767, 'aaa', 21);


Tabela orderstatus + przykładowe dane
  1. CREATE TABLE `orderstatus` (
  2. `id` int(11) NOT NULL AUTO_INCREMENT,
  3. `confirm` datetime DEFAULT '0000-00-00 00:00:00',
  4. `ordernr` int(11) DEFAULT NULL,
  5. `pieces` int(11) DEFAULT NULL,
  6. `width` float DEFAULT NULL,
  7. `height` float DEFAULT NULL,
  8. `quantity` float DEFAULT NULL,
  9. `sendby` varchar(255) DEFAULT NULL,
  10. `technology` varchar(100) DEFAULT NULL,
  11. `dispatch` datetime DEFAULT '0000-00-00 00:00:00',
  12. `comment` varchar(255) DEFAULT NULL,
  13. `company` varchar(255) DEFAULT NULL,
  14. PRIMARY KEY (`id`),
  15. KEY `company` (`company`)
  16. ) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=7 ;
  17.  
  18. --
  19. -- Zrzut danych tabeli `orderstatus`
  20. --
  21.  
  22. INSERT INTO `orderstatus` VALUES (2, '2009-07-23 00:00:00', 4666, 120, 200, 400, NULL, 'UPS', 'jv33', '2009-08-05 00:00:00', 'Nie wiem co z tym', NULL);
  23. INSERT INTO `orderstatus` VALUES (3, '2009-08-03 00:00:00', 4989, 120, 100, 150, NULL, 'n-car', 'jv3', '2009-08-30 00:00:00', 'So far so good', NULL);
  24. INSERT INTO `orderstatus` VALUES (6, '2009-11-11 00:00:00', 777, 33, 100, 100, NULL, 'ups', 'jv22', '2009-12-12 00:00:00', 'abecedefgha', 'Nordsign');


Z tabeli orderstatus wyrzucam wszytko na ekran, do wysyłania danych słuzy mi formularz który odwołuje swie do tabeli KLIENT poprzez SELECT i stamta wyciąga jeden rekord COMPANY i ta całość wyrzucana jest na ekran.

istotny fragment kodu formularza:
  1. ........
  2. <tr>
  3. <td bgcolor="#FFFFFF">
  4.       Comment :
  5.   </td>
  6.   <td>  
  7.   <input type = "text" name = "comment" maxlength="20" size = "10"><br />
  8.  </td>
  9.   </tr>
  10. <tr>
  11. <td bgcolor="#FFFFFF" width="30%">Client</td>
  12. <td bgcolor="#FFFFFF">
  13. <?php
  14.  
  15. $result = mysql_query("SELECT company FROM klient");
  16. $link = "";
  17. while ($data = mysql_fetch_assoc($result))
  18. $link .= "<option value='".$data['company']."'>".$data['company']."</option>";
  19. echo "<select name='company' style='width:250px;'>$link></select>";
  20.  
  21. ?>
  22.  
  23.  
  24.  
  25.   </table>
  26.  
  27.  
  28.  
  29.  <input type = "submit" value = "Dodaj">
  30. </form>
  31. </center>
  32.  
  33.  
  34. </html>


Moje pytanie jest następujące:
Jak wyciągnąc i wyrzucić na ekran wiecej informacji z tabeli klient? Tzn chodzi mi o coś takiego: Wybieram z SELECTA za pomoca listy rozwijanej klienta , zapisuje to do bazy i podczas wyswietlania zawartośći chciałbym aby wraz z klientem np wyświetliło ulice i kod pocztowy z tabeli KLIENT zgodne z jego ID?
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 21.08.2025 - 08:23