Autor | Zpráva | ||
---|---|---|---|
glararan Profil * |
#1 · Zasláno: 30. 10. 2011, 21:51:54
Zdravím.
Mám menší problém Mám 4 soubory A - index.php B - config.php - configs/config.php C - function.php - function/functions.php D - news.php - pages/news.php E - controller.php v A jsou includováný všechny body až na D, v bodě C není includován bod B a přesto tam využívá deklaraci z bodu B, bod E includuje bod D, kde se používá funkce z bodu C a v bodu D není opět includován bod C. jak se dá udělat, abych includoval 1x a mohl v bodě A kde jsou includovany BCE mohl u náhodných bodu využít proměné z jiného bodu, který tam je includován. |
||
Nox Profil |
#2 · Zasláno: 30. 10. 2011, 21:55:31
include_once / require_once
|
||
Rellik Profil |
#3 · Zasláno: 31. 10. 2011, 10:29:12
Pokud to všechno includuješ do A, tak je to jako by z toho byl jeden velký soubor a je jedno že proměnnou XX máš jen v B a používáš ji i v D
prostě se z toho vytvoří soubor ABCDE a pokud tam přidáš třeba ještě F tak to pořád bude jakoby jeden soubor ABCDEF. V tom případě jsou společné i všechny funkce a proměnné... Jen pokud budeš volat proměnnou YX v bodě B a ta proměnná bude až v bodě E tak je jasné že to nepůjde... ;-) Jinak ten dotaz sem nějak moc nepochopil, tak pokud potřebuješ něco jiného vyřešit, musíš líp položit otázku... :) |
||
glararan Profil * |
#4 · Zasláno: 31. 10. 2011, 13:41:31
právě include_once na config používám, ale neustále mi hází error na ty proměné, když tam dám místo proměný obsah proměné "obsah proměne" tak to je bez erroru...
|
||
Tori Profil |
#5 · Zasláno: 31. 10. 2011, 13:58:52
glararan:
„include_once na config používám, ale neustále mi hází error na ty proměné“ Jakou chybu přesně? |
||
glararan Profil * |
#6 · Zasláno: 31. 10. 2011, 14:10:08
Warning: mysql_fetch_array() expects parameter 1 to be resource, boolean given in /data/web/virtuals/8403/virtual/www/subdom/kultiras/functions/basic.php on line 13 Warning: mysql_close() expects parameter 1 to be resource, null given in /data/web/virtuals/8403/virtual/www/subdom/kultiras/functions/basic.php on line 17 1) Vypisování novinky: function viewnews($limit) { if(!$con) { echo mysql_error(); } mysql_select_db($db_realm); $query = mysql_query("SELECT * FROM News ORDER BY id DESC LIMIT $limit"); while($result = mysql_fetch_array($query)) { echo '<div class="news"><div class="news_title><div><div class="news_top"><ul><li class="icon"><img src="'.$result['icon'].'" alt="news-icon" border="0"></li><li class="entry"><h2><a href="./">'.$result['title'].'</a></h2><span class="user">'.$result['author'].'</span><span class="posted-date">'.$result['date'].'</span></li><li class="date"><span><strong>'.$result['date'].'</strong></span></li></ul></div></div></div><div class="news_container"><blockquote><dl><dd><ul><li><div class="letter_box0"></div><div class="blog-post">'.$result['message'].'</div></li></ul></dd></dl></blockquote></div></div>'; } mysql_close($con); } Config.php $db_realm = "kultiras_realm"; 2) Ukončení spojení: Functions.php mysql_close($con); Config.php $con = mysql_connect($host, $user, $pass, $port); U jiných funkcí funguje... |
||
Tori Profil |
#7 · Zasláno: 31. 10. 2011, 14:25:06 · Upravil/a: Tori
Ad „mysql_close($con);“ ve funkci viewnews - používáte globální proměnnou uvnitř funkce, to není chyba includování. Jinak pokud nepoužíváte paralelně několik db připojení ani funkci mysql_pconnect(), tak můžete a) volat mysql_close bez parametru - použije se poslední otevřené spojení, nebo b) nepoužívat mysql_close vůbec - db.spojení se odpojí automaticky při ukončení běhu skriptu.
Ad „mysql_select_db($db_realm);“ ve funkci viewnews - globální proměnná není uvnitř funkce přístupná. Používáte zároveň několik databází, že voláte tu fci až tady místo tam, kde mysql_connect? |
||
glararan Profil * |
#8 · Zasláno: 31. 10. 2011, 14:29:42
Momentálně používám jen jednu, ale pak budu používat více. Connectuju jen na jeden server, takže dám bez vnitřku.Takže do té funkce budu muset includovat config jestli tomu rozumím.
|
||
glararan Profil * |
#9 · Zasláno: 31. 10. 2011, 14:35:08
Ještě dopíší, že, když používám mysql_select_db za connectem v configu tak pak ve funkci neví, která db je zvolena...
|
||
Tori Profil |
#10 · Zasláno: 31. 10. 2011, 15:05:15
glararan:
„Takže do té funkce budu muset includovat config“ Spíš zpřístupnit globální proměnnou uvnitř funkce: global $db_realm; (Subjektivní názor: všechna nastavení bych spíš dala do jednoho strukturovaného pole, pak je myslím míň pravděpodobné, že si člověk některou z x proměnných omylem přepíše.) Další možnost je napsat si funkci, která bude mít přístup k přihl.údajům a přepínání databází (+připojení k db serveru) obstará za vás. Anebo použít nějakou databázovou vrstvu, která to už má vyřešené. |
||
glararan Profil * |
#11 · Zasláno: 31. 10. 2011, 15:40:31
Ještě, než si to napsal jsem si tam udělal ten global a fakčí to.
|
||
Časová prodleva: 13 let
|
0