Zurück   Flashforum > Flash und Server > PHP und MySQL

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 07-07-2011, 17:50   #1 (permalink)
Style Freak
 
Registriert seit: Nov 2004
Ort: Radolfzell
Beiträge: 615
mySQL Abfrage mit Kriterien 2er Tabellen

Ich wollte mit mySQL eine abfrage stellen aus folgenden Datenbanken:
Mail Übersicht: als T1
[keyid | autor | empfaenger | autuid | empuid | time | titel]

Nachrichten:
[id | keyid | time | text | autor | read]
__________________________________________________ ________

So das ich bei der anzeige der Übersicht folgende Werte angezeigt bekomme wollte ich das so machen:
PHP-Code:
SELECT
    T1
.autor AS autor,
    
T1.keyid AS keyid,
    
T1.autuid AS autid,
    
T1.empfaenger AS empf,
    
T1.empuid AS empid,
    
T1.time AS timer,
    
T1.titel AS Titel,
FROM
    mail_post 
AS T1
WHERE
    T1
.autor '$myuid'
OR
    
T1.empfaenger 'myuid'
ORDER BY
    T1
.time
Desc
UNION SELECT
    T2
.text AS mailtxt,
    
T2.autor AS sender,
    
T2.read AS gelesen
FROM
    mail_db 
AS T2
WHERE
    T2
.keyid T1.keyid
ORDER BY
    T2
.id
DESC LIMIT 1 
Doch wenn ich jetzt die gesammte Anzahl aller Nachrichten (T2) anzeigen möchte die mit der "keyid" vorhanden sind, muss ich das wie machen? Soll eben alle Beiträge Zählen unter der "keyid".

Und am ende sollen alle Nachrichten die ich Gesendet oder Empfangen haben wie folgt untereinander angezeigt werden:

__________________________________________________ ______________
AUTOR/ Titel -- (anzahl nachr.) [Last post time]
---------------------------------------------------
Vorschautext aus T2.text
__________________________________________________ ______________
__________________________________________________ ______________
AUTOR/ Titel -- (anzahl nachr.) [Last post time]
---------------------------------------------------
Vorschautext aus T2.text
__________________________________________________ ______________
....


Die Frage im kurzen ist wie Zähle ich alle nachrichten in einer Unterhaltung, und wie liste ich alle Unterhaltungen wie oben nach den Jeweiligen Kriterien auf?
so das ich in der vorschau immer die letzte gesendete oder empfangene nachricht sehe (Text) den Absender davon und die Absende zeit.
__________________
Mit dieser Signatur hast du eben mal so unnötige 4Kb herrunter geladen!
ciberjoerg ist offline   Mit Zitat antworten
Alt 07-07-2011, 18:18   #2 (permalink)
Inventar
 
Benutzerbild von Nightflyer
 
Registriert seit: Jul 2002
Beiträge: 6.882
Ich verstehe die Struktur nicht ganz, wozu hast du da zwei Tabellen ( autor und time sind redundant?)?

Das zählen von Einträgen funktioniert über COUNT(`spaltenname`) AS wert GROUP BY (`spaltenname`), je nachdem als Sub-Select
__________________
(\__/)
(='.'=)
(")_(")
Nightflyer ist offline   Mit Zitat antworten
Alt 07-07-2011, 18:39   #3 (permalink)
Style Freak
 
Registriert seit: Nov 2004
Ort: Radolfzell
Beiträge: 615
Die autor und Time spalte sind schon mal für eine zukünftige erweiterung des scriptes, eines multimailers. die 2 tabellen dafür sollen dafür dienen, 1. db ist die auflistung der insgesammten konversationen die mit der idkey aufgelistet werden. und die 2. db ist die nachrichten tabelle in der alle nachrichten gespeichert werden sollen und mit dem key id der eigentlichen konversation zugeordnet werden.

dann füge ich bei...
UNION SELECT
COUNT(`keyid`) AS menge GROUP BY (`keyid`),

... ein oder?

und wie kann ich von der höchsten id der nachrichten die unter der gleichen keyid zu finden sind die letzte anzeigen lassen?
__________________
Mit dieser Signatur hast du eben mal so unnötige 4Kb herrunter geladen!

Geändert von ciberjoerg (07-07-2011 um 18:44 Uhr)
ciberjoerg ist offline   Mit Zitat antworten
Alt 07-07-2011, 22:29   #4 (permalink)
Inventar
 
Benutzerbild von Nightflyer
 
Registriert seit: Jul 2002
Beiträge: 6.882
Ohne (Dummy-)Datenbankwerte kann ich dir da kaum helfen da auch ich sowas erst in echt testen müsste, ansonsten kommt da irgendwas raus. Und selbst so ist das noch ziemlich viel Arbeit wofür ich grad bis Montag leider keine Zeit habe.
__________________
(\__/)
(='.'=)
(")_(")
Nightflyer ist offline   Mit Zitat antworten
Alt 08-07-2011, 13:20   #5 (permalink)
Style Freak
 
Registriert seit: Nov 2004
Ort: Radolfzell
Beiträge: 615
kein problem bekomm das denk ich mal übers wochenende hin und wenn nicht frag ich eben nochmal
__________________
Mit dieser Signatur hast du eben mal so unnötige 4Kb herrunter geladen!
ciberjoerg ist offline   Mit Zitat antworten
Alt 02-09-2011, 08:19   #6 (permalink)
Neuer User
 
Registriert seit: Sep 2011
Beiträge: 1
Hi Leute,

habe ein ähnliches Problem, komme aber nicht auf die Lösung. Wer kann helfen?
Zwei Datenbanken DB1 mit Bearbeiter und DB2 mit Bearbeiter.
Be1 der Abfrage im MYSQL Terminal zeigt er mir beide Felder aus beiden DBs
SELECT DB.Bearbeiter, DB.Bearbeiter FROM DB1 Left Join DB2 ON DB1.Nr = DB2.Nr Where DB1.Name = 'Mustermann'";
Anzeige Müller und Maier

bei der Abfrage über PHP erhalte ich nur ein Feld.
$sql1 = "SELECT DB1.Bearbeiter, DB2.Bearbeiter FROM DB1 Left Join DB2 ON DB1.Nr = DB2.Nr Where DB1.Name = 'Mustermann'";
$result1 = mysql_query($sql1);
$row1 = mysql_fetch_assoc($result1);

echo "<table border='1' cellspacing='1' cellpadding='1' align='center' width='660'>\n";
while ($row1 = mysql_fetch_assoc($result1)) {
echo "<tr>";
foreach ($row1 as $key => $value) {
echo "<td BGCOLOR='#E6E6FA' align='center' width='165'>$value&nbsp;</td>\n";
}
echo "</tr>";
}
echo "</table>\n";

Bei der Ausgabe über html zeigt er mir dann nur das zweite Feld an
Warum?

Danke im Voraus

Teufel964
Teufel964 ist offline   Mit Zitat antworten
Antwort

Lesezeichen

Themen-Optionen
Ansicht

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 an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks sind an
Pingbacks sind an
Refbacks sind an


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
mysql/php abfrage über 3 tabellen Dennis PHP und MySQL 6 17-01-2008 11:42
MySQL Abfrage über 3 Tabellen 59FIFTY PHP und MySQL 2 26-10-2006 11:00
Mysql Abfrage über 2 Tabellen g3ntle]V[an PHP und MySQL 2 22-10-2006 18:59
mysql abfrage aus mehrere tabellen Steelman PHP und MySQL 13 31-10-2005 07:50
2 tabellen und eine Mysql Abfrage Funkey PHP und MySQL 4 11-08-2004 10:11


Alle Zeitangaben in WEZ +1. Es ist jetzt 14:20 Uhr.

Domains, Webhosting & Vserver von Host Europe
Unterstützt das Flashforum!
Adobe User Group


Copyright ©1999 – 2012 Marc Thiele