Array in Datenbank
-
Hi,
ich würde gerne eine kleine eindimensionale Array in einem Feld einer Datenbank speichern. Konkret geht es darum, dass die Benutzer jeweils nur einmal bei etwas abstimmen dürfen und ich ja irgendwo speichern muß, ob jemand schon abgestimmt hat oder nicht, Cookies sind mir nicht sicher genug. Ich habe mir schon gedacht ein Textelement einzurichten und dort die IDs jeweils mit einem Komma dazwischen zu speichern, allerdings wäre das extrem aufwendig und ich würde gerne wissen, ob es nicht eine einfachere Lösung gibt. Hat jemand nen Lösungsansatz für das Problem ?
-
Hi,
Dafür gibt es eine gut, simple lösung. Hatte früher aufwändige Funktionen dafür geschrieben.Du hast ein Feld vom type Text ( zb. all_user ):
$aAllUser = array(); // create array //jetzt wird das array gefüllt. $sDBFormat = serialize( $aAllUser ); // write $sDBFormat in db.
So weit zum speichern.
Und das ganze wieder laden...
$aAllUser = array(); // create array $aAllUser = $unserialize( $feld['all_user'] ); // fill array from db saves
Ich hoffe ich konnte dir weiterhelfen .. Cu
-
Das $ vor unserialize ist wohl ein Tippfehler - außerdem kann man sich doch die Zeile(n) mit array(); sparen, oder?
Eine andere Möglichkeit wäre hier noch implode und explode zu verwenden, serialize und unserialize sind aber auch geeignet