1000+ I Reihen von SQL-Daten haben, die wie die followinng aussehenAbfrage serialisierten Daten
umeta_id | user_id | meta_key | meta_value
433369 | 44 | all_contests | a:1:{s:12:"all_contests";a:2:{i:5011;a:1:{s:7:"entries";i:3;}i:8722;a:1:{s:7:"entries";i:3;}}}
433368 | 63 | all_contests | a:1:{s:12:"all_contests";a:2:{i:5032;a:1:{s:7:"entries";i:3;}i:8724;a:1:{s:7:"entries";i:3;}}}
Wenn Sie einen dieser Werte unserialize Sie ein Array erhalten wie folgt aus:
Array
(
[all_contests] => Array
(
[5011] => Array
(
[entries] => 3
)
[8722] => Array
(
[entries] => 3
)
)
)
Ich bin Es wird versucht, eine Rangliste aller Benutzer für eine bestimmte Wettbewerbs-ID zu erstellen. Der Schlüssel "all_contests" enthält ein Array mit den IDs aller Wettbewerbe, für die der Benutzer sich anmeldet. Darin sind die Einträge für den gegebenen Wettbewerb.
Die Abfrage muss alle Zeilen anzeigen, die 'all_contests' enthalten, und die 10 höchsten Einträge für eine gegebene Wettbewerbs-ID finden.
Ich bin nicht einmal sicher, dass es möglich ist, zuverlässig in einem Stück serialisierten Daten die Art zu suchen, auf die ich schaue.
Oh Junge. Dies zeigt perfekt, wie das Speichern von Daten als serialisierte Arrays macht es unmöglich, diese Daten aus einer SQL-Abfrage – RiggsFolly
NUTZEN Sie müssen die Zeilen auswählen, die Sie interessiert sein und dann 'unserialize() 'diese Daten in PHP und dann herausfinden, was Sie möchte mit jeder Zeile zu tun und wahrscheinlich ein weiteres Array von Daten erstellen, die Sie dann verarbeiten können, um die Informationen zu erhalten, die Sie benötigen – RiggsFolly