Stylemotion.de Forum » Archiv » apexx
weitere Tabelle aus Datenbank einbinden - wie und wo am besten?
Seiten (2): 1 2 »  
Autor Beitrag
 
amroth
Unregistrierter Benutzer
Hallo Meister Scheb,

diese Frage dürfte explizit für dich sein, da sich ja keiner so gut wie du im Code auskennt :crazy:.

Ich möchte auf meiner Seite Zitate einblenden welche sich in einer weiteren Tabelle in der apexx-Datenbank befinden.
Wo und wie würdest du diese Abfrage plazieren? Einfach eine neue in der index.php nur für die Zitate erstellen oder gibt es eine Möglichkeit diese mit der Datenbankabfrage von apexx zu verknüpfen?
 
ScHeB
Unregistrierter Benutzer
ich würde dafür ein modul schreiben, das eine template-funktion zur verfügung stellt, die zitate aus dieser tabelle holt und anzeigt :)
 
amroth
Unregistrierter Benutzer
Bin vorhin gerade nach hause gekommen, und dein Vorschlag hörte sich so gut an, dass ich ihn gleich umsetzte :D.
funktioniert alles so weit ganz gut, wenn ich jetzt quotations.php aufrufe öffnet er mir was ich will im Template was ich Ihm zugewiesen habe.
Ich möchte jedoch den Inhalt auf jeder Seite haben und wenn ich {include quotations/quotations.html} in der design_default sage, dann öffnet er mir verständlicher Weise nur das Template und nicht das Script ... Ich stehe gerade groß auf dem Schlauch, bitte großer Meister gib mir einen Tipp!

Grüße und eine gute Nacht.
 
amroth
Unregistrierter Benutzer
Wo finde ich denn die Datei die, die design_default.html füllt. Oder wie kann ich in der index.php 2 Daten an die design_default.html schicken?
 
ScHeB
Unregistrierter Benutzer
wenn du in der index.php nach der zeile:
Code:
1$apx->tmpl->parse('index','/');

variablen übergibst, dann sind diese variablen in der design_default.html verfügbar. variablen übergeben geht so:
Code:
1$apx->tmpl->assign('VARNAME','daten');
 
amroth
Unregistrierter Benutzer
hm, hm also irgendwie will der das nicht so recht, ich dachte erst es liegt daran, dass ich meine Variablen davor und nicht wie du geschrieben hast danach übergeben habe, aber es tut sich nichts. :(
Auch ein kleiner Test mit
Code:
1$apx->tmpl->assign('TEST','Testausgabe');

nach
Code:
1$apx->tmpl->parse('index','/');

in der index.php und dem dazugehörigen Aufruf in der design_default.html mit
[dode]{TEST}[/code] blieb erfolglos. Es wird nichts angzeigt.
Muss man nochmal was parsen? Oder wo könnte sich der Hund verstecken?
 
ScHeB
Unregistrierter Benutzer
hmm, du könntest es auch mal in der datei lib/class.templates.public.php versuchen. in der funktion out() kannst du mal einen assign-befehl positionieren, allerdings muss er dort lauten $this->assign();
 
amroth
Unregistrierter Benutzer
Ich bekomme die Testvariable ausgegeben, juhuu.
Nur wie bekomme ich jetzt meine Daten raus, ... :crazy: die fetch()-Funktion ist dort unbekannt, reicht es diese zu globalisieren?
Der Code den ich verwende liegt in der quotations.php so vor:
Code:
1
2
3
4
5
6
7
8
9
10
11
srand ((double)microtime()*1000000);
$random_number = rand(1,3652);

$data = $db->fetch("SELECT autor, text FROM ".PRE."_quotations WHERE id = $random_number");

foreach($data AS $res){
  $apx->tmpl->assign('AUTOR',$res['autor']);
  $apx->tmpl->assign('TEXT',$res['text']);
}

$apx->tmpl->parse('quotations');


Falls es schöner geht, nur keine Schüchternheit :hrhr: .
 
ScHeB
Unregistrierter Benutzer
global $db; reicht um an die datenbank-funktionen zu kommen.

etwas code kannst du dir noch sparen:
Code:
1
2
3
4
5
global $db;
$res = $db->first("SELECT autor, text FROM ".PRE."_quotations ORDER BY RAND() LIMIT 1");
$apx->tmpl->assign('AUTOR',$res['autor']);
$apx->tmpl->assign('TEXT',$res['text']);
$apx->tmpl->parse('quotations');
 
amroth
Unregistrierter Benutzer
:gut:

DANKE Meister.

Habe allerdings nur folgenden Code in der class.templates.public.php verwendet:
Code:
1
2
3
4
global $db;
$res = $db->first("SELECT autor, text FROM ".PRE."_quotations ORDER BY RAND() LIMIT 1");
$apx->tmpl->assign('AUTOR',$res['autor']);
$apx->tmpl->assign('TEXT',$res['text']);


und habe das LIMIT auf die maximale Zitatzahl erhöt (ist doch korrekt so oder?)

Juhuuu :cool:
Seiten (2): 1 2 »  
 
Suche Optionen
» Erweiterte Suche
Druckansicht Druckansicht