Ankündigung

Einklappen
Keine Ankündigung bisher.

Daten Eingabe und Bezug

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Daten Eingabe und Bezug

    Hallo miteinander, ich bin neu in der Materie und stehe vor einem Problem...


    Ich habe die SuFu benutzt und leider nichts gefunden...
    ich möchte gerne ein digitales Fahrtenbuch führen und habe soweit auch fast alles hinbekommen bis auf die Möglichkeit die Daten (bspw letzter Fahrer, gefahrene Km) einzutragen und bspw. Kilometer zu überschreiben...


    Die Ausgabe soll mir sagen, dass z.B. Thomas ist mit dem Fahrzeug VW (ID:25) X Kilometer gefahren.

    Ich habe das nun mal stark gekürzt, da dort eigtl noch mehr Fahrzeuge hinterlegt waren was ich auch nicht hinkriege ist eine alphabetische Sortierung, ich verstehe allerdings nicht wieso er das nicht machen möchte...

    Ich hoffe ich bin hier richtig und mir kann jemand helfen.

    Gibt es Kurse oder Bücher zu empfehlen, die ein schmales Portmonee nicht zum sprengen motivieren? In Raum Wolfsburg / Gifhorn wäre es ideal. Brauche leider nicht nur Lektüre sondern auch Aufgaben um das besser zu speichern, falls da wer Tipps hat oder jemanden jemanden kennt ist gut. Bücher mit Aufgaben und einem seperatem Lösungsteil wären natürlich auch ideal!

    Danke im Voraus

    Euer SatisfactionGuy

    Code:
    <!DOCTYPE html>
    <html>
    <body>
    
    <form action="DtnEingb" method="get">
        <label for="ID">Fahrzeug-ID:
            <input id="Frtn" name="Frtn">
        <button type = "submit"id="Bestätigen">Eingabe bestätigen</button>
    </form>
    
    <? echo 'Die Fahrzeug-ID ist'. (int)$_get['ID']; ?>
    <?php
    //fahrtenbuch.php
    //Liste mit Autos mit Fahrtenbuch - über die Autos interieren
    //Welches Auto wieviele Fahrten gemacht hat.
    
    //Fahrten 1 - 5 == 5 - 25km (5er schritte)
    //Und den Autos die Fahrten hinzufügen
    //
    
    // echo '<pre>';
    // <p>Die Fahrzeug-ID ist: <input type="text" name="name" /></p>
    
    //Erzeugung einer Klasse
    class auto
    {
        public $Fahrten = 1*5;
        public $Hersteller;
        public $ID;
        public $Kilometer = 0;
    
        public function GetHersteller()
        {
            return sprintf($this->Hersteller);
        }
        public function GetKilometer()
        {
            return sprintf($this->Kilometer);
        }
        public function GetFahrten()
        {
            return sprintf($this->Fahrten);
        }
        public function GetID()
        {
            return sprintf($this->ID);
        }
        public function __toString()
        {
            $msg = 'Der %s hat %s Fahrten hinter sich.<br>';
            return sprintf($msg,  $this->Hersteller,  $this->Fahrten);
        }
    }
    //Fahrtenbuch | Erzeugung von Objekten
    
        $VW = new auto;
        $VW->{'Hersteller'}= 'Volkswagen';
        $VW->{'Fahrten'}= 5;
        $VW->{'Kilometer'}= 25;
        $VW->{'ID'} = 26;
    echo '<h1>Fahrtenbuch</h1>';
    echo '<h2>Fahrtenbuch unsortiert</h2>';
    
    echo $VW;
    
    echo '<h2>Fahrtenbuch alphabetisch sortiert</h2>';
    $auto = array('V' => $VW);
        ksort($auto);
    
        foreach ($auto as $i)
        {
            echo $i;
        }
        echo '<br>';
    
    echo '<h2>Fahrtenbuch numerisch (aufsteigend) sortiert</h2>';
    $auto = array('V' => $VW);
        asort($auto);
    
        foreach ($auto as $i)
        {
            echo $i;
        }
        echo '<br>';
    
    ?>
    </body>
    </html>


  • #2
    Hallo,

    also ich würde sagen.. Schau dir zuerst mal das EVA Prinzip an. HTML ist nur die Ausgabe von PHP, darin hat eine PHP-Klasse nichts verloren. Das würde ich zuerst mal sauber strukturieren. https://php-de.github.io/jumpto/eva-prinzip/

    Mit der Methode GET holt man Daten ab, wenn du Daten "eingeben" (speichern, etc..) willst, nimm POST. Formularverarbeitung siehe hier: https://php-de.github.io/#form
    Dein (auskommentiertes) input Feld ist übrigens ausserhalb des forms.

    Schau dir die mal an, strutkuriere das sauber und dann würde ich sagen sehen wir weiter. Da hast du noch einiges zu tun.. normal für den Einstieg.

    Zu OOP:

    Wenn du getter hast aber keine setter und/aber alle Members als public machst ist das irgendwie komisch. Das widerspricht sich finde ich. Aber das würde ich mir erst später ansehen. Schau mal zuerst die obigen Punkte und dann ev. die OOP Thematik. Kannst ja trotzdem mal so verweden die Klasse und dann fein-schleifen.
    The string "()()" is not palindrom but the String "())(" is.

    Debugging: Finde DEINE Fehler selbst! | Gegen Probleme beim E-Mail-Versand | Sicheres Passwort-Hashing | Includes niemals ohne __DIR__
    PHP.de Wissenssammlung | Kein Support per PN

    Kommentar


    • #3
      Danke für die schnelle Antwort <3

      Zitat von hausl Beitrag anzeigen

      Dein (auskommentiertes) input Feld ist übrigens ausserhalb des forms.
      Ich habe das auskommentiert, da es einen Fehler ausgeschmissen und ich wirklich keine Ahnung habe wie ich es lösen soll :X
      Aber danke für das wachsame Auge!

      €dit: oder ist das sogar der Fehler?!

      Zitat von hausl Beitrag anzeigen

      Schau dir die mal an, strutkuriere das sauber und dann würde ich sagen sehen wir weiter. Da hast du noch einiges zu tun.. normal für den Einstieg.
      Dass das Ganze ein heilloses Chaos ist, ist mir bewusst.
      Ich programmiere unterm Strich jetzt 1 Tag - reine Zeit und habe so gar keine Ahnung von Strukturen o.ä.
      Ich habe noch so Bruchstücke von C# von vor 5 Jahren, aber das waren - wenn es hochkommt - auch nur Grundkenntnisse haha

      Zitat von hausl Beitrag anzeigen

      Wenn du getter hast aber keine setter und/aber alle Members als public machst ist das irgendwie komisch. Das widerspricht sich finde ich.
      Das sagt mir nun so gar nichts... sorry :S

      Kommentar


      • #4
        Ich habe das auskommentiert, da es einen Fehler ausgeschmissen und ich wirklich keine Ahnung habe wie ich es lösen soll :X
        -> siehe Link EVA und Formularverarbeitung oben

        Das sagt mir nun so gar nichts... sorry :S
        Dann die Begriffe mal im www suchen und einlesen. Meine Meinung: besser erst einlesen und dann gleich von Beginn an "richtig" machen bzw. zumindest die Hintergründe kennen.

        Das ist ein generelles OOP Paradigma und hat nichts mit PHP zu tun. Auch hierzu findest du ganz viel im web.
        The string "()()" is not palindrom but the String "())(" is.

        Debugging: Finde DEINE Fehler selbst! | Gegen Probleme beim E-Mail-Versand | Sicheres Passwort-Hashing | Includes niemals ohne __DIR__
        PHP.de Wissenssammlung | Kein Support per PN

        Kommentar


        • #5
          Zitat von hausl Beitrag anzeigen

          -> siehe Link EVA und Formularverarbeitung oben
          Bin schon dabei, Chef!

          Zitat von hausl Beitrag anzeigen

          Dann die Begriffe mal im www suchen und einlesen. Meine Meinung: besser erst einlesen und dann gleich von Beginn an "richtig" machen bzw. zumindest die Hintergründe kennen.

          Das ist ein generelles OOP Paradigma und hat nichts mit PHP zu tun. Auch hierzu findest du ganz viel im web.
          OOP ist mir schon ein Begriff - aber was tiefergreifendes eben noch nicht - das mache ich im Anschluss, wenn ich mein Problem gelöst bekommen habe.

          Danke nochmals!
          Grüße gehen raus!


          Kommentar


          • #6
            Gibt es Kurse oder Bücher zu empfehlen, die ein schmales Portmonee nicht zum sprengen motivieren? In Raum Wolfsburg / Gifhorn wäre es ideal. Brauche leider nicht nur Lektüre sondern auch Aufgaben um das besser zu speichern, falls da wer Tipps hat oder jemanden jemanden kennt ist gut. Bücher mit Aufgaben und einem seperatem Lösungsteil wären natürlich auch ideal!
            Moin moin,

            Auf udemy gibt es immer mal wieder Angebote. https://www.udemy.com/courses/search...hp&p=1&lang=de
            Da kannst du ab und zu mal reinsehen, wenn du ein passendes Angebot für so 12 bis 20€ siehst kannst du schon zugreifen.


            zum Anfang reicht sonst vielleicht auch erstmal https://www.peterkropff.de/site/php/oop.htm
            Das ist inzwischen auch schon etwas in die Jahre gekommen, aber zumindest bringt das deine Syntax auf den aktuellen Stand.
            [COLOR=#A9A9A9]Relax, you're doing fine.[/COLOR]
            [URL="http://php.net/"]RTFM[/URL] | [URL="http://php-de.github.io/"]php.de Wissenssammlung[/URL] | [URL="http://use-the-index-luke.com/de"]Datenbankindizes[/URL] | [URL="https://www.php.de/forum/webentwicklung/datenbanken/111631-bild-aus-datenbank-auslesen?p=1209079#post1209079"]Dateien in der DB?[/URL]

            Kommentar


            • #7
              Ich verstehe diese "objektorientierten Abenteuer" offen gestanden nicht so ganz. Warum erarbeitest du dir nicht zunächst einmal die Grundlagen der Speicherung von Daten in einer DB? Daten gehören in DB's. Irgendwie versuchst du hier, alle möglichen Dinge auf einmal anzupacken. Das geht nicht gut. Als erstes also: eine DB entwickeln, die die Daten, die du verwendest, in korrekter, den Regeln relationaler DBs entsprechender Weise modelliert. Dann EVA. Dann alles andere.

              Kommentar


              • #8
                Ich habe den TE verstanden, das er sowas als Lehrbeispiel für Objekte nutzt um damit herumzuspielen.

                Ohne DB kann er sowieso keine Daten speichern, als das irgendwie im Quellcode immer zu ändern, was schräg wäre. Sonst sehe ich das auch so, ja.
                The string "()()" is not palindrom but the String "())(" is.

                Debugging: Finde DEINE Fehler selbst! | Gegen Probleme beim E-Mail-Versand | Sicheres Passwort-Hashing | Includes niemals ohne __DIR__
                PHP.de Wissenssammlung | Kein Support per PN

                Kommentar


                • #9
                  Zitat von hausl Beitrag anzeigen
                  Ich habe den TE verstanden, das er sowas als Lehrbeispiel für Objekte nutzt um damit herumzuspielen.
                  Zitat von SatisfactionGuy Beitrag anzeigen
                  Hallo miteinander, ich bin neu in der Materie und stehe vor einem Problem...
                  ... fast alles hinbekommen bis auf die Möglichkeit die Daten (bspw letzter Fahrer, gefahrene Km) einzutragen und bspw. Kilometer zu überschreiben...
                  Demnach eigentlich nicht: Daten "eintragen", "überschreiben", usw. also Daten eingeben, ändern und ausgeben - das ist eigentlich das "klassische DB-Programm".

                  Aber gut, vielleicht habe ich ihn ja mißverstanden. ...

                  Ohne DB kann er sowieso keine Daten speichern, als das irgendwie im Quellcode immer zu ändern, was schräg wäre. Sonst sehe ich das auch so, ja.
                  Eben.

                  Natürlich könnte er auch an eine Lösung gehen, die sowohl die betr. Datenobjekte, also KFZ, objektorientiert konstruiert, aber die Daten - wie es ja auch gar nicht anders geht - in der DB speichert. Aber davon, eine solche Lösung zu schaffen ist er ja noch meilenweit entfernt - anders gesagt: Mindestens 3 Levels...

                  Kommentar

                  Lädt...
                  X