MyBB.de Forum

Normale Version: PHP Abfrage im Forum
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Seiten: 1 2
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
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.
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
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
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.
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
Bitte benutze $db->query und $db->fetch_array();
Außerdem musst du die Variablen, die du benutzen willst, also global definieren.
$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).
Wenn man mit dem gleichen Benutzer auf beide Datenbanken zugreift, kann man schon $db->query benutzen. (*Datenbank*.*Tabelle*) Toungue
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
Seiten: 1 2