Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP] Pobieranie danychz bazy
psychol1986
post
Post #1





Grupa: Zarejestrowani
Postów: 47
Pomógł: 0
Dołączył: 29.10.2008

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


Witam mam taki problem, mam 2 tabele

rates - przetrzymuje nazwy walut
currencies - przetrzymuje daty, wartości walut i id waluty

Wybrałem sobie wszystkie dane takim zapytaniem:

select currencies.name, rates.date, rates.rate from currencies, rates where rates.currency_id = currencies.id

I teraz chciałbym wyprodukować taką oto tabelkę

nazwa waluty | data początkowa | wartość dla daty początkowej | data końcowa | wartość dla daty końcowej

jednak nie mogę sobie z tym poradzić bo każdy wiersz z zapytania to osobna tablica. Od razu mówie że w tabeli rates jest kilka odwolan do jednej waluty z tabeli currencies. Sprawa pewnie jest prosta ale jestem początkujący wiec.... Będę wdzięczny za pomoc.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
psychol1986
post
Post #2





Grupa: Zarejestrowani
Postów: 47
Pomógł: 0
Dołączył: 29.10.2008

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


  1. $link = mysql_connect($host, $user, $pass);
  2. if(!$link){
  3. echo 'Błąd połączenia z bazą';die;
  4. }
  5. mysql_select_db($db_name);
  6.  
  7. mysql_query("SET NAMES utf8");
  8.  
  9. $query = 'select currencies.name, rates.date, rates.rate from currencies, rates where rates.currency_id = currencies.id';
  10. $result = mysql_query($query);
  11.  
  12.  
  13.  
  14. ?>
  15.  
  16.  
  17. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
  18. <html>
  19. <head>
  20. <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  21. <title></title>
  22. </head>
  23. <body>
  24. <table>
  25. <tr>
  26. <td>Pole 1</td>
  27. <td>Pole 2</td>
  28. <td>Pole 3</td>
  29. </tr>
  30.  
  31. <?php
  32. while($row = mysql_fetch_assoc($result))
  33. {
  34. echo '<tr>';
  35. echo '<td>'.$row['name'].'</td>';
  36. echo '<td>'.$row['date'].'</td>';
  37. echo '<td>'.$row['rate'].'</td>';
  38. echo '</tr> ';
  39. }
  40. ?>
  41.  
  42. </table>
  43. </body>
  44. </html>


a tabele wyglądają tak:

  1. SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO";
  2.  
  3. /*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
  4. /*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
  5. /*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
  6. /*!40101 SET NAMES utf8 */;
  7.  
  8.  
  9. CREATE TABLE IF NOT EXISTS `currencies` (
  10. `id` int(11) NOT NULL AUTO_INCREMENT,
  11. `code` char(3) NOT NULL,
  12. `name` varchar(32) NOT NULL,
  13. PRIMARY KEY (`id`)
  14. ) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=6 ;
  15.  
  16. INSERT INTO `currencies` (`id`, `code`, `name`) VALUES
  17. (1, 'USD', 'United States dollar'),
  18. (2, 'JPY', 'Japanese yen'),
  19. (3, 'GBP', 'Pound sterling'),
  20. (4, 'PLN', 'Polish zloty'),
  21. (5, 'CAD', 'Canadian dollar');
  22.  
  23. CREATE TABLE IF NOT EXISTS `rates` (
  24. `id` int(11) NOT NULL AUTO_INCREMENT,
  25. `currency_id` int(11) NOT NULL,
  26. `date` date NOT NULL,
  27. `rate` decimal(8,5) NOT NULL,
  28. PRIMARY KEY (`id`)
  29. ) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=16 ;
  30.  
  31. INSERT INTO `rates` (`id`, `currency_id`, `date`, `rate`) VALUES
  32. (1, 1, '2010-02-02', '1.32601'),
  33. (2, 2, '2010-02-02', '119.27520'),
  34. (3, 3, '2010-02-02', '0.88664'),
  35. (4, 4, '2010-02-02', '4.00257'),
  36. (5, 5, '2010-02-02', '1.58608'),
  37. (6, 1, '2010-02-03', '1.33940'),
  38. (7, 2, '2010-02-03', '120.48000'),
  39. (8, 3, '2010-02-03', '0.89560'),
  40. (9, 4, '2010-02-03', '4.04300'),
  41. (10, 5, '2010-02-03', '1.60210'),
  42. (11, 1, '2010-04-08', '1.32960'),
  43. (12, 2, '2010-04-08', '123.76000'),
  44. (13, 3, '2010-04-08', '0.87500'),
  45. (14, 4, '2010-04-08', '3.84980'),
  46. (15, 5, '2010-04-08', '1.34070');
  47.  
  48.  


Ten post edytował psychol1986 10.02.2011, 13:31:22
Go to the top of the page
+Quote Post

Posty w temacie


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

 



RSS Aktualny czas: 9.10.2025 - 07:01