# Erweiterter Rechner(Calculator) PHP, MySQL, AJAX.



## BloodSteam (18. März 2018)

Moin,
ich will rein Rechner schreiben bzw scripten.
Mit Rechner meine Ich sowas wie ein erweiterten Taschenrechner und kein PC.

Ich brauche grundsätzlich Hilfe bei der Funktionsweise und bei ein paar anderen Sachen.
Bin ein PHP und MySQL Anfänger. Nicht total unwissend aber weit von allwissend entfernt.

Ich hab eine MySQL Tabelle mit ingame Items drin.



			Dieser Inhalt steht nur eingeloggten Mitgliedern zur Verfügung.
        



Auf der Seite sind Items von der MySQL aufgelistet und es folgend funktionieren:
Der User kann bis zu 6 Items auswählen, die Items sollen dann zusammengerechnet werden und das Ergebniss soll in einer Tabelle angezeigt werden.
Edit fiddle - JSFiddle

Wie Ich es mir vorstelle:
Ich müsste durch ein "click event" die Items wählen ähnlich wie bei einer Checkbox (Jedoch ohne <input> Elemente).
Mit der Zeilen ID könnte Ich jedes Element in der MySQL Tabelle auswählen und von der ID alle Kolumne sowie Zellen auf "empty" prüfen und in ein Array hinzufügen.
Dieses Array würde dann zusammengerechnet werden und ein Ergebniss in der "Status Tabelle" in HTML bzw im <td> Element angezeigt.

Mein Problem ist jetzt, wie mache Ich ein Click event ohne <form> zu benutzen was auch "Code Injection" verhindert. Bzw das keiner den Code ändern kann und via Jquery meine ganze Tabelle zerfetzt.

Die Frage wäre noch, soll dieses Array lieber in PHP berechnet werden oder in Jquery? Bei einem "Browser Spiel" wäre PHP die einzige möglichkeit, mich interessiert es wie stark die Auslastung sein wird wenn Ich es via PHP berechne und da 50 Leute oder mehrere herum klicken.


----------



## Gimmick (18. März 2018)

Habe zwar noch nie was mit php gemacht, aberein paar Gedanken zur Logik:

Ein click-event findet auf der Clientseite statt, die Rechnung auf dem Server. 
Du musst also auf dem Server bei einer Anfrage schauen was in der MySQL-Datenbank steht -> das an den Client schicken -> der zeigt das an -> da wählt der User was aus -> die 6 Zahlen gehen an den Server -> der fragt die Datenbank ab oder weiß schon was drin steht -> rechnet das aus -> sendet wieder an Client.

Imo(!) hat das Userinterface garnichts mit dem Server oder der Datenbank zu tun. Du musst also per javascript(?) nur die Auswahl zur Verfügung stellen und die entsprechende Funktion auf dem Server aufrufen. Ajax sollte hier das Stichwort sein. Findet man bestimmt was im Inet zu ^^.


----------



## BloodSteam (19. März 2018)

So dachte Ich es auch, ist WEIIITTTTTT komplizierter. Dabei muss man für das "zusammenrechnen" ein Array benutzen, wenn man zb "var array = [];" und "array.push(InputVar)" macht, fiegt da ein String rein und keine "Zahl" zum rechnen.
Hab alles schon gemacht, jetzt nur noch zusammenrechnen und paar andere kleine Sachen.


----------



## Gimmick (19. März 2018)

In php kann man garantiert auch strings einfach in int casten. 
Schleife drüber und fertig :X


----------



## DataDino (20. März 2018)

Eine Möglichkeit, von String zu Integer zu casten:

```
$cast[0] = (int) $cast[0];
```
Kann man in einer Schleife machen.


----------



## BloodSteam (24. März 2018)

Danke schön aber Ich brauche keine Hilfe mehr. Ich hab es auf meine Art behoben. Den Server für solche rechnungen zu benutzen ist unsinn.


----------



## Gimmick (24. März 2018)

BloodSteam schrieb:


> Danke schön aber Ich brauche keine Hilfe mehr. Ich hab es auf meine Art behoben. Den Server für solche rechnungen zu benutzen ist unsinn.



Es ist dann kein Unsinn, wenn die Datenbank aktuell sein muss und/oder beim Ergebnis nicht betrogen werden darf .


----------



## BloodSteam (24. März 2018)

Gimmick schrieb:


> Es ist dann kein Unsinn, wenn die Datenbank aktuell sein muss und/oder beim Ergebnis nicht betrogen werden darf .



Wenn du auf meiner Seite was rechnest dann betrügst du mich oder dich selber wenn du was im Script änderst?


----------



## Gimmick (24. März 2018)

BloodSteam schrieb:


> Wenn du auf meiner Seite was rechnest dann betrügst du mich oder dich selber wenn du was im Script änderst?



Hm? Ich weiß nicht, was Du da genau machst, oder was am Ende dabei rauskommen soll. Ich wollte nur darauf aufmerksam machen, dass die Sinnigkeit von Server/Client vom Vorhaben abhängt .


----------

