MyBB.de Forum
PHP Abfrage im Forum - Druckversion

+- MyBB.de Forum (https://www.mybb.de/forum)
+-- Forum: Anpassungen (https://www.mybb.de/forum/forum-47.html)
+--- Forum: Plugin-Diskussionen (https://www.mybb.de/forum/forum-38.html)
+--- Thema: PHP Abfrage im Forum (/thread-12408.html)

Seiten: Seiten: 1 2


PHP Abfrage im Forum - Hans K. - 16.02.2009

Hallo zusammen,

ich habe zwar schon einiges gelesen, aber ich komme dennoch nicht dahinter, wie ich mein Problem in den Griff bekomme. Blush

Im Forum möchte ich eine Ausgabe einer anderen Datenbank anzeigen, idealerweise im Head. Die Ergebnisse werden mit einer while-Schleife ausgegeben, also habe ich auch mehr als ein Ergebnis. Mein Script beinhaltet u.a. Folgendes:
PHP-Code:
while ($row9 mysql_fetch_array($result9)) {
echo 
$row9["Ausgabe1"]. $row9["Ausgabe2"]. $row9["Ausgabe3"]. ... usw.

Wie kann ich die Ergebnisse nun in das Templade includieren?

Gruß
Hans


RE: PHP Abfrage im Forum - frostschutz - 16.02.2009

Im Template kannst du nur mit Variablen arbeiten also z.B. {$meine_variable}

Ergo müsstest du in deinem Code eine globale Variable definieren ( global $meine_variable; ) und dann dieser Variable einen Wert zuweisen, z.B. in der Schleife statt echo ein $meine_variable .= $row9["ausgabe"];

Der Wert deiner Variable wird dann ins Template eingesetzt - wobei je nach Template es auch noch erforderlich sein kann, die globale Variable in den Namespace zu holen, mit global $meine_variable; bevor das Template geladen wird. Beim headerinclude Template könnte es aber auch so klappen.


RE: PHP Abfrage im Forum - Hans K. - 16.02.2009

Hallo frostschutz,

das ich nur mit Variablen arbeiten kann, verstehe ich. Aber wo füge ich mein PHP Script ein, wo ich Variablen definieren kann? Ich muß auch noch die DB Verbindung und ein paar Ifs und Elses ausführen...?

Gruß
Hans


RE: PHP Abfrage im Forum - Megaleecher - 16.02.2009

Am besten, du beschäftigst dich mit dem schreiben von Plugins, dann du nähmlich nur noch Hoocks definieren, wo er den Code laden soll und gut ists.

Außerdem hat diese Methode den Vorteil, dass nach einem Upgrade der Dateien, die Codeänderung nicht weg ist.

MfG Megaleecher


RE: PHP Abfrage im Forum - krafdi - 16.02.2009

Ich habe für mein Forum ein kleines Plugin geschrieben welches mir ein Menü oben ausgibt. Falls das für dich Interessant ist kannst du dich bei mir Melden dann gebe ich es dir und du kannst es für dich anpassen.


RE: PHP Abfrage im Forum - Hans K. - 16.02.2009

Hallo,

na wenn es besser ist, dann auch gerne ein Plugin. Allerdings verstehe ich nicht wirklich, wie ich eine MySQL Abfrage in ein Plugin einbauen kann.
Kann ich an dieser Stelle einfach meine Abfrage einbauen?
PHP-Code:
// Diese Funktion wird aufgerufen, wenn das Plugin aktiviert wird.
function pluginname_activate()
{
while (
$row9 mysql_fetch_array($result9)) {
$ausgabe1 $row9["Ausgabe1"];
$ausgabe2 $row9["Ausgabe2"];
$ausgabe3 $row9["Ausgabe3"];
usw...
Und hier dann einige if und else Abfragen...




Sorry für die Fragen, aber ich stehe halt noch ganz am Anfang...

Gruß
Hans


RE: PHP Abfrage im Forum - StefanT - 16.02.2009

Bitte benutze $db->query und $db->fetch_array();
Außerdem musst du die Variablen, die du benutzen willst, also global definieren.


RE: PHP Abfrage im Forum - frostschutz - 16.02.2009

$db->query klappt nur bei der Datenbank, auf die auch MyBB zugreift (wobei es keine MyBB-Tabelle sein muss, andere Tabellen in derselben Datenbank gehen auch, wenn man nicht simple_select etc. verwendet). Für fremde Datenbanken (wie im OP beschrieben) müsstest du dich selbst um den Aufbau der Verbindung zu dieser Datenbank kümmern. Der zitierte Code scheint in dieser Hinsicht unvollständig ($result9 is nicht definiert).


RE: PHP Abfrage im Forum - StefanT - 16.02.2009

Wenn man mit dem gleichen Benutzer auf beide Datenbanken zugreift, kann man schon $db->query benutzen. (*Datenbank*.*Tabelle*) Toungue


RE: PHP Abfrage im Forum - Hans K. - 16.02.2009

Also hier mal das komplette Script, welches ich einbauen möchte:
PHP-Code:
include("../*Datenbankzugriff öffnen*");
$sql9="SELECT ausgabe1, ausgabe2, ausgabe3 FROM News ORDER BY Id DESC LIMIT 1";
$result9 mysql_query($sql9);

while (
$row9 mysql_fetch_array($result9)) {

if (
$row9["ausgabe1"] == "irgendwas") {

} elseif (
$row9["ausgabe1"] == "irgendwas anderes") {

} else {
}

$ausgabe1 $row9["ausgabe1"];
$ausgabe2 $row9["ausgabe2"];
$ausgabe3 $row9["ausgabe3"];

}


include(
"../*Datenbankzugriff schließen*"); 
Und wo, bzw. wie muß ich $db->query und $db->fetch_array() verwenden, sowie global definieren?
Ist denn die Stelle richtig, wo das Script eingebaut werden muß?

Ich möchte doch nur ein Ergebnis, welches an einer anderen Stelle meiner Seite bereits angezeigt wird, ebenfalls im Forum anzeigen... Cry