Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][PHP]połączenie z 2 bazami
Forum PHP.pl > Forum > Przedszkole
dg2001
Witam,

Mam taki problem, robię stronę www firmy gdzie pracuje (tutaj link - proszę się nie śmiać haha.gif), w dziale turnusy rehabilitacyjne > nad morzem pobieram dane do wyświetlenia listy z 2 baz. Jedna lista to lista ośrodków mojej firmy pobierane z 1 bazy, a druga lista to ośrodki pobierane z drugiej spółki.

Teraz na czym rzecz polega, gdy jestem na stronie głównej mam po prawej stronie sondę (skrypt tutaj) i ona się wyświetla dobrze, jednak kiedy przejdę do działu podanego wyżej zamiast sondy mam komunikat "No database selected". Tak jakby połączenie z 1 bazą było w tym momencie zamykane.

Dodam że łączenie i zamykanie połączenia z 1 bazą mam w pliku głównym index.php, sonda includowana z pliku, a pozostałe dzialy są includowane z wartości $_GET do niego. Poniżej kod index.php
  1. <?php
  2. include("config.php");
  3. mysql_select_db($config_db, $db);
  4. ?>
  5. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  6. <html xmlns="http://www.w3.org/1999/xhtml">
  7. <head>
  8. <meta http-equiv="Content-Type" content="text/html; charset=<?php echo $config_iso; ?>" />
  9. <meta name="autor" content="Dominik Gawenda | 2010 | Zurs Sp. z o.o." />
  10. <meta name="Keywords" content="<?php echo $config_keywords; ?>" />
  11. <link href="<?php echo $config_css; ?>" rel="stylesheet" type="text/css" />
  12. <link href="css/galleryview.css" rel="stylesheet" type="text/css" />
  13. <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4/jquery.min.js"></script>
  14. <script type="text/javascript" src="java/jquery.sdrop.js"></script>
  15. <script type="text/javascript" src="java/jquery.multipleelements.cycle.js"></script>
  16. <script type="text/javascript" src="java/funkcje.js"></script>
  17. <title><?php echo $config_site_name; ?></title>
  18. </head>
  19. <body>
  20. <div id="strona">
  21. <div class="logo">
  22. <div class="nazwa">Zakład Usług Rehabilitacyjno-Socjalnych</div>
  23. <div class="zurs"></div>
  24. </div>
  25. <div class="menu" id="parameters">
  26. <ul>
  27. <li><a href="<?php echo $config_url; ?>"><b>Strona główna</b></a></li>
  28. <li><a href="?s=turnusy"><b>Turnusy rehabilitacyjne</b></a>
  29. <ul>
  30. <li><a href="?s=lista&r=morze">Nad morzem</a></li>
  31. <li><a href="?s=lista&r=gory">W górach</a></li>
  32. <li><a href="?s=lista&r=inne">W innych regionach</a></li>
  33. <li><a href="?s=kapital_ludzki" class="other">Kapitał Ludzki</a></li>
  34. <li><a href="?s=pliki" class="other">Do pobrania</a></li>
  35. </ul>
  36. </li>
  37. <li><a href="?s=profimed"><b>Profimed</b></a>
  38. <ul>
  39. <li><a href="?s=profimed&d=rehabilitacja">Rehabilitacja</a></li>
  40. <li><a href="?s=profimed&d=medycyna_pracy">Medycyna Pracy</a></li>
  41. <li><a href="?s=profimed&d=psychologia">Psychologia</a></li>
  42. <li><a href="?s=profimed&d=godziny">Godziny pracy</a></li>
  43. <li><a href="?s=profimed&d=cennik">Cennik</a></li>
  44. </ul>
  45. </li>
  46. <li><a href="?s=szkolenia"><b>Szkolenia</b></a></li>
  47. <li><a href="?s=onas"><b>O nas</b></a>
  48. <ul>
  49. <li><a href="?s=onas">O nas</a></li>
  50. <li><a href="?s=profimed">Profimed</a></li>
  51. <li><a href="?s=efs">EFS</a></li>
  52. <li><a href="?s=przetargi">Przetargi</a></li>
  53. </ul>
  54. </li>
  55. <li><a href="?s=kontakt"><b>Kontakt</b></a>
  56. <ul>
  57. <li><a href="?s=kontakt&d=mapa">Mapa dojazdu</a></li>
  58. <li><a href="?s=mail&m=1">Formularz kontaktowy</a></li>
  59. </ul>
  60. </li>
  61. </ul>
  62. </div>
  63. <div class="rotator">
  64. <div class="cycleElementsContainer" id="plainDemo">
  65. <div class="cycleElementsArrow">
  66. <a href="#" id="cycleElementsLeft"><img src="img/scroll_left.png" border="0" alt="W lewo" /></a>
  67. </div>
  68. <div id="cycleElements">
  69. <ul>
  70. <?php
  71. $osLi = mysql_query("SELECT id, skrot, miejscowosc, zdjeciem FROM osrodki WHERE aktywny = '1' ORDER by RAND(), miejscowosc, skrot LIMIT 10 ");
  72. while($liDane = mysql_fetch_assoc($osLi)) {
  73. echo '<li><a href="?s=os&id='.$liDane['id'].'"><img src="img/os/'.$liDane['zdjeciem'].'" height="40px" border="0" class="img" alt="&raquo;" />'.$liDane['skrot'].'<br /><span>'.$liDane['miejscowosc'].'</span></a></li>';
  74. }
  75. ?>
  76. </ul>
  77. </div>
  78. <div class="cycleElementsArrow">
  79. <a href="#" id="cycleElementsRight"><img src="img/scroll_right.png" border="0" alt="W prawo" /></a>
  80. </div>
  81. </div>
  82. </div>
  83. <div id="content">
  84. <div class="dzial">
  85. <?php
  86. echo dzial($_GET['s'],$_GET['r'],$_GET['d'],$_GET['id']);
  87. ?>
  88. </div>
  89. <div id="lewa">
  90. <?php
  91. if(isset($_GET['s'])) {
  92. if(file_exists("modes/".$_GET['s'].".inc")) {
  93. include("modes/".$_GET['s'].".inc");
  94. } else {
  95. header("Location: ".$config_url);
  96. exit();
  97. }
  98. } else {
  99. include('modes/news.inc');
  100. }
  101. ?>
  102. </div>
  103. <div id="prawa">
  104. <div class="box1" style="text-align:center">
  105. Powiększ tekst na stronie<br /><br />
  106. <a href="#" class="fontSizePlus"><img src="img/font_up.png" border="0" title="Powiększ tekst" alt="Powiększ tekst" /></a>
  107. <a href="#" class="fontReset"><img src="img/font_reset.png" border="0" title="Domyślna wielkość tekstu" alt="Zmniejsz tekst" /></a>
  108. <a href="#" class="fontSizeMinus"><img src="img/font_down.png" border="0" title="Zmniejsz tekst" alt="Zmniejsz tekst" /></a>
  109. </div>
  110. <?php
  111. if($mod_szukaj != 0) {
  112. echo '<div class="box1"><b>&raquo; Szukaj:</b><br /><br />';
  113. if($_POST['szukaj']) {
  114. header("Location: ?s=szukaj&co=".$_POST['coszukam']);
  115. exit();
  116. }
  117. echo '<script type="text/javascript">
  118. function sprawdzSzukaj(szukaj) {
  119. if (szukaj.coszukam.value.length < 3) { alert("Wpisz minimum 3 litery!"); return false; }
  120. reg = /^[\D]+$/;
  121. wyn = szukaj.coszukam.value.match(reg);
  122. if (wyn == null) { alert("Proszę wpisać tylko litery!"); return false; }
  123. return true;
  124. }
  125. </script>';
  126. echo '<form action="'.$SCRIPT_NAME.'" method="post" onSubmit="return sprawdzSzukaj(this);" name="szukaj">';
  127. echo 'Wpisz szukane słowo (min. 3 litery):<br /><input type="text" name="coszukam" class="sz_pole" /><br /><input type="submit" name="szukaj" value="OK" class="sz_buton"><br style="clear:right" /></form>';
  128. echo '<a href="?s=szukaj&m=1">&raquo; Szukanie zaawansowane</a></div>';
  129. }
  130. include('modes/sonda.inc');
  131. ?>
  132. </div>
  133. <br style="clear:both" />
  134. </div>
  135. <div class="stopka">
  136. <div class="box">
  137. <div class="topic"><a href="?s=turnusy">Turnusy Rehabilitacyjne:</a></div>
  138. <ul>
  139. <li><a href="?s=lista&r=morze">Nad morzem</a></li>
  140. <li><a href="?s=lista&r=gory">W górach</a></li>
  141. <li><a href="?s=lista&r=inne">W innych regionach</a></li>
  142. <li><a href="?s=kapital_ludzki">Kapitał Ludzki</a></li>
  143. <li><a href="?s=pliki">Do pobrania</a></li>
  144. </ul>
  145. </div>
  146. <div class="box">
  147. <div class="topic"><a href="?s=profimed">Profimed:</a></div>
  148. <ul>
  149. <li><a href="?s=profimed&d=rehabilitacja">Rehabilitacja</a></li>
  150. <li><a href="?s=profimed&d=medycyna_pracy">Medycyna Pracy</a></li>
  151. <li><a href="?s=profimed&d=psychologia">Psychologia</a></li>
  152. <li><a href="?s=profimed&d=godziny">Godziny pracy</a></li>
  153. <li><a href="?s=profimed&d=cennik">Cennik</a></li>
  154. </ul>
  155. </div>
  156. <div class="box">
  157. <div class="topic"><a href="?s=szkolenia">Szkolenia:</a></div>
  158. </div>
  159. <div class="box">
  160. <div class="topic"><a href="?s=onas">O nas:</a></div>
  161. <ul>
  162. <li><a href="?s=onas">O nas</a></li>
  163. <li><a href="?s=profimed">Profimed</a></li>
  164. <li><a href="?s=efs">EFS</a></li>
  165. <li><a href="?s=przetargi">Przetargi</a></li>
  166. </ul>
  167. </div>
  168. <br style="clear:both;" />
  169. <div class="copyright">Copyright &copy; 2010 ZURS Sp. z o.o. | Autor: <?php echo $config_autor; ?> | v.<?php echo $config_versja; ?> | Strona przystosowana dla przeglądarek: FF 3+, IE 8</div>
  170. </div>
  171. </div>
  172. </body>
  173. </html>
  174. <?php
  175. ?>


Reszta w następnym poście bo się nie mieści haha.gif

Plik config.php

  1. <?php
  2. include("errors.php");
  3. include("funkcje.php");
  4.  
  5. //baza danych
  6. $config_db = "baza1";
  7. $config_dbuser = "baza1";
  8. $config_dbpass = "baza1";
  9. $config_dbhost = "localhost";
  10. $db = mysql_connect($config_dbhost, $config_dbuser, $config_dbpass);
  11.  
  12. $config_site_name = "ZURS Sp. z o.o.";
  13. $config_url = "http://kapital.zurs.pl";
  14. $config_iso = "iso-8859-2";
  15. $config_css = "css/szablon.css";
  16. $config_css_drukuj = "css/drukuj.css";
  17. $config_autor = "Dominik Gawenda";
  18. $config_versja = "2.1a";
  19. $config_keywords = "turnusy rehabilitacyjne, w polsce, rehabilitacja, niepełnosprawni, wypoczynek, kcotr, zurs, wyjazdy, pcpr, mops, ops, dofinansowania, turnusy pełnopłatne, borowina alpejska, inwalida, inwalidzkie, wypoczynek dla niepełnosprawnych, wypoczynek + rehabilitacja, organizator, ośrodki rehabilitacyjne, profimed, przychodnia profimed, badania internistyczne, badania kardiologiczne, badania okulistyczne, badania otolaryngologiczne, badania neurologiczne, badania chirurgiczne, badania dermatologiczne, badania reumatologiczne, badania psychiatryczne, badania profilaktyczne pracowników, badania wstępne, badania okresowe, badania kontrolne, medycyna pracy, zabiegi pielęgniarskie, sanatoria, sanatorium, turnus rehabilitacyjny, turnusy, pełnopłatne, badania EKG, badania USG, badania audiometryczne, badania spirometryczne, poradnia endokrynologiczna, poradnia alergologiczna, zakład rehabilitacji leczniczej, psychologia";
  20.  
  21. //moduły
  22. $mod_drukuj = 1;
  23. $mod_pdf = 1;
  24. $mod_komentarze = 1;
  25. $mod_znajomi = 1;
  26. $mod_pytanie = 1;
  27. $mod_os_kcotr = 1;
  28. $mod_szukaj = 1;
  29. $mod_pliki = 1;
  30. $mod_sonda = 1;
  31. ?>


i plik gdzie generowana jest lista ośrodków
  1. <?php
  2. //plik: lista.inc | autor: Dominik Gawenda | data: 14.04.2010 14:30
  3. switch ($_GET['r']) {
  4. case 'morze':
  5. $region = 'MORZE';
  6. break;
  7. case 'gory':
  8. $region = 'GÓRY';
  9. break;
  10. case 'inne':
  11. $region = 'INNE';
  12. break;
  13. }
  14. ?>
  15. <div class="box">
  16. <div class="title">
  17. <div class="topic">&raquo; Lista ośrodków z regionu <b><?php echo $region; ?></b></div>
  18. <div class="ico"><a href="drukuj.php?a=lista&r=<?php echo $_GET['r']; ?>" target="_blank"><img src="img/printer.png" border="0" title="Drukuj" alt="Drukuj" /></a><a href="pdf.php?a=lista&r=<?php echo $_GET['r']; ?>" target="_blank"><img src="img/pdf.png" border="0" title="Zapisz jako PDF" alt="Zapisz jako PDF" /></a></div><br style="clear: both;" />
  19. </div>
  20. <script type="text/javascript">function okno(url) {window.open(url, "", "status = 1, height = 500, width = 400, resizable = 1, scrollbars = 1" )}</script>
  21. <?php
  22. $osLista = mysql_query("SELECT * FROM osrodki WHERE region = '".$_GET['r']."' AND aktywny = '1' ORDER by miejscowosc, skrot ");
  23. $osIle = mysql_num_rows($osLista);
  24. if($mod_os_kcotr != 0) {
  25. if($osIle > 0) {
  26. while($osDane = mysql_fetch_assoc($osLista)) {
  27. echo '<div class="pozycja"><a href="?s=os&id='.$osDane['id'].'"><div class="img"><img src="img/os/'.$osDane['zdjeciem'].'" border="0" height="30px" width="45" alt="'.$odDane['skrot'].'" /></div>';
  28. echo '<div class="skrot">'.$osDane['skrot'].'</div><div class="miejsce">'.$osDane['miejscowosc'].'</div>';
  29. echo '<div class="inwalida">'.imgInwalida($osDane['inwalida']).'</div></a>';
  30. echo '<div class="slonce">'.imgSlonce($osDane['sloneczko']).'</div><br style="clear: both;" /></div>';
  31. }
  32. }
  33.  
  34. $config_kdb = "baza2";
  35. $config_kdbuser = "baza2";
  36. $config_kdbpass = "baza2";
  37. $config_kdbhost = "localhost";
  38. $kdb = mysql_connect($config_kdbhost, $config_kdbuser, $config_kdbpass);
  39. mysql_select_db($config_kdb, $kdb);
  40. $okLista = mysql_query("SELECT * FROM kcotr_osrodek WHERE region = '".$_GET['r']."' AND aktywny = '1' AND firma = 'KCOTR' ORDER by miejscowosc, skrot ");
  41. $okIle = mysql_num_rows($okLista);
  42. if($okIle > 0) {
  43. echo '<div class="title" style="margin-top: 30px;"><div class="topic">&raquo; <a href="http://www.kcotr.pl/?id=lista&region='.$_GET['r'].'&m=1" target="_blank">Krajowe Centrum Organizacji Trunusów Rehabilitacyjnych</a></div>';
  44. echo '<div class="ico"></div><br style="clear: both;" /></div>';
  45. while($okDane = mysql_fetch_assoc($okLista)) {
  46. echo '<div class="pozycja_kcotr"><a href="http://www.kcotr.pl/?id=karta&region='.$_GET['r'].'&pokaz='.$okDane['id'].'" target="_blank"><div class="img_kcotr"><img src="img/osrodek.png" alt="" border="0" /></div>';
  47. echo '<div class="skrot_kcotr">'.$okDane['skrot'].'</div><div class="miejsce_kcotr">'.$okDane['miejscowosc'].'</div>';
  48. echo '<div class="inwalida_kcotr">'.imgInwalida_s($okDane['inwalida']).'</div></a>';
  49. echo '<div class="slonce_kcotr">'.imgSlonce_s($okDane['sloneczko']).'</div><br style="clear: both;" /></div>';
  50. }
  51. }
  52. mysql_close($kdb);
  53. } else {
  54. if($osIle == 1) {
  55. $osDane = mysql_fetch_assoc($osLista);
  56. header("Location: ?s=os&id=".$osDane['id']);
  57. exit();
  58. } else if($osIle > 1) {
  59. while($osDane = mysql_fetch_assoc($osLista)) {
  60. echo '<div class="pozycja"><a href="?s=os&id='.$osDane['id'].'"><div class="img"><img src="img/os/'.$osDane['zdjeciem'].'" border="0" height="30px" width="45" alt="'.$odDane['skrot'].'" /></div>';
  61. echo '<div class="skrot">'.$osDane['skrot'].'</div><div class="miejsce">'.$osDane['miejscowosc'].'</div>';
  62. echo '<div class="inwalida">'.imgInwalida($osDane['inwalida']).'</div></a>';
  63. echo '<div class="slonce">'.imgSlonce($osDane['sloneczko']).'</div><br style="clear: both;" /></div>';
  64. }
  65. } else {
  66. echo $error_os_lista;
  67. }
  68. }
  69. ?>
  70. </div>
everth
Myślę że poniższe powinno rozjaśnić sprawę:
  1. $jednaBaza = new PDO($config_tej_bazy);
  2. $drugaBaza = new PDO($config_tej_bazy);
  3.  
  4. $sth1 = $jednaBaza->query("Select * from Pierdu"); //elementy bazy 1
  5. $sth2 = $drugaBaza->query("Select * from Rzyg"); //elementy bazy 2
  6.  
  7. foreach ($sth1 as $row) {
  8. $row_druga_baza = $sth2->fetch();
  9. if ($row_druga_baza) {
  10. echo "O k***rwa";
  11. } else {
  12. echo "Eee tam";
  13. }
  14. }
dg2001
hmmm... cóż za ironia w skrypcie haha.gif

Szczerze to nie pomogło, ale poczytam sobie o PDO (PHP Data Objects) winksmiley.jpg nie znam smile.gif i nie wiem czy mi pomoże smile.gif

Już dobie dałem rady smile.gif przy każdym mysql_query w sądzie dopisałem z którego połączenia ma korzystać winksmiley.jpg

@everth
dzięki za chęci winksmiley.jpg znów się czegoś nowego dowiedziałem winksmiley.jpg
everth
Jeśli to jest twój skrypt - z kodu wnioskuję że tak to zapomnij o funkcjach mysqli_* czy pg_* i stosuj PDO. Bo wcześniej czy później skończy się to przepisywaniem całości.
dg2001
Cytat(everth @ 28.07.2010, 14:28:37 ) *
Jeśli to jest twój skrypt - z kodu wnioskuję że tak to zapomnij o funkcjach mysqli_* czy pg_* i stosuj PDO. Bo wcześniej czy później skończy się to przepisywaniem całości.


Okej dzięki za radę. Jednak nie znam PDO, ale tak jak pisałem wcześniej czas się za to wziąć smile.gif
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.