php.de

Zurück   php.de > Webentwicklung > Datenbanken

Datenbanken SQL und Co

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 06.01.2005, 12:53  
Gast
 
Beiträge: n/a
Standard mysqlabfrage mit array-daten

hallöchen,

ich habe ein mehr oder weniger großes problem. um dieses zu verstehen, muss ich einige erläuterungen dazu geben:

also, ich habe eine mysql-datenbank mit fertigem layout bekommen, daran kann, will und soll ich nix ändern (leider). und zwar gibt es dort eine tabelle userdaten, in welcher diese gespeichert werden. die einzelnen felder sind häufig als varchar(255) deklariert. über das eingabeformular können user ihre daten eingeben. dabei ist zu beachten, dass sie bei manchen einträgen auch mehrfachauswahlen nutzen können. diese werden zunächst über ein array gehandelt. beim eintragen in die datenbank wird dieses array mit implode(","array) in einen string umgewandelt, der dann in das entsprechende feld in die datenbank gespeichert wir. also steht dann in der db z.b. daten1,daten2,... dabei handelt es sich meistens um id aus einer auflösungstabelle.

nun zu meinem eigentlichen problem.

es gibt ein suchformular, wo user nach anderen usern suchen können. in diesem formular gibt es wieder diese mehrfachauswahlfelder. um etwas näher ins detail zu gehen nehmen wir mal an, ich habe eine tabelle bundesländer in meiner db. diese haben jeweils eine betsimmte id! in der selectbox (mehrfachauswahl) stehen die namen der bundesländer, im hintergrund werden die ids übergeben. ich wähle nun zum beispiel sachsen und thüringen aus (id 1 bzw 2). diese werden wieder in ein array übergeben. nun soll eine select-abfrage auf die datenbank ausgeführt werden, wo ich herausfinden will, ob ein eintrag in der db entweder die id1, oder die id2 enthält. hat der user nur ein bundesland beim eintragen ausgewählt, funktioniert die abfrage bereits. wenn aber mehrehre bundesländer in der db stehen, also 1,2,3,4... dann geht das ganze nicht mehr, da 1 <> 1,2,3,4... usw. ich brauche also einen algorythmus, welcher das array aus der suchanfrage mit den einzelnen ids aus dem string der db vergleich!
also ist 1(erste auswahl aus array) ==1 oder 1==2... oder 2(zweite auswahl aus array) = 1 oder 2 ==2...
so ungefähr.

hier mal noch ein auszug aus meinem quellcode:

Code:
$SQL="SELECT * FROM `job_an`";
$WHERE="";
function add_where( $str ){
    global $WHERE;
    $temp   =   trim($WHERE);
    if ( !empty($temp) ) $WHERE.=" AND ";
    $WHERE.=$str;
}

$temp=array_data("bundesland");
if ( count($temp) > 0 ){
    $tmp_str="(";
    foreach( $temp as $key=>$val ){
        if ( $tmp_str!="(" ) $tmp_str.=" OR ";
        $tmp_str.="`bundesland`='${val}'";
    }
    add_where($tmp_str.")");
}

$SQL    .=  " WHERE ".$WHERE.";
wie gesagt, das geht eben aber nur, wenn beim eintragen des user in die db nur ein bundesland gewählt wurde.

ich hoffe, ihr habt die problematik verstanden und könnt mir bei der lösung helfen!?? falls was unklar ist, einfach noch mal nachfragen

danke für eure bemühungen

mfg

x_ray
  Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 06.01.2005, 12:55  
Erfahrener Benutzer
 
Registriert seit: 21.12.2004
Beiträge: 5.232
PHP-Kenntnisse:
Fortgeschritten
mepeisen ist ein wunderbarer Anblickmepeisen ist ein wunderbarer Anblickmepeisen ist ein wunderbarer Anblickmepeisen ist ein wunderbarer Anblickmepeisen ist ein wunderbarer Anblickmepeisen ist ein wunderbarer Anblickmepeisen ist ein wunderbarer Anblick
mepeisen eine Nachricht über ICQ schicken mepeisen eine Nachricht über Skype™ schicken
Standard

Wenn du daran nichts ändern kannst: MySQL kann regular expressions. Mit diesem läßt sich ein Suchmuster definieren.
Ansonsten musst du jede Variante per LIKE abdecken.
__________________
www.php-maven.org PHP und Maven vereint: Build/Deploy/Produktion/Konfiguration, Projekt Management, CI, PHPUnit, zahlreiche Frameworks
Twitter @ https://twitter.com/#!/mepeisen und Facebook @ http://t.co/DZnKSUih
mepeisen 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
Turnierbaum aus array erstellen kingflo PHP-Fortgeschrittene 11 30.07.2008 11:32
mehrdimensionales Array als HTML-Formular mindhead PHP Tipps 2008 3 11.04.2008 15:25
Verschachteltes Array: Daten auswählen horstenpeter PHP Tipps 2006 8 14.03.2006 00:12
Array auslesen andrew22 PHP Tipps 2006 3 21.01.2006 23:06
Array Formatierung PHP Tipps 2006 3 17.01.2006 19:12
Daten aus 2 Arrays zuordnen und in ein neues Array speichern PHP Tipps 2005-2 6 12.10.2005 13:22
[JS] Array mit Daten aus txt File füllen HTML, Usability und Barrierefreiheit 3 05.10.2005 09:21
[Erledigt] $_SESSION: Array Werte werden nicht gespeichert. PHP-Fortgeschrittene 11 11.05.2005 23:13
[Erledigt] schreiben der ausgelesenen daten in ein array sinnvoll? PHP-Fortgeschrittene 1 02.05.2005 11:42
Wie gibt man Daten aus der DB in ein Array verkehrtherum aus 'progman' PHP Tipps 2005 15 18.04.2005 21:27
Daten aus DB einem eindimensionalen Array zuweisen PHP Tipps 2005 11 28.03.2005 21:38
mehrdimensionales Array mit Daten aus einer DB füllen PHP Tipps 2004-2 9 30.12.2004 19:17
:( Aus Array Daten lesen. Aber nur einmal täglich? PHP Tipps 2004 4 18.08.2004 11:38
Mehrere Daten aus Datenbank in einen Array legen?!? PHP Tipps 2004 16 17.08.2004 00:53
Daten in einem Array zusammenfassen PHP Tipps 2004 1 23.07.2004 18:33

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
array bundesländer, mysql abfrage in array, mysql abfrage mit php array, bundesländer array php, select-abfrage php array zuweisen, php abfrage array daten an tabelle weitergeben, mysqlabfrage mit array, mysql tabelle \bundesländer\, mysql abfrage auf array, mysql daten in mehrfaches array, php mysql datensatz löschen wenn nicht im array vorhanden, php mysqlabfrage in array, bundesländer mysql tabelle, mysql abfrage werte in array lege, bundesländer deutschland in php array, php arraydaten in db, php array mit bundesländern, deutsche bundesländer array, bundesländer array, php daten aus db an array übergeben

Alle Zeitangaben in WEZ +2. Es ist jetzt 03:46 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

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.