keine doppelten Bilder
Tomster
- php
Erstmal Sorry für die Themenbeschreibung! wusste nicht wie ich es beschreiben soll.
Also, ich habe nur sehr bedingt Ahnung von PHP und bräuchte mal eure Hilfe bei der Bewältigung eines "kleinen" Problemes:
Ich habe hier eine Funktion bekommen, welche mir, in diesem Beispiel, Tore einer Gastmannschaft anzeigt und wenn vorhanden, wird auch ein Spielerbild angezeigt. In einem Formular werden die Daten alá
1:0;Tom Baier;
2:0;Ralf Kuba
eingetragen. Also es muss immer dieser Trenner ";" vorhanden sein nach dem Ergebnis um den folgenden Spielernamen zu lesen und dann zu schauen ob ein Spielerbild mit dem Namen vorhanden ist. Dann muss ich nach dem Spielernamen wieder den Trenner einfügen (wenn es mehrere Torschützen gibt), damit auch bei dem nächsten Eintrag nach dem Spielerbild gesucht wird.
$TsGast = split(',', $Gast);
foreach($TsGast as $val)
{
$val = trim($val);
$link = 'img/'.$val.'.jpg';
if(file_exists($link)) {
$link = 'img/'.$val.'.jpg';
$link = ersetzen($link);
$TsGastStr = $TsGastStr.'<img src="'.$link.'"> '.$val;
} else {
$link = 'img/'.$val.'.gif';
if(file_exists($link)) {
$link = 'img/'.$val.'.gif';
$link = ersetzen($link);
$TsGastStr = $TsGastStr.'<img src="'.$link.'"> '.$val;
} else {
$TsGastStr = $TsGastStr.' '.$val;
}
}
}
Nun wollte ich noch vor dem Spieler immer ein Bild einfügen mit der Variable $torbild, welches ein kleines Symbol mit einem ball ist.
$TsGast = split(',', $Gast);
foreach($TsGast as $val)
{
$val = trim($val);
$link = 'img/'.$val.'.jpg';
if(file_exists($link)) {
$link = 'img/'.$val.'.jpg';
$link = ersetzen($link);
$TsGastStr = $TsGastStr.$torbild.'<img src="'.$link.'"> '.$val;
} else {
$link = 'img/'.$val.'.gif';
if(file_exists($link)) {
$link = 'img/'.$val.'.gif';
$link = ersetzen($link);
$TsGastStr = $TsGastStr.$torbild.'<img src="'.$link.'"> '.$val;
} else {
$TsGastStr = $TsGastStr.' '.$torbild.$val;
}
}
}
Nun wird aber wenn es mehrere Torschützen gibt, siehe oben, durch den Trenner ";" immer zwei kleine Bildchen angezeigt. Vor dem Spielernamen und dahinter auch.
Hoffe ich habe es ein wenig verständlich erklärt und hoffe das mir jemand einen Tipp geben kann was da falsch ist. Oder ist diese Funktion allgemein nicht richtig?
Gruß Tom
Hi Tom,
oder soll ich Dich chris nennen? *SCNR*, kam mir so bekannt vor...
Nun wollte ich noch vor dem Spieler immer ein Bild einfügen mit der Variable $torbild, welches ein kleines Symbol mit einem ball ist.
$TsGast = split(',', $Gast);
foreach($TsGast as $val)
{
$val = trim($val);
$link = 'img/'.$val.'.jpg';
if(file_exists($link)) {
$link = 'img/'.$val.'.jpg';
$link = ersetzen($link);
$TsGastStr = $TsGastStr.$torbild.'<img src="'.$link.'"> '.$val;
} else {
$link = 'img/'.$val.'.gif';
if(file_exists($link)) {
$link = 'img/'.$val.'.gif';
$link = ersetzen($link);
$TsGastStr = $TsGastStr.$torbild.'<img src="'.$link.'"> '.$val;
} else {
$TsGastStr = $TsGastStr.' '.$torbild.$val;
}
}
}Nun wird aber wenn es mehrere Torschützen gibt, siehe oben, durch den Trenner ";" immer zwei kleine Bildchen angezeigt. Vor dem Spielernamen und dahinter auch.
Ja, das hast Du so programmiert. $torbild brauchst Du nur in dem letzten else-Zweig.
So wie Du es gemacht hast, setzt Du das Bildchen ja in jedem Fall, ob der aktuelle
Array-Value jetzt ein Spielername oder ein Spielstand ist.
LG
Hi Tom,
oder soll ich Dich chris nennen? *SCNR*, kam mir so bekannt vor...
Nein brauchst du nicht, weil ich es mir aus diesem Beitrag kopiert habe und bei mir auch eingebaut habe. Nur wollte ich nicht bei diesem Beitrag weitermachen, weil der so weit unten ist und da dann evtl. keiner mehr antwortet, verstehst du?
Ja, das hast Du so programmiert. $torbild brauchst Du nur in dem letzten else-Zweig.
Ich habe doch das nicht programmiert! Dazu bin ich doch zu...?!
Habe es auch nur im letzten else zweig drin gehabt, funkioniert aber auch nicht so wie ich will, weil er nach jedem "Trenner" das bild einfügt. Heißt also, wenn der eintrag so aussieht: 1:0;Tom Müller; dann sieht es so aus mit Bild aus: Bild-1:0 Tom Müller-Bild
Danke
Und was hast du mein Wink mit dem Zaunpfahl, also GAG gesehen bzw. bemerkt?
Hi Tom,
Nein brauchst du nicht, weil ich es mir aus diesem Beitrag kopiert habe und bei mir auch eingebaut habe. Nur wollte ich nicht bei diesem Beitrag weitermachen, weil der so weit unten ist und da dann evtl. keiner mehr antwortet, verstehst du?
Du weißt aber, wie die Mods hier gerne mal auf Doppelpostings reagieren?
Ich habe doch das nicht programmiert! Dazu bin ich doch zu...?!
Dann wird es Zeit für einen Blick ins Manual
Habe es auch nur im letzten else zweig drin gehabt, funkioniert aber auch nicht so wie ich will, weil er nach jedem "Trenner" das bild einfügt. Heißt also, wenn der eintrag so aussieht: 1:0;Tom Müller; dann sieht es so aus mit Bild aus: Bild-1:0 Tom Müller-Bild
Nein, nicht nach jedem. Sonst würde daraus Bild-1:0-Bild-Tom Müller-Bild
Lass Dir das ganze Array mal mit print_r ausgeben, dann siehst Du auch warum.
Kleiner Tipp noch: da Du keinen regulären Ausdruck brauchst, nutze explode, statt split.
LG
Habe es auch nur im letzten else zweig drin gehabt, funkioniert aber auch nicht so wie ich will, weil er nach jedem "Trenner" das bild einfügt. Heißt also, wenn der eintrag so aussieht: 1:0;Tom Müller; dann sieht es so aus mit Bild aus: Bild-1:0 Tom Müller-Bild
Nein, nicht nach jedem. Sonst würde daraus Bild-1:0-Bild-Tom Müller-Bild
Lass Dir das ganze Array mal mit print_r ausgeben, dann siehst Du auch warum.
Kleiner Tipp noch: da Du keinen regulären Ausdruck brauchst, nutze explode, statt split.LG
Hallo danke Dir erstmal, aber wie gesagt ich verstehe nur Bahnhof. Wenn ich es so mache wie oben beschrieben, dass die Eingabe so erfolgt:
1:0;Tom Müller;
2:0;Tom Müller;
3:0;Tom Müller
Dann erfolgt die Ausgabe so:
Bild-1:0 Tom Müller-Bild
2:0 Tom Müller-Bild
3:0 Tom Müller
Also ich kann es ehrlich nicht verstehen und weiß nicht was du meinst. Kannst du es evtl. etwas verständlicher ausdrücken? Es verändert auch nicht wenn ich explode benutzte...
Trotzdem Danke für deine Hilfe
Hi,
Hallo danke Dir erstmal, aber wie gesagt ich verstehe nur Bahnhof.
Bitte schön, aber wie gesagt, da hilft ein Blick ins Manual
(...und so ein kleines Script ist doch quasi wie geschaffen für den Einstieg...)
»»Wenn ich es so mache wie oben beschrieben, dass die Eingabe so erfolgt:
1:0;Tom Müller;
2:0;Tom Müller;
3:0;Tom MüllerDann erfolgt die Ausgabe so:
Bild-1:0 Tom Müller-Bild
2:0 Tom Müller-Bild
3:0 Tom Müller
Sieht doch schon ganz gut aus, die Zeilenumbrüche stimmen halt nicht.
»»Es verändert auch nicht wenn ich explode benutzte...
Sollte es auch nicht, split benutzt man, wenn man einen String anhans eines regulären
Ausdruckes splitten will. Du hast ja nur ein Trennzeichen. Das mit split zu
machen ist quasi mit Kanonen auf Spatzen schießen.
LG
Bitte schön, aber wie gesagt, da hilft ein Blick ins Manual
(...und so ein kleines Script ist doch quasi wie geschaffen für den Einstieg...)
Ja schon, aber nach was soll ich denn da gucken, wenn ich nicht weiß was ich machen soll? Da steht alles über php drin...
»»Wenn ich es so mache wie oben beschrieben, dass die Eingabe so erfolgt:
1:0;Tom Müller;
2:0;Tom Müller;
3:0;Tom MüllerDann erfolgt die Ausgabe so:
Bild-1:0 Tom Müller-Bild
2:0 Tom Müller-Bild
3:0 Tom MüllerSieht doch schon ganz gut aus, die Zeilenumbrüche stimmen halt nicht.
Doch schon. Wenn ich nämlich die Eingabe so mache (oder wie meinst du?):
1:0;Tom Müller
;2:0;Tom Müller
;3:0;Tom Müller
Dann bekomme ich das:
Bild-1:0-Bild-Tom Müller
Bild-2:0-Bild-Tom Müller
Bild-3:0-Bild-Tom Müller
Also irgendwie kapier ich das nicht...