Propojení webu s dvoumi databázemi

Úvodní stránka Fórum podpory WordPressu Pluginy (funkčnost webu) Propojení webu s dvoumi databázemi

Zvolené téma obsahuje celkem 6 odpovědí. Do diskuze (3 účastníci) se naposledy zapojil uživatel  Agent1 a poslední změna je stará 9 let, 9 měsíců.

Aktuálně je na stránce zobrazeno 7 příspěvků - 1. až 7. (z celkem 7)
  • Autor
    Příspěvky
  • #19434

    Agent1
    Participant
    Web

    Mám dva weby,dvě databáze,prakticky duplicitní pokud se jedná o strukturu,ale jiný vzhled,obrázky atd..Chtěl bych abych na webu A mohl vypisovat např.články z databáze webu B. Snažil jsem se to napsat v php,ale zkušenosti mám velice malé,tak přes všechny snahy se mi vypisovali data jen toho daného webu.přikládám i kód-vytvořil jsem soubor wp-config1.php, kde jsem nastavil připojení na druhou databázi.díky za rady

    <?php
    include 'wp-config1.php'; //načteme soubor s údaji pro připojení k db
                
    if(isset($_GET['jmeno']))
    {
    require_once(ABSPATH . 'modeling-agency.cz/wp-content/plugins/contact-form-7-to-database-extension/CFDBFormIterator.php');
    $jmeno = ($_GET['jmeno']);
    $exp = new CFDBFormIterator();
    $exp->export('modelky', array("$jmeno"));
    while ($row = $exp->nextRow())
                    {
                echo "<h2>","<center>".$row["jmeno"]."</center>","</h2>\n"; //zobrazíme nadpis
                echo "<p>".$row["prijmeni"]."</p>\n"; // zobrazíme text
                echo "<hr>";
                    }
    }
    else
    {
         $formName = 'modelky';
    $fieldNameWithFile = 'fotka-obliceje';
    require_once(ABSPATH . 'modeling-agency.cz/wp-content/plugins/contact-form-7-to-database-extension/CF7DBPlugin.php');
    $plugin = new CF7DBPlugin();
    require_once(ABSPATH . 'modeling-agency.cz/wp-content/plugins/contact-form-7-to-database-extension/CFDBFormIterator.php');
    $exp = new CFDBFormIterator();
    $exp->export($formName, array());
    
    echo "<table id='tabulka_vypis'>"; 
    
    while ($row = $exp->nextRow()) {
        $fileUrl = $plugin->getFileUrl($row['submit_time'], $formName, $fieldNameWithFile);
     $odkaz = "". $row['jmeno'] ;  
      
    echo "<td><a><img src='$fileUrl' width='150' height='155' /><br></a><a>". $row['jmeno'] ."</a></td>"; 
        if (++$mod % 4 === 0) echo "</tr><tr>";
     }
    
    echo "</table>";   }
    
    ?>
    #19445

    sjiamnocna
    Participant
    Web

    Nejsem si jist, že to v PHP půjde, obzvláště se obávám, že require neumožní provést kód z jiné domény (pokud není na stejném hostingu, a neznáte PATH), a myslím, že by bylo lepší vytvořit plugin, a do něj napsat klasický přístup do jiné DB přes connect, a potom si to dát třeba do widgetu, nebo filtrovat obsah, a ládovat to tam tímto způsobem. Další cestou je vložit na jednu stránku vždy RSS Feed (z něj vytáhnout nějaká data), a zobrazovat odkaz na celou stránku.

    Wordpress toto sám o sobě dvě DB neumožní, a nevím, jestli je to zcela správné

    Snad nejsem mimo

    #19451

    Agent1
    Participant
    Web

    No v php mi to moc zatím nejde,jelikož wordpress mi vždy načítá vlastní databázi i přes příkazy k propojení k databázi b,načítá data s databáze a.jinak domény mám na jednom hostingu.vytvořit plugin?to by si mě musel navést jakým směrem mám jít,protože návod jak vytvořit plugin najde google,ale co tam dát?zeptám se ještě takhle.dvě domény,jedna databáze,duplicitní obsah,až na slider a propojení s facebookem,zní mi to jako blbost.ale co když?díky za odpově´d

    #19456

    sjiamnocna
    Participant
    Web

    Mám pocit, že pokud použijete mysql_connect, a uložíte si připojení do proměnné, neměl by být problém. Pokud očekáváte, že budou fungovat klasické funkce pro zobrazení obsahu WP pro tuto DB, tak to ne, musíte každou informaci vytáhnout z tabulky wp_posts, bohužel, wordpress je stavěn na jednu DB…

    #19459

    admin
    Keymaster
    Web

    Co je tedy stejné a co se liší? Pokud budete chtít na webu jinou šablonu a jiné obrázky (jiné velikosti), tak nebudou databáze vlastně nikdy stejné.

    Zvážil bych ale následující možnosti:

    – Nemůžete ty weby zcela sloučit a z jednoho udělat alias? Pokud jsou téměř stejné, tak by to nemusel být takový problém?

    – Načítat obsah můžete pomocí RSS nebo protokolu XML-RPC (např. plugin Syndicate Out umožňuje synchronizaci příspěvků mezi různými weby).

    #19494

    admin
    Keymaster
    Web

    Velmi dobrý plugin je zejména ThreeWP Broadcast, nedávno vyšel přehledný návod (anglicky).

    #19547

    Agent1
    Participant
    Web

    Zkouším teď plugin multisite,pak napíšu jak to dopadlo,nebo jestli máte nějaké zkušenosti napište

Aktuálně je na stránce zobrazeno 7 příspěvků - 1. až 7. (z celkem 7)

Pokud chcete odpovědět na toto téma, musíte se nejdříve přihlásit.

WordPress – novinky, návody a zajímavosti