Speichern, Mehrere Checkbox-Daten in der MySQL-Datenbank mit PHP
Will ich haben mehrere checkbox-Werte gespeichert werden, die in einem Feld in einer Datenbank. (Ex. 1, 24,56,100). Ich will wissen, wie ich machen kann das passieren und wie kann PHP Lesen Sie diese Werte aus der Datenbank, wenn ich anrufen möchte Variablen in einer Abfrage?
Grundsätzlich bin ich der Erstellung einer blog-app (Spaß und Erfahrung) und ich möchten, dass der Benutzer in der Lage sein, ändern Sie die Sichtbarkeit der einzelnen blog-post über Checkboxen. Ich weiß, Sie wahrscheinlich denken, warum ich nicht einfach ein Feld Sichtbarkeit für jeden blog-post. Ich verstehe, warum es nicht empfohlen, dies zu tun, aber ich kann mir nicht vorstellen, dass es eine andere Möglichkeit, dies zu tun. Zu erklären, ein bisschen mehr: ich möchte bringen Sie diese Anwendung an ein CMS habe ich schon gebaut, und im Prinzip habe ich eine Tabelle mit blog-posts, und dann will ich die Benutzer in der Lage sein, um Sie gehen zu verschiedenen Seiten innerhalb Ihrer Website und fügen Sie einen blog. Nun, was will der Benutzer verwenden den gleichen blog auf 3 verschiedenen Seiten, sondern will nur bestimmte Beiträge zeigen auf jeder Seite. Also das ist, warum ich bin verwirrt jetzt.
Es ist unklug, zu speichern mehrere Werte in einer Spalte. Erstellen Sie stattdessen eine normalisierte Tabelle mit zwei Spalten - eine foreign key -, um die post-id, und eine checkbox-Wert. Duplicate post-ids dürfen in der Tabelle.
php.net/manual/en/function.implode.php php.net/manual/en/function.explode.php
Ich verstehe, warum es nicht empfohlen, dies zu tun, aber ich kann mir nicht vorstellen, dass es eine andere Möglichkeit, dies zu tun. Zu erklären, ein bisschen mehr: ich möchte bringen Sie diese Anwendung an ein CMS habe ich schon gebaut, und im Prinzip habe ich eine Tabelle mit blog-posts, und dann will ich die Benutzer in der Lage sein, um Sie gehen zu verschiedenen Seiten innerhalb Ihrer Website und fügen Sie einen blog. Nun, was will der Benutzer verwenden den gleichen blog auf 3 verschiedenen Seiten, sondern will nur bestimmte Beiträge zeigen auf jeder Seite. Also das ist, warum ich bin verwirrt jetzt.
Ich weiß, Ihre Frage bereits beantwortet wurde, aber über die Frage, die Sie sich beziehen, in dem obigen Kommentar könnte man einfach eine Tabelle erstellen, die postID+pageID als Fremdschlüssel, und so bleiben die Werte der post,Seite, so dass können Sie zeigen, dass bestimmte Beiträge nur von bestimmten Seiten. (die Tabelle ist nicht erforderlich, um eine primäre Schlüssel, aber in anycase können Sie eine autoincrement-temporäre id-Spalte). Thi Weise können Sie die Zuordnung für die post/Seite. Ich glaube, das wird was OMG Ponys und Michael Berkwoski empfohlen, Sie in Ihren Kommentaren
InformationsquelleAutor drummer392 | 2012-03-05
Du musst angemeldet sein, um einen Kommentar abzugeben.
Obwohl ich mich nicht für das speichern der Daten, wie das aber hier ist, was Sie tun können, wenn Sie wirklich wollen, es so zu tun. Ich schlage vor, Sie haben eine denormalisierte Tabelle und speichern Sie Ihre vals gibt es
in Ihre HTML können Sie Ihre Checkboxen wie folgt aus (wenn man bedenkt Sie sind die Speicherung von ids von irgendeiner Art)
Auf Sie php-Seite Sie verwenden können, Funktion implode zu form-ids in einen string, wie unten gezeigt (wenn man bedenkt, du machst einen POST)
Wo Sie aus der Datenbank gelesen, können Sie verwandeln Sie den Wert aus der db in ein array wie dieses
Ich hoffe, das hilft
InformationsquelleAutor Jaspreet Chahal
erste Datenbank erstellen:
danach erstellen Sie eine html-Seite so:
danach haben wir uns tun, mysql connect.php
danach müssen wir ein check.php wie das ok
InformationsquelleAutor sri
Die perfekte Lösung für diese Aufgabe ist die Erstellung von normalisierten Tabelle als kommentiert von @OMG und @Michael.
Aber hier ist die Antwort für das, was Sie gerade gefragt
Speichert diese in der MySQL-Tabelle. Sie verwenden können, WIE Befehl zur Abfrage der Tabelle, und verwenden Sie die explodieren, um wieder die ids in array.
InformationsquelleAutor Alex Jose
Sind Sie gehen zu wollen, gehen Sie durch die Grundlagen von PHP und MySQL.
Check-out tizag.com oder w3schools.com oder einigen anderen Seiten (die tutorials sind reichlich vorhanden).
Hier ist die Grundlagen aber-und daran erinnern, wie es wird Ihnen helfen, in Ihrem Verständnis.
MySQL ist eine Datenbank. Eine Datenbank ist in der Regel verwendet für die Speicherung von Daten.
PHP ist eine Programmiersprache. Es ist in der Regel verwendet für die Programmierung.
So, einige wunderbare Entwickler haben schon aufgepasst das die Schritte für das Gespräch auf die Datenbank von PHP. Alles, was Sie tun müssen, ist, eine Verbindung herzustellen.
Sehen mysql_connect über W3Schools
Okay, also, was du hier getan hast, ist die Verbindung mit dem Datenbank-SERVER. Sie nicht ausgewählt haben, eine Datenbank noch. Denken Sie daran, wie gehen ins Kino, Sie noch müssen, zu wählen, einen Film zu sehen.
So, jetzt haben wir eine Verbindung zu unserer Datenbank:
Sehen mysql_select_db über W3Schools
Sobald Sie die Verbindung zu Ihrer Datenbank, die Sie bereit sind, schnappen Sie sich einige Informationen aus.
Um dies zu tun, müssen Sie erstellen Ihre SQL-Abfrage.
Etwas nach der Melodie:
Sehen die SELECT-Anweisung via W3Schools
Je nachdem, wie deine Tabelle aufgebaut ist, dass Sie die Liste für den aktuellen Benutzer. Ich nehme an, Sie haben bereits die user-id (oder einen Weg, um es zu bekommen), da Sie die Fähigkeit haben, zu definieren, Ihre eigenen Einstellungen für die Website.
Nun, dass Sie die SQL-Abfrage bekommen Sie die Artikel, die Sie benötigen, um die Datenbank abzufragen.
Sollte erhalten Sie Ihre Liste von ID ' s, die Sie benötigen.
Ich lasse Sie herausfinden, die Ruhe. Es ist ziemlich straight-forward, und Sie haben alle Werkzeuge, die Sie jetzt brauchen. Das einzige, was Sie vielleicht möchten zu verbessern ist
explode
undforeach
.So, wie Sie speichern Sie bis zu Ihnen ist. Blick in die Explosion zu splitten, wenn Sie gespeichert sind, Weg.
Ich glaube nicht, dass es genommen werden sollte, als Evangelium, aber Sie erklären die Grundlagen. Was ein Anfänger braucht um zum laufen zu bekommen ist Funktionalität. Und wie Sie wachsen, die Sie einführen, die anderen Konzepte zu. So dass Sie nicht über-whelm die person, die lernt. Es gibt viele Ressourcen gibt, die für Sicherheit und Härten. Und ich werde auch weiterhin zu empfehlen.
InformationsquelleAutor Tim