Seite 3 von 4

Re: Fahrerübersicht (mittels php und DB) - brauche Hilfe

Verfasst: 10.05.2009 23:20
von Boecki91
kann mir der gerade nicht so recht vorstellen hast du nen Link wo man das sehen kann?

Re: Fahrerübersicht (mittels php und DB) - brauche Hilfe

Verfasst: 11.05.2009 08:10
von IceD
<tr class="bg3">
<!-- ENDIF -->
<td align="center" style="width: 30%;">{qualirow_gfx.DRIVERIMG}</td>
<td align="left" style="width: 70%; white-space:nowrap;">
<strong>&nbsp;{qualirow_gfx.L_PLACE}&nbsp;</strong><br />
&nbsp;{qualirow_gfx.DRIVERNAME}&nbsp;<br />
&nbsp;{qualirow_gfx.DRIVERTEAMNAME}&nbsp;
</td>
</tr>

Code: Alles auswählen

 $template->assign_block_vars('qualirow_gfx', array(
                                                                'L_PLACE'                        => $position,
                                                                'DRIVERIMG'                        => (isset($drivers[$current_driver_id]['driver_img'])) ? $drivers[$current_driver_id]['driver_img'] : '',
                                                                'DRIVERCAR'                        => (isset($drivers[$current_driver_id]['driver_car'])) ? $drivers[$current_driver_id]['driver_car'] : '',
                                                                'DRIVERNAME'                => (isset($drivers[$current_driver_id]['driver_name'])) ? $drivers[$current_driver_id]['driver_name'] : '',
                                                                'DRIVERTEAMNAME'        => (isset($drivers[$current_driver_id]['driver_team_name'])) ? $drivers[$current_driver_id]['driver_team_name'] : '')
                                                        );
hoffe das hilft, wenn ich es richtig verstanden habe, setzt er durch solch ein System solange die Struktur um, solange Datensätze in der DB vorhanden sind, allerdings versteh ich die genaue Umsetzung noch nicht.

Re: Fahrerübersicht (mittels php und DB) - brauche Hilfe

Verfasst: 11.05.2009 08:53
von mad-manne
Nunja .. vorausgesetzt du weisst in deinem Code die Variablen innerhalb einer Schleife zu(so dass auch wirklich alle Daten "ankommen"), so fehlt auf jeden Fall im Template die passende Konstruktion um die Table-Row(<tr></tr>) Die musst du in folgendes "einpacken"

Code: Alles auswählen

<!-- BEGIN qualirow_gfx -->
.. / .. (Hier dein bisheriges Tabellenkonstrukt.
<!-- END qualirow_gfx -->
Hier noch etwas Lesefutter(englisch): Template Syntax

Gruss,
Manne.

Re: Fahrerübersicht (mittels php und DB) - brauche Hilfe

Verfasst: 11.05.2009 09:11
von IceD
danke, hab grade was gefunden.

in der Vorlage ist dieses Konstrukt etwas erklärt, nur holt er sich da statische Variablen.

Bei mir siehts im Moment so aus.

Code: Alles auswählen

//Select data from database   Drivers
$sql = "SELECT *
   FROM ". DRIVERSTATS_DRIVERS_TABLE .'
   ORDER BY driver_id DESC';
$result = $db->sql_query($sql);
while ($row = $db->sql_fetchrow($result))
{
   $d_name    = $row['driver_name'];
<<hier steht noch etwas mehr>>
   $d_bi = $row['driver_birthday'];
}
/*
 * Standard Beispiel um eine Block Variable fuer das Template zu fuellen.
 * Dies wird Dir ermöglichen einen Block oder ein Array im Template darzustellen
 * Dies ist nützlich um SQL Abfragen aus der Datenbank in das Template zu überführen.

 foreach (<<hier muss irgendwie noch was rein, wahrscheinlich die Schleifenanweisung>>)
{
    $template->assign_block_vars('all_drivers', array(
// $template->assign_vars( array(
      'D_NAME'        => $d_name,
<<hier steht noch etwas mehr>>
      'D_BI'          => $d_bi,
    ));
}
Anmerkung: das im letzten Post gezeigte Bsp. stammt aus dem F1 Tip Mod und sollte kurz verdeutlichen, wo ich hinwill.

Re: Fahrerübersicht (mittels php und DB) - brauche Hilfe

Verfasst: 11.05.2009 09:19
von mad-manne
Auch wenn ich schon erste Fehler entdecken kann ...
IceD hat geschrieben:<<hier steht noch etwas mehr>>
Es wäre besser, wenn du mal deine kompletten Datei(en) verlinkst, also die PHP-Datei mit dem Code und dein Template
Bitte beachten: KB:datei

Gruss,
Manne.

Re: Fahrerübersicht (mittels php und DB) - brauche Hilfe

Verfasst: 11.05.2009 09:25
von IceD
hier: Hier (datei erstmal wieder rausgenommen, wenn sie bei Bedarf nochmal gebraucht wird, verlink ich sie wieder.

man sieht noch die alte, auskommentierte Anweisung fürs übergeben ans Template, das hat damit auch funktioniert, leider halt nur der erste oder letzte Datensatz

Re: Fahrerübersicht (mittels php und DB) - brauche Hilfe

Verfasst: 12.05.2009 09:50
von mad-manne
So ... dann will ich mal loslegen 8)

Zuerst möchte ich mal einen allgemeinen Tipp loswerden, was die Bezeichnung deiner Variablen angeht, z.B.:

Code: Alles auswählen

      'D_NAME'        => $d_name,
      'D_I_K'         => $d_i_k,
      'D_I_O'         => $d_i_o,
      'D_I_H'         => $d_i_h,
Ich würde dir dringend dazu raten etwas sinnvollere Namen zu wählen, deren Sinn du auch noch in 3 Monaten beim Lesen des Quelltextes verstehen wirst. Dabei meine ich sowohl die Variablen auf PHP-Seite, als auch die Platzhalter für die Template-Engine. Also zum Beispiel anstatt $d_i_k besser $driver_image_k oder eben anstatt D_I_K besser DRIVER_IMAGE_K.
Genaugenommen könntest du auch den Sinn des abschliessenden k noch ergänzen, da sich auch das im Moment nur dir erschliesst(aber wer weiss, wie es in 3 Monaten aussieht :wink: )

Aber jetzt zum eigentlichen Problem ...
Du gehst jeweils an 2 Stellen in deinem Code die Abfrage-Ergebnisse in einer while-Schleife durch und "baust" dort entsprechende Variablen zusammen. Diese Variablen übergibst du allerdings dann nicht innerhalb der while-Schleife, sondern erst nachdem diese beendet ist bzw. gar nicht(siehe nächster Absatz). Deshalb kann auch nur ein Datensatz im Template ankommen.

"Zwischendurch"(ab Zeile 69) hast du auch noch eine foreach-Schleife in der du ein array($some_array) durchgehst ... das array ist aber weder initialisiert noch mit irgendwelchen Werten gefüllt :roll:
Obwohl du hier richtigerweise $template->assign_block_vars nutzt, führt das aufgrund des leeren array zu gar nichts :(

FAZIT:
Du musst in beiden while-Schleifen deine "zusammengebauten" Variablen vor dem Ende der Schleife noch per $template->assign_block_vars an das Template übergeben!

Im Template musst du dann die Ausgabe deiner Datensätze jeweils in folgendes Konstrukt verpacken:

Code: Alles auswählen

<!-- BEGIN deine_fahrer -->
.. / .. (Hier dein bisheriges Tabellenkonstrukt.
<!-- END deine_fahrer -->
Die Variable deine_fahrer musst du natürlich gegen den Namen ersetzen, den du für diese Daten bei der assign_block_vars-Zuweisung benutzt hast!

Re: Fahrerübersicht (mittels php und DB) - brauche Hilfe

Verfasst: 12.05.2009 17:18
von IceD
ok, danke schonmal. werde dies berücksichtigen und bei entsprechendem Ergebnis hier wieder was dazu schreiben.

das foreach stammt aus dem Beispiel im wiki.

PS: k bedeutet klein (quasi Passbild), o beudetet Anzug (Overall) und h Helm ;)
werde das aber beherzigen.


Edit (17:55): Danke funktioniert wunderbar.

Wie du eventuell gesehen hast, hab ich da Bilderausgaben, ist es möglich da ne If then else Anweisung mit reinzubauen, sodass der Wert für Höhe und Breite aus der Config Tabelle nur dann genommen wird, wenn das Bild höher und/oder breiter ist?

Edit (19:13): nun hab ich es auch hinbekommen, dass Team Übersicht und Fahrerübersicht nicht zusammen zusehen sind (case ' ' : ).
Die weitere Gestaltung der Ansicht mache ich später weiter, da ich den momentanen Stand gut fürs ACP gebrauchen kann. Nur da gehts jetzt richtig los. Und ich versteh das wiki in dem Punkt noch nicht ganz.
Wäre erfreut, wenn mir da jemand unter die Arme greifen könnte. :roll: :oops:

Edit (21:32): so nun tritt das erste Problem auf, kann zwar die Module hinzufügen, seh sie aber nicht.

Edit (13.5./7:53): So, Module werden angezeigt, leider noch ohne Inhalt, muss da heute Nachmittag nochmal suchen.

Re: Fahrerübersicht (mittels php und DB) - brauche Hilfe

Verfasst: 14.05.2009 20:39
von IceD
habs jetzt hinbekommen, dass erstmal alles aus der DB gelesen wird. :grin:
Nun möchte ich aber das die DB vom ACP aus auch beschrieben wird, sprich das man die Settings aktuallisiert (man kann zwar hier auf absenden klicken, die Änderungen werden aber nicht übernommen). :-?
Bei den Fahrern siehts leider noch düsterer aus. Zwar hab ich die Buttons, doch da tut sich gar nix. :-? :oops:

Könnte jemand da nochmal drübersehen?


Edit (15.5./16:40): Hinzufügen kann ich jetzt, aber weder editieren noch löschen. :oops:

Re: Fahrerübersicht (mittels php und DB) - brauche Hilfe

Verfasst: 17.05.2009 08:29
von IceD
Könnte jemand von den Spezis sich mal meinem Versuch annehmen, übers ACP Datensätze zu löschen bzw. zu editieren.

Hinzufügen funktioniert, leider aber nicht das oben genannte. Da ich leider aus einem bestehenden Mod das ganze für mich adaptiert habe und sich für mich keine Unschlüssigkeiten ergeben, steh ich etwas ratlos vor dem Problem.