News - Features - Downloads - Forum - Team - Support - Switch View: Screen
Login - Registrierung - Passwort vergessen

Antworten: 4
Seite [1]
Atomic


King for a day




Herkunft: Weikersheim
Beiträge: 261
# Thema - 12.11.2009 um 16:19 Uhr
Hallo!

Ich lauf noch Amok und <JA> ich habe so ziemlich das ganze Forum durchforstet.

Ich lerne gerade bissl php und steh seit Stunden mittem im Wald. Egal welches andere Modul mit Template (loop) ich mir angeschaut habe, ich kapiers einfach nicht.

Vielleicht kann mit jemand ein Link schicken, für nen Einsteiger, wie das geht, oder kurz erklären, Danke.

Mal zu meinem Problem:
Ich möchte in einem template (pointview.tpl) das was im pointview.php ab Zeile 46 (Murxausgabe) geschieht, ausgeben. Als echo im php gehts ja, nur wie bewerkstellige ich das in einer seperaten tpl Datei?

Achso, nicht von den echos beeindrucken lassen, als Anfänger brauch ich die halt erstmal
Dateianhänge:
php pointview.php (2.41 KiB - 58 mal heruntergeladen )
tpl pointview.tpl (593 Byte - 24 mal heruntergeladen )
Inaktiv
Tom08 ClanSphere Team

Supporter
Supporter



Herkunft: Daheim
Beiträge: 2923
# Antwort: 1 - 12.11.2009 um 16:31 Uhr
Okay ...
Alkso erstmal zu den SQL-Abfragen:
http://wiki.clansphere.de/Function:cs_sql
Und im besonderen, http://wiki.clansphere.de/Function:cs_sql_select.

Damit wird es schon gleich viel einfacher ...

Hier mal ein Beispiel:
Dein Code
 
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
1. / 2. / ... 
 
$sql 
"SELECT * FROM `cs_users` ORDER BY `cs_users`.`users_id` ASC LIMIT 0, 300 ";
$result mysql_query($sql);
while(
$row mysql_fetch_array($result))
    {
$maxusers++; 
$userid[$maxusers] = $row['users_id'];
$usernick[$maxusers] = $row['users_nick'];
$username[$maxusers] = $row['users_name'];
echo 
'<p align ="left" style="color: #cccccc; padding: 2px 2px 2px 2px;">' " Id:" $userid[$maxusers] . " - UserName:" $usernick[$maxusers] . " Zaehler:" $maxusers;
    }


Mit den Clansphere-Funktionen:
 
1.
1. / 2. / ... 
 $cs_user cs_sql_select(__FILE__,'users','users_id, users_nick, users_name',0,'users_id ASC',0,300);


Danach kannst du die abgefragten Werte über $cs_user['users_id'], $cs_user['users_nick'] und $cs_user['users_name'] verwenden.
Eine weitere Definition dieser Werte ist bereits in der Funktion cs_sql_select enthalten.

lg,
Tom
PS: Statt von Template sprechen wir bei den TPL-Dateien von den Themes. um Verwechslungen zu vermeiden =)

/e: AbCode URL bei Links hinzugefügt


------------------
Bei Problemen mit Code von mir bitte eine Private Nachricht an mich


Zuletzt editiert von Tom08 ClanSphere Team am 12.11.2009 um 16:33 Uhr (1x Editiert)
Inaktiv
|
Atomic
Thread-Ersteller


King for a day




Herkunft: Weikersheim
Beiträge: 261
# Antwort: 2 - 12.11.2009 um 22:05 Uhr
Na klasse, ich hatte es erst mit der Clansphere-Funktion versucht, bin aber gescheitert. Vielleicht denke ich zu kompliziert? Ich finde meine Lösung jetzt garnicht kompliziert, sogar recht einfach und nach zu vollziehen.

Das wiki stellt mich nicht wirklich zufrieden, scheint mir eher so wie, das Nötigste verfasst, aber für Einsteiger in php und clansphere absolut untauglich. Da ich es mit den Clanpshere-Funktionen nicht gepackt hatte, habe ich mir mal mehrere Stunden paar php-Lernkurse (online) reingezogen.

Was ich nicht verstanden hatte war, ich nutze das:
$cs_user = cs_sql_select(__FILE__,'users','users_id, users_nick, users_name',0,'users_id ASC',0,300);
brauche ich immer noch mein resultset und die while?

und ich habe aber User X,y,z,v,w,... $userid[1], $userid[2] ist für mich logisch nachzuvollziehen, aber was soll denn $cs_user['users_id'] sein? Um die verschiedenen Daten "Namen..." nicht zu verlieren, müsste ich ja jetzt auch $run++; $userid[$run] = $cs_user['users_id']; machen, oder?

Was ich aber immer noch nicht verstehe, ist wie ich meine Ausgabe "Zeile 53" in ein Theme übergebe? Eigentlich müsste ja nur die gleiche Schleife laufen wie in Zeile 51 "eigentlich".

Okay, habe was zu loop im wiki gefunden, muss ich mal probieren.


Inaktiv
|
Tom08 ClanSphere Team

Supporter
Supporter



Herkunft: Daheim
Beiträge: 2923
# Antwort: 3 - 12.11.2009 um 22:40 Uhr
Sry ... ich bin dann nicht mehr auf die Loops eingegangen.

Nach der Abfrage:
 
1.
2.
3.
4.
5.
6.
1. / 2. / ... 
 $cnt count($cs_user);

  for (
$run 0$run $cnt$run++) {
    
$data['users'][$run]['id'] = $cs_user['users_id'];
 [...]
}

[...] da kommen noch die weiteren abgefragten Felder rein ...

Danach kannst du in den Themes {loop:users} {users:id} {stop:users} verwenden.

lg,
Tom


------------------
Bei Problemen mit Code von mir bitte eine Private Nachricht an mich


Inaktiv
|
Atomic
Thread-Ersteller


King for a day




Herkunft: Weikersheim
Beiträge: 261
# Antwort: 4 - 12.11.2009 um 23:24 Uhr
Danke, habs aber jetzt selbst geschafft und mit der vereinfachten clansphere version auch

Was mein Prob momentan ist, mom ich zeige... Angefügte Datei!

Alles ab Zeile 49 ignorieren (ich hebe gerne alles erstmal auf, das fällt mir dann einfacher, wenn ich was nachschlagen muss, wie schon erwähnt -> Anfänger)

Okay, das was im wiki steht, soll der loop ab 0 beginnen, aber nun habe ich derzeit den fall dass, wenn der loop im theme beginnt ich keine ausgabe bei 0 habe außer meine schönen Doppelpunkte und in der letzten Zeile im theme wieder meine schönen doppelpunkte.

Erst dachte ich, okay, vom count -1 abziehen, aber das ist es wohl doch nicht.

Was habe ich mir blos dabei gedacht mit php anzufangen?


Edit: Doch noch eine Frage bei der sql abfrage, nehme ich den wert 300 (bedeutet? 300 Zeilen werden gelesen) kann man hier einen klügeren Wert nehmen, z.B. 0 und er hört auf, wenn nix mehr da ist?

Edit2: thx für die Links und Hilfe. Habe alle Fehler gefunden und berichtigt.


Zuletzt editiert von Atomic am 13.11.2009 um 02:12 Uhr (2x Editiert)
Inaktiv
|
Antworten: 4
Seite [1]


Sie müssen sich registrieren, um zu antworten.


ClanSphere Project - Mailus - Imprint - Disclaimer - Scriptinfo