phpbuddy.eu
-


Hinweise


Antwort
 
LinkBack Themen-Optionen Thema durchsuchen Bewertung: Bewertung: 1 Stimmen, 5,00 durchschnittlich.
Alt 08.03.2003, 17:35   #1
TP-Newbie
 
Registriert seit: Mar 2003
Dedicated macht alles soweit korrekt

Query Help


Hallo zusammen

Ich habe folgendes Problem:

Man kann ein Land, ein Gebiet oder eine Stadt/Dorf wählen ("hineinzoomen"). Dann hat es noch die Geschäfte (2. Tabelle), die direkt bei den Städten/Dörfern zugeortnet sind.

Wenn eine bestimmte Stadt ausgewählt sind, ist es kein Problem, die zugehörigen geschäfte herauszufiltern. Falls aber ein Gebiet oder sogar das ganze Land angewählt wird, wird es schwieriger. Wie sollte ich meine DB dafür aufbauen, so dass mit möglichst wenig SQL Querys die Auswahl selektiert werden kann?

Danke für die Hilfe.

Falls was unklar ist, einfach nachfragen

Gruss

Dedi
Dedicated ist offline   Mit Zitat antworten


Alt 08.03.2003, 19:25   #2
Registered User
 
Registriert seit: Feb 2002
Radoo.de macht alles soweit korrekt
.

Geändert von Radoo.de (09.09.2003 um 21:14 Uhr).
Radoo.de ist offline   Mit Zitat antworten
Alt 09.03.2003, 11:30   #3
TP-Specialist
 
Benutzerbild von mike
 
Registriert seit: Jan 2002
Ort: TP/Dynamik
mike bringt sich richtig ein
@ Christian: ich glaub du schiesst ein wenig über das Ziel hinaus - wobei deine Herangehensweise von n-tiefen verschachtelungen durchaus mein Interesse weckt. pear::tree ist aber so weit mir bekannt is, nicht im standardpackage von pear dabei. richtig? egal.

ich denke eher, dass dedicated nur eine query für sein problem benötigt.

so.
@problem:
ich nehme an, dass du zwei tabellen hast, einmal mit stadt, land, region und eine mit den geschäften. vernküpft sind die beiden mittels einem Fremdschlüssel in der geschäftetabelle, der die StadtID darstellt. richtig?

so angenommen ist es eigentlich nicht schwierig einen query aufzubauen, der dich je nach auswahl verschieden tief in die geschäfte tabelle reinschauen lässt.

-> select geschaeft.* from geschaeft, staedte
where staedte.ID = geschaeft.staedteID
and staedte.ID = '$stadtID'
and staedte.regionID = '$regionID'
and staedte.landID = '$landID'

bleibt nur noch der Aufruf, den ich in einer Funktion verpacken würde, die dir die variablen werte mit % vorbelegt

function getGeschaefte($stadtID='%', $regionID='%',$landID='%')
{
.....
return resultset von query;
}

not tested, aber so oder so ähnlich würde ich an dein problem rangehen.
__________________
Gehelft? Hier kannst du dich bedanken.

mike
mike ist offline   Mit Zitat antworten
Alt 17.03.2003, 14:17   #4
TP-Newbie
 
Registriert seit: Mar 2003
Dedicated macht alles soweit korrekt
Danke für die beiden sehr guten Antworten. Die erste Antwort hat mein Auge geöffnet und werde diese Technik sicher weiterverfolgen. Für mein Vorhaben trifft die 2. Antwort jedoch eher zu und werde auch diese verwenden.

Danke nochmals und Gruss

Dedi
Dedicated ist offline   Mit Zitat antworten
Antwort

  Aktuelles Thema
  TP Hilfe Forum > Web-Editoren & Coding > Traum-Dynamik
Query Help Query Help
« Popup mit Bild | Header für Mac senden »

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
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


Alle Zeitangaben in WEZ +2. Es ist jetzt 06:28 Uhr.

Powered by: vBulletin Version 3.7 (Deutsch)
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd. / Search Engine Friendly URLs by vBSEO 3.2.0 ©2008, Crawlability, Inc.
Traum-Projekt.com | Suchen | Archiv | Impressum | Kontakt | | | Nach oben |



1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67