Scorpion2410 Geschrieben 19. April 2005 Geschrieben 19. April 2005 Hallöle... wir coden grad in der Schule zwangsweise an einem counter rum, also so in ganz einfaches dingen. Jetzt sollen wir die Ausgabe grafisch machen, mit vorgegebenen *.gif 's. Also von 0-9. Wie genau löse ich das jetzt am besten? <html> <head> <title>Counter</title> </head> <body text="#000000" bgcolor="#FFFFFF" link="#FF0000" alink="#FF0000" vlink="#FF0000"> <? $datei=fopen("counter.txt",'r'); $zeile=fgets($datei,1000); echo "Sie sind der $zeile Besucher."; $zeile++; fclose($datei); $datei=fopen('counter.txt','w'); fwrite($datei,$zeile); fclose($datei); ?> </body> </html> Wie gesagt, einfache geschichte, aber bitte keinen vollständigen Code
DX-Rated Geschrieben 19. April 2005 Geschrieben 19. April 2005 Du hast für jede Ziffer von 0-9 ein gif-Bild, richtig? Dann brauchst Du quasi nur den Zählerstand in die einzelnen Ziffern aufbrechen (Einer, Zehner, Hunderter, etc.), und für jede Ziffer das entsprechende Bild ausgeben.
Scorpion2410 Geschrieben 19. April 2005 Autor Geschrieben 19. April 2005 Also doch mit explode ? mhm, explode bricht die Zahl dann ja auseinander und ich kann die einzelne Stücke dann ja in einzelne Variablen setzen oder? Und dann mit if & else halt die zahlen ausgeben, oder geht das einfacher? Sorry, bin php-Dau
DX-Rated Geschrieben 19. April 2005 Geschrieben 19. April 2005 Für explode() brauchst Du ein Trennzeichen, und soweit meine mathematischen Kenntnisse mich nicht im Stich lassen, hat eine Integerzahl sowas nicht. Du kannst das relativ einfach mathematisch lösen. Gehen wir mal von einer dreistelligen Zahl aus. Da es sich beim Zählerstand um eine Integervariable handelt, kannst Du die Zahl durch 100 teilen, um an die Hunderter zu kommen, die Du in einer Integervariablen speicherst, denn die Nachkommstellen werden bei Integerzahlen abgeschnitten. Wenn Du die Hunderter einmal hast, sollte der Rest kein Problem sein.
TinTin Geschrieben 19. April 2005 Geschrieben 19. April 2005 substr() könnte hier dein freund werden. lass die die anzahl der zeichen ermitteln und dann kannst du dir mit substr() die einzelnen ziffern ausgeben lassen. Ciao TinTin
Scorpion2410 Geschrieben 19. April 2005 Autor Geschrieben 19. April 2005 ahh... Wobei ich mal wieder glaube unser Lehrer hat einfach nur ne Aufgabe gestellt ohne selbst eine Idee zu haben wie das gelöst wird Vielen Dank für die Hilfe, falls jemand noch einenen weiteren Tipp hat, immerher damit...
oneside Geschrieben 19. April 2005 Geschrieben 19. April 2005 $x=0; $zahlen = array(); do{ $zahlen[$x] = substr($zeile,$x,1); $x++; }while($zahlen[$x-1] != ""); foreach($zahlen as $wert){ print ("<img scr=$wert.gif width=100 height=100>"); } Da brauchst du für jede Zahl (0-9) eine .gif Datei und die wird dann ausgegeben.
Johannes Buchner Geschrieben 20. April 2005 Geschrieben 20. April 2005 bin einverstanden, aber bitte verwende in der Schleife: echo '<img src="'.$wert.'gif" width="100" height="100">'; statt <img scr ...
oneside Geschrieben 20. April 2005 Geschrieben 20. April 2005 Sicher, da hast Du Recht. habe wohl einen Dreher drinnen gehabt... Die width- und height-Attribute müssen natürlich auch noch auf die richtige Größe angepasst werden. Eine weitere Lösung wäre die GD Library um die Grafiken dynamisch zu erzeugen, was aber für Euer kleines Schulscript übertrieben und vielleicht zu anspruchsvoll sein dürfte. Gruss Oneside
Johannes Buchner Geschrieben 20. April 2005 Geschrieben 20. April 2005 Mit gd war auch mein erster Gedanke, das wär schon lustig Aber mit 10 Bildern ist es wahrscheinlich effizienter ...
kills Geschrieben 20. April 2005 Geschrieben 20. April 2005 du könntest den string auch folgendermaßen durchlaufen: $count = "0256984"; for ( $i = 0; $i < strlen( $count); $i++) { echo '<img src="$count{$i}.gif"/>'; } [/PHP]
Empfohlene Beiträge
Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren
Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können
Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!
Neues Benutzerkonto erstellenAnmelden
Du hast bereits ein Benutzerkonto? Melde Dich hier an.
Jetzt anmelden