Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Counter grafisch ausgeben?!

Empfohlene Antworten

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 ;)

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.

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 :D

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.

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

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 :D

Vielen Dank für die Hilfe, falls jemand noch einenen weiteren Tipp hat, immerher damit...


$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.

bin einverstanden, aber bitte verwende in der Schleife:

echo '<img src="'.$wert.'gif" width="100" height="100">';

statt <img scr ...

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

Mit gd war auch mein erster Gedanke, das wär schon lustig :) Aber mit 10 Bildern ist es wahrscheinlich effizienter ...

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]

Archiv

Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.