phpRS help fórum : phpRS Fórum
Hlavní diskuzní phpRS fórum. Najdete zde odpovědi na otázky týkající se provozu a instalace phpRS systému.
phpRS - redakční a informační systém
Externí databáze a načtení dat z ní - Propojení více databází
Zaslán uživatelem/kou: ZdenekPNJ (IP adresa zaznamenána)
Datum: 2011-11-14, 16:08

Zdravím,

řeším teď na webu tuto věc. Mám weby např. A, B či C do kterých například přidávám články. A k těmto článkům bych chtěl přidávat data z webu D, které by pak byly společné pro weby A, B a C.

Tzn. každý z těchto webů má samostatnou databázi a jede na samostatném phprs.

Data z databáze webu D bych volal pomocí dotazu s $GLOBALS["dbspojeniwebd"] a s pomocí předpony $GLOBALS["rspredponawebd"], které jsem nastavil v config.php.

Pak jsem do phprs_sql_to_mysql_full.php a phprs_sql_to_mysql.php přidal funkci

function phprs_sql_dbconwebd()
{
@$spojeniwebd=mysql_connect($GLOBALS["dbserverwebd"],$GLOBALS["dbuserwebd"],$GLOBALS["dbpasswebd"]);
if (!$spojeniwebd):
die('Spojeni se serverem webd nelze vytvorit! / Could not connect to webd database server!');
endif;
mysql_select_db($GLOBALS["dbnamewebd"],$spojeniwebd);
return $spojeniwebd;
}

Problém je v tom, že mi to teď volá pouze VŠECHNY data z webu D nikoliv jen ty, u kterých jsem to v dotazu nastavil. Asi jsem někde udělal chybku a nebo ještě něco opomněl.

Nevíte náhodou, jestli se to nemusí ještě někde nastavit, či se musí přidat ještě jiné fukce v phprs_sql_to_mysql_full.php a phprs_sql_to_mysql.php?

LinkedIn - Zdeněk Pikulík

Regiony ČR.cz - 1. responzivní zpravodajství z regionů ČR
Medializujeme ČESKO.cz - Revoluční program podpory a modernizace obcí ČR
Obce2020.cz - Moderní řešení profesionálního webu pro obce



Celkem upraveno 2×. Poslední úprava ZdenekPNJ v 15.11.2011 17:23.

Re: Externí databáze a načtení dat z ní - Propojení více databází
Zaslán uživatelem/kou: Lonanek (IP adresa zaznamenána)
Datum: 2011-11-15, 21:12

Taky jsem testoval na jednom webu dvě spojení s databází, ale problém je ten, že se vždy použije to poslední spojení a pak tedy nefunguje předchozí.... Snad jsem to vyoslil správně.

Já jsem použil jedno spojení pro všechny weby (tedy $GLOBALS["dbspojeni"]) a upravil si všechny dotazy, kde potřebuji použít tu kterou tabulku příslušnou rs předponou.

Pokud používám společnou tabulku (např. články) tak v základní verzi je $GLOBALS["rspredpona"]="rs_", na dalších "podsložkách" (podwebech) je $GLOBALS["rspredpona"]="rs_" pro daný web a např. $GLOBALS["rspredpona_A"]="rs_a_" pro "hlavni" web.
Pak upravit všechny dotazy na tabulku na $GLOBALS["rspredpona_A"], a to jak v uživatelské, tak i v administrační části. Lze pak takové tabulky i společně administrovat v kterékoliv části webu.
Samozřejmostí je navázat také související tabulky, v tomto případě i komentare.




* Klub kuželkářů Zálabák, Hankova 62, 503 03 Smiřice (Endora) * X X * Stránky ČZS ZO Třešňovka2 * X X * Cvičný phpRS web (WZ) * X X * Testovací phpRS web (WZ) *
* cvičná verze phpRS v 2.8.2 * X X * testovací web CMS *

Re: Externí databáze a načtení dat z ní - Propojení více databází
Zaslán uživatelem/kou: ZdenekPNJ (IP adresa zaznamenána)
Datum: 2011-11-16, 09:51

No to je právě ono, mě to taky vždy spojilo s tou poslední.

Tvoje varianta mě taky napadla a byla by asi tou nejjednodužší. Nevím však, nakolik to může mít vliv na rychlost databáze, když bych těch webů tak třeba nahrál 10, které mají návštěvnost v tisících uživatelů denně oproti tomu, když by měl každý web svou databázi.

LinkedIn - Zdeněk Pikulík

Regiony ČR.cz - 1. responzivní zpravodajství z regionů ČR
Medializujeme ČESKO.cz - Revoluční program podpory a modernizace obcí ČR
Obce2020.cz - Moderní řešení profesionálního webu pro obce

Re: Externí databáze a načtení dat z ní - Propojení více databází
Zaslán uživatelem/kou: Lonanek (IP adresa zaznamenána)
Datum: 2011-11-16, 15:45

IMHO, rychlost bude záležet na hostingu.
Za zkoušku to možná stojí. Je nutné přemýšlet o pojmenování a toho co chci mít společné......



* Klub kuželkářů Zálabák, Hankova 62, 503 03 Smiřice (Endora) * X X * Stránky ČZS ZO Třešňovka2 * X X * Cvičný phpRS web (WZ) * X X * Testovací phpRS web (WZ) *
* cvičná verze phpRS v 2.8.2 * X X * testovací web CMS *

Re: Externí databáze a načtení dat z ní - Propojení více databází
Zaslán uživatelem/kou: ZdenekPNJ (IP adresa zaznamenána)
Datum: 2011-11-18, 13:32

ZKOUŠEL JSEM TOHLE, ale stále to vypisuje pouze data z dbspojeni_moje. Nevíte někdo co s tím? Děkuji

...
b) pokud těch stránek s výstupem ze své databáze budeš mít víc, pak je lepší ty dva řádky dát do configu.php a ještě lepší vytvořit druhou funkci dbcon

$dbserver_moje="muj_dbserver";
$dbuser_moje="muj_dbuser";
$dbpass_moje="muj_dbpass";
$dbname_moje="moje_databaze";

function dbcon_moje()
{
@$spojeni_moje=mysql_connect($GLOBALS["dbserver_moje"],$GLOBALS["dbuser_moje"],$GLOBALS["dbpass_moje"]);
if (!$spojeni_moje):
echo "<div align=\"center\">Spojeni se serverem nelze vytvorit!</div>";
exit;
endif;
mysql_select_db($GLOBALS["dbname_moje"],$spojeni_moje);
return $spojeni_moje;
}

$dbspojeni_moje=dbcon_moje();

$GLOBALS["dbspojeni_moje"]=&$dbspojeni_moje;

a pak se při dotazech do své databáze budeš odkazovat na toto spojení
např.
$vysledek = MySQL_query("SELECT * FROM cisla_akci $wherea ORDER BY cislo_akce", $GLOBALS["dbspojeni_moje"]);
...

LinkedIn - Zdeněk Pikulík

Regiony ČR.cz - 1. responzivní zpravodajství z regionů ČR
Medializujeme ČESKO.cz - Revoluční program podpory a modernizace obcí ČR
Obce2020.cz - Moderní řešení profesionálního webu pro obce

Re: Externí databáze a načtení dat z ní - Propojení více databází
Zaslán uživatelem/kou: ZdenekPNJ (IP adresa zaznamenána)
Datum: 2011-11-18, 14:31

Zkusil jsem vníže uvedených funkcích přidat červeně uvedený text a funguje to, jen jediný problém, data se zobrazují ve špatné znakové sadě. Kdyby někdo věděl, jak to eliminovat, budu velice rád.

...

function phprs_sql_dbcon()
{
@$spojeni=mysql_connect($GLOBALS["dbserver"],$GLOBALS["dbuser"],$GLOBALS["dbpass"] , TRUE );
if (!$spojeni):
die('Spojeni se serverem nelze vytvorit! / Could not connect to database server!');
endif;
mysql_select_db($GLOBALS["dbname"],$spojeni);
return $spojeni;
}

...

LinkedIn - Zdeněk Pikulík

Regiony ČR.cz - 1. responzivní zpravodajství z regionů ČR
Medializujeme ČESKO.cz - Revoluční program podpory a modernizace obcí ČR
Obce2020.cz - Moderní řešení profesionálního webu pro obce



Celkem upraveno 1×. Poslední úprava ZdenekPNJ v 18.11.2011 14:32.

Re: Externí databáze a načtení dat z ní - Propojení více databází
Zaslán uživatelem/kou: ZdenekPNJ (IP adresa zaznamenána)
Datum: 2011-11-18, 14:56

Tak snad kódování vyřeší tohle. Kdyby měl někdo lepší nápad, tak napiště.

...

function dbcon_moje()
{
@$spojeni=mysql_connect($GLOBALS["dbserver_moje"],$GLOBALS["dbuser_moje"],$GLOBALS["dbpass_moje"]);
if (!$spojeni):
echo "<div align=\"center\">Spojeni se serverem nelze vytvorit!</div>";
exit;
endif;
mysql_select_db($GLOBALS["dbname_moje"],$spojeni);
mysql_query("SET CHARACTER SET utf8");
return $spojeni;
}

...

LinkedIn - Zdeněk Pikulík

Regiony ČR.cz - 1. responzivní zpravodajství z regionů ČR
Medializujeme ČESKO.cz - Revoluční program podpory a modernizace obcí ČR
Obce2020.cz - Moderní řešení profesionálního webu pro obce



Lituji, ale pouze registrovaní uživatelé mohou zasílat příspěvky do této sekce.
This forum powered by Phorum and designed by STaNBoSS.