SELFPHP: Version 5.8.2 Befehlsreferenz - Tutorial – Kochbuch – Forum für PHP Einsteiger und professionelle Entwickler

SELFPHP


Professional CronJob-Service

Suche



CronJob-Service    
bei SELFPHP mit ...



 + minütlichen Aufrufen
 + eigenem Crontab Eintrag
 + unbegrenzten CronJobs
 + Statistiken
 + Beispielaufrufen
 + Control-Bereich

Führen Sie mit den CronJobs von SELFPHP zeitgesteuert Programme auf Ihrem Server aus. Weitere Infos



:: Buchempfehlung ::

Websites optimieren für Google & Co.

Websites optimieren für Google & Co. zur Buchempfehlung
 

:: Anbieterverzeichnis ::

Globale Branchen

Informieren Sie sich über ausgewählte Unternehmen im Anbieterverzeichnis von SELFPHP  

 

:: Newsletter ::

Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!

Vorname: 
Name:
E-Mail:
 
 

Zurück   PHP Forum > MySQLi/PDO/(MySQL)
Hilfe Community Kalender Heutige Beiträge Suchen

MySQLi/PDO/(MySQL) Anfänger, Fortgeschrittene oder Experten können hier Fragen und Probleme rund um MySQLi/PDO/(MySQL) diskutieren

Antwort
 
Themen-Optionen Ansicht
  #11  
Alt 18.11.2010, 14:27:08
Benutzerbild von vt1816
vt1816 vt1816 ist offline
Administrator
 
Registriert seit: Jul 2004
Beiträge: 3.707
AW: Ausgabe trotz leere Tabellen

Gut.

Beispieldatensatz(sätze) für FOTO fehlt und eine knappe Beschreibung wie die Tabellen zusammenhängen wäre schön.
__________________
Gruss vt1816
Erwarte nicht, dass sich jemand mehr Mühe mit der Antwort gibt als Du Dir mit der Frage.
. . . . . Feedback wäre wünschenswert

Ich werde keinen privaten 1:1 Support leisten, außer ich biete ihn ausdrücklich an.
Ansosnten gilt: Hilfe ausserhalb dieses Thread (PN, WhatsApp, Skype, Mail, ICQ, etc...) nur per Barzahlung oder Vorauskasse!

Wenn man sich selbst als "Noob" bezeichnet, sollte man die Finger davon lassen.
Wenn man gewillt ist daran etwas zu ändern, lernt man Grundlagen!

Geändert von vt1816 (18.11.2010 um 14:38:28 Uhr)
Mit Zitat antworten
  #12  
Alt 18.11.2010, 14:48:19
McB_sser McB_sser ist offline
Anfänger
 
Registriert seit: Apr 2008
Beiträge: 66
AW: Ausgabe trotz leere Tabellen

http://www.kampfkunst-tisi.de/test.png

foto datansatz kann ich dir nicht geben da der blob zu groß ist.

PHP-Code:
gekürzte Textfelder     ID     lehrmaterial_einsicht_ID     Titel     Beschreibung     URL     Zeitstempel     Text     sichtbar     Vorschau_Foto     Foto
    Bearbeiten     Löschen     171     0     asdf                 2010
-11-15 21:51:56           0     [BLOB 17,5 KB]     [BLOB 593,5 KB]
    
Bearbeiten     Löschen     152     3     Frettchen     Das süße klein getiermit vier beinen ist es hier.           2010-11-15 19:30:18           0     [BLOB 18,3 KB]     [BLOB 612,8 KB]
    
Bearbeiten     Löschen     172     1     Flyer vorderseite                 2010-11-16 21:37:41           1     [BLOB 2,8 KB]     [BLOB 218,5 KB]
    
Bearbeiten     Löschen     173     1                       2010-11-16 21:39:19           0     [BLOB 2,8 KB]     [BLOB 251,0 KB]
  
markierteAlle auswählen  /  Auswahl entfernen   markierteÄndern Löschen Exportieren 
Mit Zitat antworten
  #13  
Alt 18.11.2010, 15:27:30
thomas_w thomas_w ist offline
Junior Member
 
Registriert seit: Aug 2010
Alter: 14
Beiträge: 395
AW: Ausgabe trotz leere Tabellen

Dann zitiere ich noch ein bißchen, weil eigentlich ist alles schon gesagt:

Zitat:
Zitat von McB_sser Beitrag anzeigen
Ihr braucht im grunde mir nur zu sagen was ich machen muss ggf. das join und das notwendige drumherum richtig Platzieren. So das ich dieses ergebnis auch ohne einen eintrag in einer der jeweiligen Tabellen bekomme.
Zitat:
Zitat von thomas_w Beitrag anzeigen
Vermutlich sind die LEFT JOIN schon notwendig. Das hattest Du ja schon herausgefunden.
Zudem könntest Du den SQL gleich komplett auf ANSI JOIN umschreiben.

Du hast da hinter der WHERE Klausel ein Mischmasch aus AND und OR . Dass versteht wahrscheinlich keiner ausser Dir und die Datenbank macht dann noch was anderes. Also entweder Klammern verwenden oder noch mal darüber nachdenken.
Die Abfrage ist komplex, das dauert schon ein bißchen sich da einzudenken. Eventuell habe ich morgen mehr Zeit dafür.

Grüße
Thomas
__________________
Die SQL-Backstube
Bietet Rezepte, Lösungen und ausführliche Beispiele rund um gesundes SQL und zufriedene Datenbanken.
Mit Zitat antworten
  #14  
Alt 19.11.2010, 08:28:50
thomas_w thomas_w ist offline
Junior Member
 
Registriert seit: Aug 2010
Alter: 14
Beiträge: 395
AW: Ausgabe trotz leere Tabellen

Meiner Meinung nach fehlt die Tabelle ACCOUNT(?) um die Abfrage sinnvoll aufzubauen.

Kannst Du mal für die Tabelle ACCOUNT(?) ausführen. Eventuell hat die Tabelle ja auch einen anderen Namen, keine Ahnung.

Code:
mysql>SHOW CREATE TABLE account;
Weiterhin wäre mir eine Skizze/Bild/Liste der Fremdschlüsselabhängigkeiten wichtig. Leider haben die Tabellen keinen FOREIGN KEY Constraint. Das verbessert das Verständnis für die Abhängigkeiten kollosal.

Grüße
Thomas
__________________
Die SQL-Backstube
Bietet Rezepte, Lösungen und ausführliche Beispiele rund um gesundes SQL und zufriedene Datenbanken.
Mit Zitat antworten
  #15  
Alt 19.11.2010, 11:42:04
McB_sser McB_sser ist offline
Anfänger
 
Registriert seit: Apr 2008
Beiträge: 66
AW: Ausgabe trotz leere Tabellen

die Account Tabelle ist im grunde nicht notwendig da die Account ID vorhanden ist und ich keine Account spezifische Daten wie Nick oder Name oder Mail ausgeben möchte.

Eine Skitze in Form eines ER Modells ist oben als link angegeben, die verbindungsstriche (1:n, m:n) sind zwar nicht so sichtbar aber ich denke man kann es sich denken... alle unsinige Tabellen habe ich verpixelt.
Mit Zitat antworten
  #16  
Alt 19.11.2010, 12:43:49
thomas_w thomas_w ist offline
Junior Member
 
Registriert seit: Aug 2010
Alter: 14
Beiträge: 395
AW: Ausgabe trotz leere Tabellen

Jetzt habe ich den SQL nach ANSI JOIN umgebaut, die WHERE Klausel entflechtet und in Klammern gesetzt. Ob die WHERE Prädikate jetzt so richtig ist musst Du mal kontrollieren.

Mit meinen Testdaten bekomme ich keine Ergebnis.

Code:
SELECT f.id           AS f_id, 
       f.lehrmaterial_einsicht_id, 
       f.titel        AS f_titel, 
       f.beschreibung AS f_beschreibung, 
       f.url, 
       f.zeitstempel  AS f_zeitstempel, 
       f.TEXT, 
       f.sichtbar, 
       f.vorschau_foto, 
       f.foto, 
       ahle.account_id, 
       ahle.lehrmaterial_einsicht_id, 
       le.id          AS le_id, 
       le.titel       AS le_titel, 
       le.beschreibung,
       KhLE.klasse_ID, 
       KhLE.lehrmaterial_einsicht_ID , 
       ahk.account_id, 
       ahk.klasse_id 
  FROM lehrmaterial_einsicht le 
  LEFT JOIN account_has_lehrmaterial_einsicht ahle 
    ON ahle.lehrmaterial_einsicht_id = le.id
  LEFT JOIN account_has_klasse ahk 
    ON ahk.account_id = ahle.account_id  
  LEFT JOIN klasse_has_lehrmaterial_einsicht KhLE 
    ON ahk.klasse_id = KhLE.klasse_id    
  LEFT JOIN fotos f 
    ON f.lehrmaterial_einsicht_ID = le.id
WHERE ( f.lehrmaterial_einsicht_id = 1 AND f.sichtbar = 1 )
   OR ( f.lehrmaterial_einsicht_id = 1 AND ahle.account_id = 1 )
   OR ( f.lehrmaterial_einsicht_id = 1 AND ahk.account_id = 1 )
GROUP  BY f.id 
ORDER  BY f.zeitstempel DESC ;
Grüße
Thomas
__________________
Die SQL-Backstube
Bietet Rezepte, Lösungen und ausführliche Beispiele rund um gesundes SQL und zufriedene Datenbanken.
Mit Zitat antworten
  #17  
Alt 19.11.2010, 15:39:11
McB_sser McB_sser ist offline
Anfänger
 
Registriert seit: Apr 2008
Beiträge: 66
AW: Ausgabe trotz leere Tabellen

habe nun mal FROM in meins eingefügt sowie WHERE und die statischen mit dynamischen werden so wie es soll eingefügt.

Aber es ist immernoch der gleiche Effekt. Wenn ich z. B. KhLE inhalt lösche wird nichts ausgegeben, normal soll er ja noch AhLE prüfen und es existiert ein recht, so müste er mir dies ausgeben, was er nicht tut.

Nagut, ich werde dann wahrscheinlich die abfrage Splitten und peer php die einzelnen unterabfragen prüfen.

Ich möchte euch ja nicht zu arg in anspruch nehmen.

Vielen Dank für die bemühungen schonmal, ihr seid ein nettes Volk.

Hat einer dennoch eine Lösung Parat ich bin dafür offen, da meine Version der Lösung nicht sonderlich schick ist.


Edit/
Achja, kann man das "AS" bei tabellen weg lassen?

Edit 2/

mir ist auch aufgefallen das deine WHERE unvollständig ist

Edit 3/

sorry, aber ich glaube es geht doch... ich muss nochmal was ändern ich meld mich gleich wieder.

Geändert von McB_sser (19.11.2010 um 15:52:30 Uhr)
Mit Zitat antworten
  #18  
Alt 19.11.2010, 16:07:01
McB_sser McB_sser ist offline
Anfänger
 
Registriert seit: Apr 2008
Beiträge: 66
AW: Ausgabe trotz leere Tabellen

also folgendes immerhin gibt er was aus... Ist KhLE leer wird noch AhLE ausgegeben, aber er ignoriert nun vollkomen KhLE, auch wenn KhLE vergeben ist bekomme ich keine ausgabe .

z. B AhLE hat das recht auf die Kategorie Sonstiges
KhLE hat das recht auf Weihnachtsfeier
so wird Weihnachtsfeier nicht ausgegeben nur Sonstiges

PHP-Code:
SELECT
                       F
.ID AS F_IDF.lehrmaterial_einsicht_IDF.Titel AS F_Titel,
                       
F.Beschreibung AS F_BeschreibungF.URLF.Zeitstempel AS F_Zeitstempel,
                       
F.TextF.sichtbarF.Vorschau_Foto,
                       
F.Foto,
                       
AhLE.account_IDAhLE.lehrmaterial_einsicht_ID,
                       
LE.ID AS LE_IDLE.Titel AS LE_TitelLE.Beschreibung,
                       
KhLE.klasse_IDKhLE.lehrmaterial_einsicht_ID ,
                       
AhK.account_IDAhK.klasse_ID
                    FROM
                       lehrmaterial_einsicht 
AS LE
                          LEFT JOIN
                             account_has_lehrmaterial_einsicht 
AS AhLE
                          ON
                             AhLE
.lehrmaterial_einsicht_id LE.id
                          LEFT JOIN
                             account_has_klasse 
AS AhK
                          ON
                             AhK
.account_id AhLE.account_id
                          LEFT JOIN
                             klasse_has_lehrmaterial_einsicht 
AS KhLE
                          ON
                             AhK
.klasse_id KhLE.klasse_id
                          LEFT JOIN
                             fotos 
AS F
                          ON
                             F
.lehrmaterial_einsicht_ID LE.id
                    WHERE
                           LE
.ID F.lehrmaterial_einsicht_ID
                       
AND F.sichtbar '1'
                       
OR
                           
LE.ID F.lehrmaterial_einsicht_ID
                       
AND AhLE.account_ID '".$Account_ID."'
                       
AND AhLE.lehrmaterial_einsicht_ID F.lehrmaterial_einsicht_ID
                       
OR
                           
LE.ID F.lehrmaterial_einsicht_ID
                       
AND AhK.account_ID '".$Account_ID."'
                       
AND KhLE.klasse_ID AhK.klasse_ID
                       
AND KhLE.lehrmaterial_einsicht_ID F.lehrmaterial_einsicht_ID
                    GROUP BY
                       LE
.ID
                    ORDER BY
                       LE
.ID ASC 
Mit Zitat antworten
  #19  
Alt 19.11.2010, 18:38:05
thomas_w thomas_w ist offline
Junior Member
 
Registriert seit: Aug 2010
Alter: 14
Beiträge: 395
AW: Ausgabe trotz leere Tabellen

Zitat:
Zitat von McB_sser Beitrag anzeigen

z. B AhLE hat das recht auf die Kategorie Sonstiges
KhLE hat das recht auf Weihnachtsfeier
so wird Weihnachtsfeier nicht ausgegeben nur Sonstiges
Mal ehrlich, soll ich das jetzt verstehen (können) oder nicht?


EDIT:
Offensichtlich bestehst Du auf Deinem AND und OR mischmasch in der WHERE Klausel. Ich frage mich, wieso ich Dir die Geschichte mit den Klammern erzählt habe.

Zitat:
..
WHERE
LE.ID = F.lehrmaterial_einsicht_ID
AND F.sichtbar = '1'
OR
LE.ID = F.lehrmaterial_einsicht_ID
AND AhLE.account_ID = '".$Account_ID."'
AND AhLE.lehrmaterial_einsicht_ID = F.lehrmaterial_einsicht_ID
OR
LE.ID = F.lehrmaterial_einsicht_ID
AND AhK.account_ID = '".$Account_ID."'
AND KhLE.klasse_ID = AhK.klasse_ID
AND KhLE.lehrmaterial_einsicht_ID = F.lehrmaterial_einsicht_ID
..
Ich denke, ich bin jetzt raus und wünsche Dir noch viel Erfolg bei der Lösung.

Grüße
Thomas
__________________
Die SQL-Backstube
Bietet Rezepte, Lösungen und ausführliche Beispiele rund um gesundes SQL und zufriedene Datenbanken.

Geändert von thomas_w (19.11.2010 um 18:54:57 Uhr) Grund: EDIT
Mit Zitat antworten
  #20  
Alt 19.11.2010, 19:15:32
McB_sser McB_sser ist offline
Anfänger
 
Registriert seit: Apr 2008
Beiträge: 66
AW: Ausgabe trotz leere Tabellen

Was für eine Geschichte? Ich hatte in der tat deine version laufen lassen aber es hatte nicht den Effekt den es haben sollte und die Klammern kann man auch weglassen da sie keinen weiteren sinn ergeben.

was sinnvoll wäre wäre meinermeinung nach das:
PHP-Code:
// [...]
WHERE
                           LE
.ID F.lehrmaterial_einsicht_ID
                       
AND
                          (
                                 
F.sichtbar '1'
                             
OR
                                 
AhLE.account_ID '".$Account_ID."'
                             
AND AhLE.lehrmaterial_einsicht_ID F.lehrmaterial_einsicht_ID
                             
OR
                                 
AhK.account_ID '".$Account_ID."'
                             
AND KhLE.klasse_ID AhK.klasse_ID
                             
AND KhLE.lehrmaterial_einsicht_ID F.lehrmaterial_einsicht_ID
                          
)
// [...] 
aber ok, gut werde ich die Abfrage nun Splitten... Danke für deine Unterstützung.
Mit Zitat antworten
Antwort


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

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

BB-Code ist an.
Smileys sind aus.
[IMG] Code ist aus.
HTML-Code ist aus.

Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Problem mit Ausgabe von 2 Tabellen Gomilli MySQLi/PDO/(MySQL) 2 30.05.2008 09:30:27
Trotz Daten keine Ausgabe - ich werd' noch wahnsinnig... hoagie007 PHP für Fortgeschrittene und Experten 1 12.08.2007 01:21:41
3fache Ausgabe beim Verbinden zweier Tabellen CryzHiss MySQLi/PDO/(MySQL) 2 18.03.2007 14:04:37
2 Tabellen abfragen Ausgabe komisch Afrika MySQLi/PDO/(MySQL) 12 09.05.2005 12:59:28
Ausgabe verknüpfter Tabellen klaus-maus MySQLi/PDO/(MySQL) 8 28.02.2005 11:09:35


Alle Zeitangaben in WEZ +2. Es ist jetzt 20:44:38 Uhr.


Powered by vBulletin® Version 3.8.3 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.


© 2001-2024 E-Mail SELFPHP OHG, info@selfphp.deImpressumKontakt