Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Problem ze skryptem, i funkcjami, include i zmiennymi
Fallout
post
Post #1





Grupa: Zarejestrowani
Postów: 154
Pomógł: 0
Dołączył: 17.12.2003
Skąd: Olsztyn

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


Witam,

na początek listingi ,niestety rozjezdzaja sie tu na forum (IMG:http://forum.php.pl/style_emoticons/default/sad.gif)

Plik config.inc.php

  1. <?php
  2.  
  3. // system
  4. $img_sys_root = &#092;"img/sys/\";
  5. $img_prod_root = &#092;"img/prod/\";
  6. // bledy
  7. $blad = array( 'E_BASE'  => &#092;"Połącznie do bazy nie powiodło się!\",
  8. 'E_DB' => &#092;"Wybranie bazy nie powiodło się!\",
  9. 'E_QUERY' => &#092;"Pobranie danych nie powiodło się\");
  10. // baza
  11. $host = &#092;"xxxt\";
  12. $user  = &#092;"xxx\";
  13. $pass = &#092;"xxx\";
  14. $baza = &#092;"xxx\";
  15. // tabele
  16. $tab_end  = &#092;"</table>\";
  17. $cechy_tab_start = &#092;"<table border=1>
  18. <tr>
  19. <th><a href=&#092;"tabele.php?co=cechy&akcja=pokaz&jak=id_cn\">ID</a></th>
  20. <th><a href=&#092;"tabele.php?co=cechy&akcja=pokaz&jak=nazwa_cechy\">Nazwa Cechy</a></th>
  21. </tr>&#092;";
  22.  
  23. $cechy_tab_end = &#092;"<tr align=center>
  24. <td>$id_cn</td>
  25. <td>$nazwa_cechy</td>
  26.  </tr>&#092;";
  27.  
  28. $producenci_tab_start  = &#092;"<table border=1>
  29. <tr>
  30. <th><a href=&#092;"tabele.php?co=producenci&akcja=pokaz&jak=id_producent\">ID</a></th>
  31. <th><a href=&#092;"tabele.php?co=producenci&akcja=pokaz&jak=nazwa\">Nazwa Producenta</a></th>
  32. <th><a href=&#092;"tabele.php?co=producenci&akcja=pokaz&jak=www\">Adres WWW</a></th>
  33. <th>Logo</th>
  34. </tr>&#092;";
  35.  
  36. $producenci_tab_end =  &#092;"<tr align=center>
  37. <td>$id_producent</td>
  38. <td>$nazwa</td>
  39. <td>$www</td>
  40. <td><img src=&#092;"$img_prod_root$foto\"></td>
  41.  </tr>&#092;";
  42. ?>


plik tabele.php:

  1. <?php
  2. include 'tabele.inc.php';
  3. if (isset($_GET['co'])) { $co = $_GET['co']; } else $co = '';
  4. if (isset($_GET['akcja']))  { $akcja  = $_GET['akcja'];  } else $akcja  = '';
  5. if (isset($_GET['jak']))  { $jak  = $_GET['jak'];  } else $jak  = '';
  6. ?>
  7. <head>
  8. <meta http-equiv=\"content-type\" content=\"text/html; charset=iso-8859-2\">
  9. <title>Panel Administratora - Menu</title>
  10. </head>
  11. <center>
  12. <table border=\"1\">
  13. <tr><td><a href=\"tabele.php?co=cechy\"><strong>Cechy</strong></a></td></tr>
  14. <tr><td><a href=\"tabele.php?co=cechy&akcja=pokaz&jak=id_cn\">Pokaż listę cech</a></td></tr>
  15. <tr><td><a href=\"tabele.php?co=cechy&akcja=dodaj\">Dodaj cechę</a></td></tr>
  16. <tr><td><a href=\"tabele.php?co=cechy&akcja=kasuj\">Usuń cechy</a></td></tr>
  17. <tr><td><a href=\"tabele.php?co=cechy&akcja=zmien\">Popraw cechy</a></td></tr>
  18. </table> <br><br>
  19. <table border=\"1\">
  20. <tr><td><a href=\"tabele.php?co=producenci\"><strong>Producenci</strong></a></td></tr>
  21. <tr><td><a href=\"tabele.php?co=producenci&akcja=pokaz&jak=id_producent\">Pokaż listę producentów</a></td></tr>
  22. <tr><td><a href=\"tabele.php?co=producenci&akcja=dodaj\">Dodaj producenta</a></td></tr>
  23. <tr><td><a href=\"tabele.php?co=producenci&akcja=kasuj\">Usuń wpisy producentów</a></td></tr>
  24. <tr><td><a href=\"tabele.php?co=producenci&akcja=zmien\">Popraw wpisy producentów</a></td></tr>
  25. </table>
  26. <?php
  27. switch ($akcja)
  28. {
  29.  case 'pokaz':
  30.  pokaz($co,$jak);
  31.  break;
  32. }


i na koniec plik: tabele.inc.php

  1. <?php
  2.  
  3. include 'config.inc.php';
  4. function pokaz($co, $jak)
  5. {
  6. include 'config.inc.php';
  7. $p = mysql_connect($host,$user,$pass)  or Die ($blad['E_BASE']);
  8. $db = mysql_select_db($baza,$p)  or Die ($blad['E_DB']);
  9. $sql = &#092;"SELECT * FROM $co ORDER BY $jak\";
  10. $wynik = mysql_query($sql,$p)  or Die ($blad['E_QUERY']);
  11. switch ($co)
  12. {
  13. case 'cechy': echo $cechy_tab_start; break;
  14. case 'producenci': echo $producenci_tab_start; break;
  15. }
  16. while ($wiersz = mysql_fetch_array($wynik))
  17. {
  18. switch ($co)
  19. {
  20. case 'cechy':
  21. {
  22.  
  23.  $id_cn = $wiersz['id_cn'];
  24.  $nazwa_cechy = $wiersz['nazwa_cechy'];
  25. echo $cechy_tab_end;
  26. }
  27. break;
  28.  
  29. case 'producenci':
  30. {
  31. $id_producent = $wiersz['id_producent'];
  32.  $nazwa = $wiersz['nazwa'];
  33. $www = $wiersz['www'];
  34. $foto = $wiersz['foto'];
  35. echo $producenci_tab_end;
  36. }
  37. break;
  38.  
  39. }
  40. echo $tab_end;
  41. }
  42. }
  43.  
  44. ?>


A teraz problem... Nie działa (IMG:http://forum.php.pl/style_emoticons/default/biggrin.gif) heeh no dobra..
jak wida idea skryptu jest aby zrobic uniwersalna funkcje do pobierania danych z bazy. taki byl plan.. niestety nie chodzi mi to mysle ze przez to ze includowane sa zmienne.. dobrze mysle?

ten sam skrypt mam rozbity na osobne tabele i wszystko chodzi. ale jako ze tabel jest pare i roznych operacji na nich jest tez kilka chcialem sobie ulatwic zycie a tu jak na zlosc..

tu jest przyklaodwy skrypt chodzacy "osobno" dla tabeli:

  1. <?php
  2.  
  3. function cechy_pokaz($jak)
  4. {
  5. include 'config.inc.php';
  6. $p = mysql_connect($host,$user,$pass) or Die(&#092;"Połącznie do bazy nie powiodło się!\");
  7. $db = mysql_select_db($baza,$p) or Die(&#092;"Wybranie bazy nie powiodło się!\");
  8. $sql = &#092;"SELECT * FROM cechy ORDER BY $jak\";
  9. $wynik = mysql_query($sql,$p) or Die(&#092;"Pobranie danych nie powiodło się\");
  10.  echo &#092;"<table border=1>
  11. <tr>
  12. <th><a href=&#092;"t_cechy.php?akcja=pokaz&jak=id_cn\">ID</a></th>
  13. <th><a href=&#092;"t_cechy.php?akcja=pokaz&jak=nazwa_cechy\">Nazwa Cechy</a></th>
  14. </tr>&#092;";
  15. while ($wiersz = mysql_fetch_array($wynik))
  16. {
  17.  $id_cn = $wiersz['id_cn'];
  18.  $nazwa_cechy = $wiersz['nazwa_cechy'];
  19. echo &#092;"<tr>
  20. <td>$id_cn</td>
  21. <td>$nazwa_cechy</td>
  22.  </tr>&#092;";
  23. }
  24. echo &#092;"</table>\";
  25.  
  26. }
  27.  
  28. ?>


troszke sie rozni to (1. jedna tabela, 2. bez bledow w tablicy, 3. odwolania do innych plikow) ale idea jest ta sama.. ..

dodam ze przy probie wykonywania nowego skryptu (wielotabelowego) mam od cholery notice`ow o nie zadeklarowanych zmiennych np. "Notice: Undefined variable: id_cn in (...) on line 23"

prosze pomozcie, nie ma sensu robic osobnych plikow z podobnymi funkcjami (dodaj,usun,zmien,itp) dla kazdej tabli gdy tylko zmieniaja sie zmienne i tabela...

z gory dziekuje z (p)odpowiedzi
pozdrawiam
Marcin

Ten post edytował Fallout 21.02.2005, 17:52:26
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Fallout
post
Post #2





Grupa: Zarejestrowani
Postów: 154
Pomógł: 0
Dołączył: 17.12.2003
Skąd: Olsztyn

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


aha, juz zrozumialem (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) (dzieki Ci!:))

czyli musze zadeklarowac zmienna przed przypisaniem jej do innej zmiennej
zanim ja wywolam... dobra wszystko pieknie.. ale jak...

kompletnie nie wiem co zrobic.. jedynym wyjsciem bedzie wyrzucenie tego chyba do innego includa tak mi sie zdaje.. jak jakies propozycje to chetnie poczytam


dzieki

oka...

po prostu wyrzucilem to do innego pliku, i inkludowalem to po przypisaniu wartosci do zmiennej, ale przed pobraniem tej nowej zminnej ze zmienna z wartoscia (IMG:http://forum.php.pl/style_emoticons/default/biggrin.gif)

dzieki jeszcze raz,

pozdrawiam

Ten post edytował Fallout 21.02.2005, 18:15:54
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: 13.10.2025 - 07:28