Ankündigung

Einklappen
Keine Ankündigung bisher.

Datensatz ausgeben

Einklappen

Neue Werbung 2019

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

  • Datensatz ausgeben

    Hallo Community,

    Ich habe folgendes Problem und zwar sieht meine Datenbanktabelle so aus
    Code:
    "[[`license_civ_kleindriver`,1],[`license_civ_grossdriver`,1],[`license_civ_kleinpilot`,1],[`license_civ_grosspilot`,0],[`license_civ_heroin`,0],[`license_civ_marijuana`,0],[`license_civ_gang`,0],[`license_civ_boat`,0],[`license_civ_dive`,0],[`license_civ_truck`,0],[`license_civ_gun`,0]]"
    Dies alles und noch mehr steht in einer Spalte der Datenbank "civ_licenses" nun möchte ich dies Ausgeben und zwar wenn möglich in etwa so " license_civ_grossdriver " - " 1 "also den Licenz Namen in eine Tabellenspalte und den Wert 1 oder 0 der für ja oder nein steht in eine zweite Tabelle. Probiere schon ein paar Tagen rum, bekomme es aber nicht mal Ansatzweisse hin, kann mir jemand Helfen ?

  • #2
    Am besten ist es, wenn du erst mal das Datenbankdesign korrigierst, dann geht sowas auch in SQL. Andernfalls musst du halt das JSON parsen und mit Array-Funktionen in das gewünschte Format bringen, das hat dann aber nichts mehr mit Datenbanken zu tun.

    Kommentar


    • #3
      Das sieht aber nicht nach JSON aus:
      PHP-Code:
      $value "[[`license_civ_kleindriver`,1],[`license_civ_grossdriver`,1],[`license_civ_kleinpilot`,1],[`license_civ_grosspilot`,0],[`license_civ_heroin`,0],[`license_civ_marijuana`,0],[`license_civ_gang`,0],[`license_civ_boat`,0],[`license_civ_dive`,0],[`license_civ_truck`,0],[`license_civ_gun`,0]]";

      var_dump(json_decode($value));
      // NULL

      var_dump(json_last_error_msg());
      // string(12) "Syntax error" 
      Von daher fehlen noch Infos. Um welches Datenformat handelt es sich hier? Wer oder was speichert das so?

      Kommentar


      • #4
        ist schon merkwürdig mit den Backticks da drin, aber wenn alle Stricke reissen dann eben zu Fuss

        PHP-Code:
        <?php
        $string 
        "[[`license_civ_kleindriver`,1],[`license_civ_grossdriver`,1],[`license_civ_kleinpilot`,1],[`license_civ_grosspilot`,0],[`license_civ_heroin`,0],[`license_civ_marijuana`,0],[`license_civ_gang`,0],[`license_civ_boat`,0],[`license_civ_dive`,0],[`license_civ_truck`,0],[`license_civ_gun`,0]]";
        $row explode('],',$string);

        $newarray = array();

        foreach(
        $row as $value) {

            
        $remove = array("[[`" => """`" => """]]" => "");
            
        $cleanstr strtr($value$remove);
            
        $parts explode(','$cleanstr);
            
        $newarray[$parts[0]] = $parts[1];    

        }

        var_dump($newarray);
        ?>
        Danach kannst du es sauber in eine neue Tabelle einbringen.

        Kommentar


        • #5
          Die Datenbankeinträge werden durch einen GameServer (Arma 3 - Altis Life) erzeugt, in dem Spiel Mod gibt es Lizencen um z.B. Autos zu kaufen usw. Danke schon mal für die Antworten werde es mal Testen

          Kommentar


          • #6
            @protestix

            Deine Antwort gibt mit alles aus aber weiterhin mit den klammern. Ich würde es gerne so haben, dies ist ein eintrag [CODE[`license_civ_kleindriver`,1][/CODE] Dieser soll geteil werden in license_civ_kleindriver und der 1 wobei die 1 für JA steht und eine 0 für NEIN

            Kommentar


            • #7
              Du hast doch schon eine Vorlage erhalten, kannst du daraus keine Rückschlüsse ziehen und den Code anpassen.
              Wenn dir das jemand komplett schreiben soll dann musst du das im Unterforum Projekthilfe oder Jobangebot schreiben.

              Kommentar


              • #8
                Ehrlich gesagt steh ich grade auf dem Schlauch, ich bin erst neu beim Programmieren

                Kommentar


                • #9
                  Wie kommen die Daten denn so verbogen in die Datenbank?
                  Zeige mal einen SQL-Dump der DB mit einigen, max. 10 Testdaten, damit man sich ein genaueres Bild machen kann.

                  Die Klammer vorne entfernst du mit diesen Code.
                  PHP-Code:
                   $remove = array("[[`" => "","[`" => """`" => """]]" => ""); 
                  Ich hoffe du weisst was ein Array ist, sonst fange bei den Grundlagen an und nicht gleich mit Datenbanken.

                  Kommentar

                  Lädt...
                  X