php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger

PHP Einsteiger PHP Problemlösungen für Spracheinsteiger
Archive: 2004, 2004/2, 2005, 2005/2, 2006, 2007, 2008, 2009, 2010,

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 07.11.2011, 22:24  
Neuer Benutzer
 
Registriert seit: 07.11.2011
Beiträge: 3
PHP-Kenntnisse:
Fortgeschritten
Sunset6 befindet sich auf einem aufstrebenden Ast
Standard Ein array das in der Datenbank gespeichert ist durchsuchen

Hallo zusammen,

wie der Titel schon sagt, versuche ich ein Array, welches in der Datenbank gespeichert ist (z.B. a:1:{i:0;s:1:"3";} ), mittels einer WHERE Abfrage zu durchsuchen.

Leider ohne Erfolg!



WHERE cat = "".$cat.""

$cat bekommt einen einfachen Zahlenwert per POST von einem Formular zugewiesen.


Evtl. gehe ich das ganze Thema auch einfach nur falsch an... Der Hintergrund ist der, dass ein User in mehreren "Categories" vertreten sein kann. So bin ich auf die Idee gekommen ein SELECT als multiple zu definieren und die evtuelle Mehrfachauswahl per "serialize" als array in der DB zu speichern. Das auslesen und verarbeiten ist auch garnicht das Problem. Wenn ich aber eine SQL Abfrage starte (SELECT * FROM +++ WHERE cat = "z.B. 3") setzt mein Sachverstand aus und ich hänge fest!!!

Nun hege ich die Grosse Hoffnung, dass ihr mir ggf. weiterhelfen könnt.

LG

Marcel

Geändert von Sunset6 (07.11.2011 um 22:32 Uhr). Grund: Ergänzung
Sunset6 ist offline   Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 07.11.2011, 22:28  
Moderator¹
 
Registriert seit: 28.03.2010
Beiträge: 7.470
PHP-Kenntnisse:
Fortgeschritten
ChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer Anblick
Standard

Zitat:
Zitat von Sunset6 Beitrag anzeigen
WHERE cat = "".$cat.""

$cat bekommt einen einfachen Zahlenwert per POST von einem Formular zugewiesen.
Und, ist der Inhalt dieser Spalte genau dieser Wert?
Nein, ist er nicht.

Serialisierte Arrays haben iaR. nichts in der Datenbank verloren.
Beschäftige dich mit dem Stichwort Normalisierung.
__________________
RGB is totally confusing - I mean, at least #C0FFEE should be brown, right?
ChrisB ist offline   Mit Zitat antworten
Alt 07.11.2011, 22:40  
Neuer Benutzer
 
Registriert seit: 07.11.2011
Beiträge: 3
PHP-Kenntnisse:
Fortgeschritten
Sunset6 befindet sich auf einem aufstrebenden Ast
Standard

Nach kurzer google Nutzung gebe ich Dir recht. Es war halt ein Lösungsansatz den ich da verfolgt habe.

Was die Datenbank betrifft, die habe ich weitestgehend versucht zu normalisieren. Nur diese Kategoriezuordnungen noch einmal zu separieren, würde an aktueller Stelle einen gewissen Aufwand mit sich bringen.

Es währe schön, wenn du evtl. einen anderen Ansatz für mich hättest.
Sunset6 ist offline   Mit Zitat antworten
Alt 08.11.2011, 00:29  
moderatives Dielektrikum
 
Benutzerbild von nikosch
 
Registriert seit: 21.05.2008
Beiträge: 35.987
PHP-Kenntnisse:
Fortgeschritten
nikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunft
Standard

Zitat:
setzt mein Sachverstand aus und ich hänge fest!!!
Ja super.

Zitat:
Es währe schön, wenn du evtl. einen anderen Ansatz für mich hättest.
Gibt es aber nicht. Entweder Du normalisierst oder benutzt keine relationale Datenbank oder Du schlägst Dich halt weiter mit Deinem Problem rum. Inserate, Konzepte und Meinungsumfragen
__________________
--
One pixel is still too big. Please make it smaller. ASAP.

Initiative Mittelstand.
Die wichtigste Gestaltungsregel im Screendesign ist Pi mal Daumen des Arbeitgebers.
--
nikosch ist offline   Mit Zitat antworten
Alt 08.11.2011, 10:15  
Erfahrener Benutzer
 
Benutzerbild von lstegelitz
 
Registriert seit: 07.09.2009
Beiträge: 4.005
PHP-Kenntnisse:
Fortgeschritten
lstegelitz ist einfach richtig nettlstegelitz ist einfach richtig nettlstegelitz ist einfach richtig nettlstegelitz ist einfach richtig nett
Standard

Da hilft wohl nur noch alle Datensätze auszulesen, zu deserialisieren und dann zu durchsuchen. Damit hast du auch gleich den Grund dafür, warum man es nicht so machen sollte
__________________
Über 90% aller Gewaltverbrechen passieren innerhalb von 24 Stunden nach dem Konsum von Brot.
lstegelitz ist offline   Mit Zitat antworten
Alt 08.11.2011, 11:08  
Erfahrener Benutzer
 
Benutzerbild von jspit
 
Registriert seit: 19.08.2011
Beiträge: 701
PHP-Kenntnisse:
Anfänger
jspit wird schon bald berühmt werden
Standard

Wenn deine Zahl im string durch signifikante Zeichen eingeschlossen ist, hilft dir ev. LIKE:
PHP-Code:
$like_search '%s:1:"'.$cat.'"%';
$sql "SELECT * FROM table WHERE cat LIKE ".$like_search
jspit ist offline   Mit Zitat antworten
Alt 08.11.2011, 21:12  
Neuer Benutzer
 
Registriert seit: 07.11.2011
Beiträge: 3
PHP-Kenntnisse:
Fortgeschritten
Sunset6 befindet sich auf einem aufstrebenden Ast
Standard

Vielen Dank für Eure Antworten!

Ich bin das Thema "Normalisierung" noch einmal angegangen und habe nun eine seperate Tabelle für die Kategorien in der es nun für jeden User einen Eintrag gibt.

Nochmals vielen Dank.
Sunset6 ist offline   Mit Zitat antworten
Alt 08.11.2011, 23:48  
Moderator
 
Benutzerbild von Chriz
 
Registriert seit: 11.05.2008
Beiträge: 6.267
Chriz ist ein wunderbarer AnblickChriz ist ein wunderbarer AnblickChriz ist ein wunderbarer AnblickChriz ist ein wunderbarer AnblickChriz ist ein wunderbarer AnblickChriz ist ein wunderbarer AnblickChriz ist ein wunderbarer Anblick
Standard

Warum nur einen Eintrag pro User? Damit hast du doch nichts gewonnen. Pro User und Kategorie meinst du hoffentlich.
__________________
"Nuschel ich?" - "Was?"
Chriz ist offline   Mit Zitat antworten
Antwort


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
[Erledigt] PDF im Browser Streamen PiXeL1337 PHP Einsteiger 22 08.09.2011 16:24
Mehrere Querys klappen in PhpMyAdmin aber nicht in PHP djscaleo Datenbanken 36 15.05.2011 02:00
[Erledigt] Mehrdimensionalem Array umformen, Index neu setzen und anschließend sortie wooha PHP Einsteiger 3 26.04.2011 12:08
Array werte zusammen rechnen fabi288 PHP Einsteiger 13 03.01.2011 16:08
mehrdimensionales array inhalte tauschen pidaman PHP Tipps 2010 18 27.08.2010 16:58
Array auf wert durchsuchen und stelle im Array angeben AllOutAnime PHP Tipps 2010 5 31.01.2010 19:30
PHPLot von der Datenbank zum mehrdimensionalen Array mannimammut PHP Tipps 2009 1 15.12.2009 10:40
[Erledigt] Tabellen die sich selbst referenzieren Squall PHP Tipps 2009 19 04.08.2009 21:33
[Erledigt] array sortieren PHP Tipps 2004 17 13.05.2009 10:44
Array umwandeln von zwei zu mehrdimensional erselbst PHP Tipps 2009 6 02.04.2009 23:30
Mehrdimensionales array durchsuchen crow PHP Tipps 2008 2 21.11.2008 10:21
Turnierbaum aus array erstellen kingflo PHP-Fortgeschrittene 11 30.07.2008 11:32
Array Inhalte in eine Datenbank über tragen Munsi1 PHP Tipps 2008 5 11.04.2008 13:28
(schnellere) Funktion zum Zusammenfassen von CSS PHP-Fortgeschrittene 21 08.08.2005 16:47
[Erledigt] $_SESSION: Array Werte werden nicht gespeichert. PHP-Fortgeschrittene 11 11.05.2005 23:13

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
php datenbank array dursuchen, php array datenbank, serialisiertes array in datenbank durchsuchen, datenbank array durchsuchen, php array durchsuchen

Alle Zeitangaben in WEZ +2. Es ist jetzt 16:21 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum