cybton.com
Über uns | Jobs | Werbung | Sitemap | AGB | Impressum | Hilfe ?
 Kostenlos anmelden)
Forum
Aktuellste Beiträge
Forenregeln

Community
BB-Codes
Tags
Chat
Suche (Web)
Wer ist online?
Top-User

Basar


Statistik
Mitglieder gesamt: 68142
Mitglieder online: 3
Gäste online: 2
mehr...

Anzeige
Forum » Forum: Website & Webprogrammierung » Thread: [gelöst] MySQL - Problem bei längerer SELECT - Abfrage

Thread: [gelöst] MySQL - Problem bei längerer SELECT - Abfrage

Tags: MySQL , Problem

05.09.2008 13:25 Uhr

 

Status: offline
Hi Leute,
bin gerade dabei, ein kleines CMS zu schreiben, komme jedoch bei einer Abfrage nicht weiter und wollte euch mal um Rat fragen.  :wink: 
Die Abfrage soll die Menü-Elemente, die der Benutzer sehen darf, ausgeben. Dabei werden Benutzer- und Gruppenrechte geprüft.
+ PHP:
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
 
$sql="
SELECT
      menu_items.menu_item_text AS menu_item_text,
      menu_items.menu_item_box AS menu_item_box,
      menu_items.menu_item_url AS menu_item_url
FROM
      menu_items,
      menu_items_groups,
      groups,
      users_groups,
      users
WHERE
      menu_items.menu_item_position='".$position."'
      AND (
            menu_items.menu_item_level <= ".$userdata['user_level']."
            OR (
                  menu_items.menu_item_id = menu_items_groups.mig_item_id
                  AND menu_items_groups.mig_visible = 1
                  AND menu_items_groups.mig_group_id = groups.group_id
                  AND groups.group_id = users_groups.ug_group_id
                  AND users_groups.ug_user_id = ".$userdata['user_id']."
            )
      )
ORDER BY menu_items.menu_item_box ASC, menu_items.menu_item_sort_order ASC
";
mysql_error() meckert nicht rum, ich bekomme nur keine Ergebnisse. Es scheint schon beim "FROM" aus mehreren Tabellen zu scheitern. MySQL Version ist 5.0. Ich habe in einem anderen Script eine sehr ähnliche Abfrage, die funktioniert, allerdings unter SQLite.
Wär super, wenn mir jemand helfen könnte!  :glad: 
1 mal bearbeitet
___________________________
mfg ghost0cnc
05.09.2008 13:33 Uhr

 

bmk
Moderator
Status: offline
Gleich zu Beginn eine Sache, die ich sehr bedenklich finde:
Du machst hier einen JOIN über 5 Tabellen, aber die JOIN-Bedingung kommt in einem OR-Zweig vor... Irgendwie bekomm ich hier ziemlich Bauchweh. Ich frag mich gerade, wie die Ergebniszeilen für jenen Fall eintreffen, wo das OR nicht gilt...

Ansonsten würde ich meinen, dass hier einfach nichts herauskommt, weil entweder dein WHERE nicht stimmt, oder die übergebenen Werte einfach kein Ergebnis liefern. Meine Kristallkugel ist aber gerade in der Reinigung.

Ich würde vorschlagen, du schreibst das Statement mal auf "richtige" JOINS um (so richtig mit ON-Klausel). Das schafft schon mal einiges an Übersicht. Vielleicht ergibt sich die zweite Sache dann eh von selbst.

LG, bmk.
___________________________
Let's code responsibly...
Webcrawler -- Portal für Dirigenten -- Musikverein Königstetten
05.09.2008 13:52 Uhr

 

Status: offline
Super, hat geklappt, danke!
menu_items.menu_item_level <= ".$userdata['user_level']."
musste ich zwar rausnehmen, aber ich hab' einfach einen Gast-Benutzer angelegt.  :glad: 
___________________________
mfg ghost0cnc
Ähnliche Threads Forum Ähnlichkeitsgrad
 [gelöst] Fragen bezüglich MySQL Website & Webprogrammierung 1
 FTP wo und wie? Fragen zu cybton.com 1
 Mysql zwei Tabellen verbinden Website & Webprogrammierung 1
 [Problem] MySQL mehrere Einträge gleichzeitig verändern geht nicht Website & Webprogrammierung 1
 MySQL nur für Localhost Software & Betriebssysteme 1
 Atomatic Mail Respond [For example: Brithday reminder] Website & Webprogrammierung 1
 Primary Key in MySQl Website & Webprogrammierung 1
nach obennach oben

Copyright © 2008 cybton-network

Google
Partner: #Musik - Dein Internetradio - nexem. - .wir machen news - Your-Book.net - Dein kostenloses Gästebuch
ANEXIA - PHP Entwicklung - Dockers - s.Oliver Schuhe - Think Schuhe - der eigene Weg - Dorfen - Paul Green Schuhe - Bequeme Geox - Web-Entwicklung