Benötige Hilfe bei Web App Erstellung

Gast #5878065
Lesenswert?
• ▲
▼
Hallo Zusammen,

ich brauch mal wieder eure Unterstützung!
Es geht um folgendes, ich habe eine Web App erstellt.
Ziel ist es 1. das Datum einzugeben, 2. über ein Select Feld eine 
Station auszuwählen, 3. über Auswahlbuttons verschiedene Eingaben  zu 
machen.

Für das jeweilige Datum und die jeweilige Station sollen alle Eingaben 
der Auswahlbuttons in einer Datenbank gespeichert werden.

Zb Datum 17.06.2019 Station 3 (5x Auswahlbutton1, 3x Auswahlbutton3 usw)
Dann für jede Station bzw Datum eine neue Auswahl speichern.

Dazu habe ich bereits folgendes geschrieben (Html, PHP, SQL) :
Ich würde mich über euer Feedback und Hinweise freuen!
Vielen Dank im Voraus!

<html>

<?php
 include ("index.php");
 ?>

<head>
<title>Test WebApp</title></head>
    <meta http-equiv="content-type" content="text/html; charset=UTF-8">
    <html manifest="kaeltewagen.manifest">

<body>
<form method="post">
  <label>
     Datum:<br/>
    <input name="date" type="date" placeholder="Datum" style="height: 
50px; width: 100px;"/>
  </label>
  <label>
    <p> <form action="#"> </p>
    <label>Station:<br>
      <select name="top5" style="height: 50px; width: 100px;"/>
        <option>Station 1 </option>
        <option>Station 2 </option>
        <option>Station 3 </option>
        <option>Station 4 </option>
        <option>Station 5 </option>
      </select>

    </label>
  </form>
</main>
  <br/><br/><br/>
  <input type="button" name="button[Option1]" value="Auswahl 1" 
style="height: 50px; width: 100px;"/>
  <input type="button" name="button[Option2]" value="Auswahl 2" 
style="height: 50px; width: 100px;"/>
  <input type="button" name="button[Option3]" value="Auswahl 3" 
style="height: 50px; width: 100px;"/>
  <input type="button" name="button[Option4]" value="Auswahl 4" 
style="height: 50px; width: 100px;"/>
  <input type="button" name="button[Option5]" value="Auswahl 5" 
style="height: 50px; width: 100px;"/>

</form>



</body>
</html>

PHP Datei :

<?php
  $Option1   = +isset($_POST["button"]["Option1"]);
  $Option2   = +isset($_POST["button"]["Option2"]);
  $Option3  = +isset($_POST["button"]["Option3"]);
  $Option4  = +isset($_POST["button"]["Option4"]);
  $Option5  = +isset($_POST["button"]["Option5"]);

  $db = new PDO(
    'mysql:host=hostname;dbname=db',
    'username',
    'password'
  );

  if(($Option1 || $Option2 || $Option3 || $Option4 || $Option5 ) && 
@$_POST['name'] && @$_POST['date']){
    $sth = $dbh->prepare("INSERT INTO button_counter (name, datum, 
Option1, Option2, Option3, Option4, Option5) VALUES (?,?,?,?,?,?,?)");
    $sth->execute([$_POST['name'],$_POST['date'],$Option1,$Option2,$Option3, 
$Option4,$Option5]);
  }

  $counts = $db->execute("SELECT name, count(Option1), count(Option2), 
count(Option3), count(Option4), count(Option5) FROM button_counter GROUP 
BY name");
?>

SQL Datei :

CREATE TABLE button_counter (
  id INTEGER PRIMARY KEY,
  name VARCHAR(64) NOT NULL,
  datum DATE NOT NULL,
  savedate TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
  Option1 BIT NOT NULL DEFAULT 0,
  Option2 BIT NOT NULL DEFAULT 0,
  Option3 BIT NOT NULL DEFAULT 0,
  Option4 BIT NOT NULL DEFAULT 0
  Option5 BIT NOT NULL DEFAULT 0
);
Gast #5878073
Lesenswert?
• ▲
▼
Da das ganze auch Offline möglich sein soll bzw die Eingabedaten auch im 
Offlinebetrieb gespeichert werden sollen, habe ich mir folgendes 
überlegt :

Manifest Datei :

CACHE MANIFEST
index.php
schema.sql
WebApp_Test.html

.htaccess Datei:

AddType text/cache-manifest .manifest

Die eingegebenen Daten (Datum, Station, jeweilige Auswahl) sollen 
gespeichert werden und dann in die Datenbank geladen werden sobald das 
Gerät (Tablet/Laptop/usw) online geht.

Alle Dateien (Html, SQL, PHP, Manifest Datei, .htacsess) sind im selben 
Ordner gespeichert.

Die php Datei ist in der Html Datei eingebunden, müssen die anderen 
Dateien auch in der Html Datei eingebunden werden?
Gast #5878330
Lesenswert?
• ▲
▼
pierre schrieb:

Man kann auch auf dem Client die Daten ablegen, die sind dann nat. nur 
bei ihm verfügbar aber wenn das nur für eine Person sein soll ist das 
die einfachere Variante, brauchst kein Netz und kein MySQL.

Such mal nach:
Webstorage, sowas wie bessere Cookies, ohne Index.
IndexedDB oder WebSQL

WebSQL ist glaube ich inzw. veraltet sollte aber je nach Browser immer 
noch funktionieren.

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.