Linuchs: Wordpress: Wie Datenbank einbinden?

Moin,

ich gebe ein Projekt ab an einen Web-Designer, der zwei DB-Tabellen des alten Projekts nutzen soll.

Leider hat der von PHP keine Ahnung und ich nicht von Wordpress (Strato)

Habe Zugang zum neuen Projekt und die DB-Tabellen per phpmyadmin importiert.

Habe auf einer Testseite diesen Code eingegeben:

<h1>Test Kalle</h1>
  <? echo "<p>Jemand da?</p>"; ?>
  <h3>die ersten fünf Mitglieder:</h3>
<?
SELECT   bezeichnung
FROM     fsd_adressen
ORDER BY bezeichnung
LIMIT 0,5;
?>
  <br>
  <h3>die ersten fünf Lied-Titel:</h3>
<?
SELECT   titel
FROM     shanty_titel
ORDER BY titel
LIMIT    0,5;
?>
  <br>

So sieht es aus:

Wieso wird echo so verkrüppelt wiedergegeben?

Und wie wird Kontakt mit der Datenbank aufgenommen?

Gruß, Linuchs

  1. Hi there,

    ich gebe ein Projekt ab an einen Web-Designer, der zwei DB-Tabellen des alten Projekts nutzen soll.

    Web-Designer? Das ist schon einmal schlecht.

    Leider hat der von PHP keine Ahnung und ich nicht von Wordpress (Strato)

    Webdesigner halt.

    Habe Zugang zum neuen Projekt und die DB-Tabellen per phpmyadmin importiert.

    Was soll das bringen? Oder, anders rum, was soll Wordpress mit zwei Tabellen anfangen? Wordpress erwartet ein bestimmte Datenbankstruktur mit klar definierten Tabellen, da passen Deine Tabellen nicht hinein. Wenn das überhaupt Sinn machen soll, dann solltest Du Deine Tabellen in ein Format exportieren, daß ein Wordpress-Plugin dann importieren kann. CSV etwa (was aber Probleme mit dem Zeichensatz machen kann). Ausserdem erwartet ein etwaiges Wordpress-Plugin die entsprechenden Felder in einer ebenso entsprechenden Reihenfolge. Das ganze ist zwar keine Raketenwissenschaft aber eben auch nicht so trivial, in dem man einfach ein paar Tabellen in phpmyadmin "importiert".

    Habe auf einer Testseite diesen Code eingegeben:

    <h1>Test Kalle</h1>
      <? echo "<p>Jemand da?</p>"; ?>
    

    Liegt wahrscheinlich an den short-open-tags, daß das so komisch daherkommt. Probier's mit <?php anstelle von <?.

    <?
    SELECT   bezeichnung
    FROM     fsd_adressen
    ORDER BY bezeichnung
    LIMIT 0,5;
    ?>
    

    was soll das werden? PHP versteht kein SQL. Du mußt zuerst eine Datenbank öffnen und dann mit der richtigen PHP-Funktion (in dem Fall mysqli_query) den Abfragestring an die Datenbank schicken.

    Und wie wird Kontakt mit der Datenbank aufgenommen?

    Das kann man da nachlesen. Mit Wordpress würde ich das aber nicht auf diese Art und Weise versuchen. Da bist Du auf dem völlig falschen Dampfer. Wordpress stellt für solche Probleme eine eigene REST-Api zur Verfügung. Das geht dann aber langsam in Richtung Raketenwissenschaft.

    Vielleicht brauchst Du das ja überhaupt nicht. Was sollen Deine Tabellen bzw. die darin enthaltenen Daten in Wordpress eigentlich machen...?

    1. Moin,

      <?php anstelle von <?.

      Hat nichts geändert.

      PHP versteht kein SQL.

      Ist mir klar. War eine Vorbereitung, weil ich hoffte, dass jemand die Verbindung zur Datenbank kennt.

      Was sollen Deine Tabellen bzw. die darin enthaltenen Daten in Wordpress eigentlich machen...?

      Bei Formular-Einträgen werden (alte Version) Werte aus der DB vorgeschlagen, wenn man Zeichen eingibt.

      Gruß, Linuchs

      1. Hi,

        <?php anstelle von <?.

        Hat nichts geändert.

        kann der Server überhaupt php?

        Wenn ja, hat die Datei eine Endung, die den PHP-Interpreter zur Bearbeitung animiert? (meist php, oder auch mal phtml)

        Ist mir klar. War eine Vorbereitung, weil ich hoffte, dass jemand die Verbindung zur Datenbank kennt.

        Das hängt u.a. von der DB ab (Postgres, Oracle, Mysql, ...).

        Dann braucht's einen connect (z.B. mysqli_connect), der die URL, den DB-Namen und die Zugangsdaten (und ggf. noch mehr) braucht.

        Da Du keine Details verraten hast, kann Dir auch keiner genaueres sagen.

        cu,
        Andreas a/k/a MudGuard

        1. Hi,

          <?php anstelle von <?.

          Hat nichts geändert.

          kann der Server überhaupt php?

          Und sind short-Tags in der ini aktiviert?

          oder etwas wie

          <?=date('Y-m-d');?>
          
      2. Hi there,

        Was sollen Deine Tabellen bzw. die darin enthaltenen Daten in Wordpress eigentlich machen...?

        Bei Formular-Einträgen werden (alte Version) Werte aus der DB vorgeschlagen, wenn man Zeichen eingibt.

        Da gibts meine Erachtens nur einen sinnvollen Weg - ein entsprechendes Wordpress-Plugin mit dieser Funktionalität suchen, dann schauen, auf welche Tabelle das zugreift bzw. in der Plugin-Konfiguration nach möglichen darauf bezugnehmenden Einstellungen suchen und dann nach eine Methode finden, die entsprechenden Einträge zu importieren. Also wie vorhin beschrieben: die Tabellendaten in ein Format exportieren, das in Wordpress eingelesen werden kann, die Daten wenn nötig (und das ist idR immer nötig) entsprechend aufbereiten und dann einlesen. Sichern vorher nicht vergessen.

        Leider kenn ich mich bei Wordpress nicht so gut aus daß ich Dir sagen könnte, welches Plugin für Dein Vorhaben geeignet ist oder ob so etwas überhaupt existiert. Nachbau wäre natürlich möglich, aber dann entsteht ein gewisser Aufwand und das hängt dann vermutlich auch von Deinem Budget ab, ob Du so etwas überhaupt willst...