Ankündigung

Einklappen
Keine Ankündigung bisher.

Trennen von Informationen

Einklappen

Neue Werbung 2019

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

  • Trennen von Informationen

    Hallo,

    ich habe in der Db ein Textfeld mit folgendem inhalt:
    money: 10,hunger: 12,power: 10
    Jetzt möchte ich dass in Arrays fassen. Also es soll hinterher so aussehen:
    PHP-Code:
    $array['money'] = 10;
    $array['hunger'] = 12;
    $array['power'] = 10
    Wie kriege ich das hinn?
    Danke schon mal

  • #2
    Schlechtes DB Design. Die Spalten sollten nicht mehr als eine Information enthalten.

    explode() ist aber dein Stichwort.
    "Alles im Universum funktioniert, wenn du nur weißt wie du es anwenden musst".

    Kommentar


    • #3
      Wieso schlechtes db design?
      Das sind halt einfach die informationen, die dem User abgezogen werden sollen und da es ungefähr 25 verschiedene möglichkeiten gibt dem user etwas abzuziehen mache ich das so

      Kommentar


      • #4
        Weil, wie schon oben geschrieben eine Spalte nicht mehr als eine Information enthalten soll.

        Normalisierung (Datenbank) – Wikipedia
        Signatur:
        PHP-Code:
        $s '0048656c6c6f20576f726c64';
        while(
        $i=substr($s=substr($s,2),0,2))echo"&#x00$i;"

        Kommentar


        • #5
          Zitat von luks2com Beitrag anzeigen
          Wieso schlechtes db design?
          Das sind halt einfach die informationen, die dem User abgezogen werden sollen und da es ungefähr 25 verschiedene möglichkeiten gibt dem user etwas abzuziehen mache ich das so
          Eine zusätzliche Tabelle mit user_id und 25 Spalten und du könntest du Abzugsrechnung sogar direkt in SQL durchführen.

          Oder du nimmst 2 Tabellen, eine mit den Informationsarten und eine Hilfstabelle mit user_id und info_id.

          Es ist leichter Erweiterbar, sämtliche SQL Befehle funktionieren problemlos auf jede Information (where, having, order by, group by...) und löschen/ändern/hinzufügen wird ebenfalls vereinfacht.
          "Alles im Universum funktioniert, wenn du nur weißt wie du es anwenden musst".

          Kommentar


          • #6
            Schlechtes Design auch deshalb, weil du mit einer Query z.B. nicht ermitteln könntest, in welchen Tabellenzeilen die Geldmenge > 7 ist.
            Hätte diese eine eigene Spalte, dann ginge das z.B. mit SELECT name FROM user WHERE money > 7
            [PHP]if ($var != 0) {
            $var = 0;
            }[/PHP]

            Kommentar


            • #7
              nich nur schlechtes Design, auch die ablage der Daten ist für'n popo. Serializied-Values hätt ich ja noch verstanden..
              [URL="https://gitter.im/php-de/chat?utm_source=share-link&utm_medium=link&utm_campaign=share-link"]PHP.de Gitter.im Chat[/URL] - [URL="https://raindrop.io/user/32178"]Meine öffentlichen Bookmarks[/URL] ← Ich habe dir geholfen ? [B][URL="https://www.amazon.de/gp/wishlist/348FHGUZWTNL0"]Beschenk mich[/URL][/B].

              Kommentar

              Lädt...
              X