php.de

Zurück   php.de > Webentwicklung > Datenbanken

Datenbanken SQL und Co

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 18.10.2011, 14:00  
Neuer Benutzer
 
Registriert seit: 12.03.2010
Beiträge: 14
PHP-Kenntnisse:
Anfänger
atkaz befindet sich auf einem aufstrebenden Ast
Standard Maileingang wie bei facebook

Hallo Leute,

ich bin gerade dabei einen Maileingang zu erstellen, wie facebook den hat.

Ich habe das ganze mit Hilfe von UNION versucht, funktioniert auch das Problem ist nun das ich kein GROUP BY einbauen kann um die Auflistung der Mails zu ermöglichen.

ich habe folgendes Probiert:

Code:
SELECT distinct conversation_id FROM ( 
		(SELECT * 
		FROM user_messages_in as m_in 
		WHERE   m_in.receiver_id = $id)
		UNION 
		(SELECT * 
		FROM user_messages_out as m_out 
		WHERE  m_out.sender_id = $id)
		) as t GROUP BY t.conversation_id 
		");
Würde mich freuen, wenn mir da jemand helfen könnte.
atkaz ist offline   Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 18.10.2011, 14:06  
moderatives Dielektrikum
 
Benutzerbild von nikosch
 
Registriert seit: 21.05.2008
Beiträge: 35.987
PHP-Kenntnisse:
Fortgeschritten
nikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunft
Standard

Bitte das Problem an diesem Versuch beschreiben.
__________________
--
One pixel is still too big. Please make it smaller. ASAP.

Initiative Mittelstand.
Die wichtigste Gestaltungsregel im Screendesign ist Pi mal Daumen des Arbeitgebers.
--
nikosch ist offline   Mit Zitat antworten
Alt 18.10.2011, 14:07  
Erfahrener Benutzer
 
Benutzerbild von wolf29
 
Registriert seit: 17.03.2010
Beiträge: 1.833
PHP-Kenntnisse:
Fortgeschritten
wolf29 wird schon bald berühmt werdenwolf29 wird schon bald berühmt werden
Standard

Hi.

Klar, was genau ist den dein Problem? Gibt es Fehlermeldungen? In der Doku zur Verwendung mal geschaut...usw?

mfg Wolf29
__________________
while (!asleep()) sheep++;

Unterschätze nie jemanden der einen Schritt zurück geht! Er könnte Anlauf nehmen.
wolf29 ist offline   Mit Zitat antworten
Alt 19.10.2011, 15:06  
Neuer Benutzer
 
Registriert seit: 12.03.2010
Beiträge: 14
PHP-Kenntnisse:
Anfänger
atkaz befindet sich auf einem aufstrebenden Ast
Standard

Das Problem besteht darin, dass ich eine Auflistung alles Mails die der Benutzer entweder empfangen oder versendet hat. Das ganze sol halt so wie bei facebook aussehen

Beispiel:
Max Mustermann
Hallo, ich habe mal eine Frage....

Die Auflistung kriege ich mit der folgenden Abfrage hin:
Code:
SELECT t.*
 FROM ".$this->db->dbprefix("user_messages_in")." as t
JOIN ( SELECT *  
FROM ".$this->db->dbprefix("user_messages_out")." as m_out
 GROUP BY conversation_id ) g
ON g.conversation_id = t.conversation_id
 WHERE g.sender_id = $id OR t.receiver_id=$id
 GROUP BY conversation_id
ORDER BY id ASC
Die Sachen werden jetzt auch gruppiert.Das Problem besteht jetzt darin, dass ich immer die erste Nachricht bekomme, ich möchte aber das die aktuellste bzw. die am letzen versendete Nachricht(unter dem Namen) angezeigt wird.
atkaz ist offline   Mit Zitat antworten
Alt 19.10.2011, 15:09  
Erfahrener Benutzer
 
Registriert seit: 03.08.2010
Beiträge: 1.140
PHP-Kenntnisse:
Anfänger
hausl wird schon bald berühmt werdenhausl wird schon bald berühmt werden
Standard

Zitat:
... ich bin dabei ein Nachrichten-System zu schreiben. Es soll so funktionieren, wie man es z.B. aus Facebook kennt. Sodass man in seinem Posteingang nur nach Gesprächspartner gruppierte Einträge sieht.(Übersicht)
...
http://www.php.de/datenbanken/84019-...ann-group.html ([Erledigt] erst ORDER BY dann GROUP BY)

LG
__________________
Keine Zahl != ein Zeichen das keine Zahl ist
hausl ist offline   Mit Zitat antworten
Alt 19.10.2011, 15:30  
Erfahrener Benutzer
 
Registriert seit: 19.06.2009
Beiträge: 837
PHP-Kenntnisse:
Fortgeschritten
Jens Clasen ist einfach richtig nettJens Clasen ist einfach richtig nettJens Clasen ist einfach richtig nettJens Clasen ist einfach richtig nettJens Clasen ist einfach richtig nett
Standard

@hausl: Die in dem von Dir verlinkten Thread letztendlich gewählte Lösung ist allerdings eine sehr unschöne, da sie ein Fehlverhalten (bzw. ein mit ziemlich wenig Bedacht standardmäßig aktiviertes Feature) von MySQL ausnutzt. Lass da mal jmd. auf die Idee kommen, ONLY_FULL_GROUP_BY auszudrehen.

Im anderen Thread hat ChrisB diesen Link gepostet. Der enthält einen besseren Lösungsansatz.

Gruß Jens
Jens Clasen ist offline   Mit Zitat antworten
Alt 19.10.2011, 15:36  
Erfahrener Benutzer
 
Registriert seit: 03.08.2010
Beiträge: 1.140
PHP-Kenntnisse:
Anfänger
hausl wird schon bald berühmt werdenhausl wird schon bald berühmt werden
Standard

Sry, hab ich nicht g'scheit dazugeschrieben.. mir ging es nur generell um die Verlinkung des anderen Threads da es um das selbe Thema ging, nicht speziell um "die Lösung" dort.
__________________
Keine Zahl != ein Zeichen das keine Zahl ist
hausl ist offline   Mit Zitat antworten
Alt 20.10.2011, 16:06  
Neuer Benutzer
 
Registriert seit: 12.03.2010
Beiträge: 14
PHP-Kenntnisse:
Anfänger
atkaz befindet sich auf einem aufstrebenden Ast
Standard

Sooo...habs nun

sollte jemand das Gleichve vorhaben, bitte schön:

Mailliste :

Code:
"SELECT *,CONCAT(first_name,last_name) as full_name FROM (
											SELECT conversation_id,
			message,
			receiver_id,
			sender_id,
			created_on,
			IF(m_in.receiver_id <>$id, 
			   m_in.receiver_id,m_in.sender_id) AS partnerId
	FROM user_messages_in AS m_in
	WHERE m_in.receiver_id = $id 
											UNION 
											SELECT  conversation_id,
			message,
			receiver_id,
			sender_id,
			created_on,
			IF(m_out.sender_id <>$id, 
			  m_out.sender_id,m_out.receiver_id) AS partnerId
											FROM user_messages_out AS m_out
	WHERE m_out.sender_id = $id 
	ORDER BY created_on DESC
	) as m_data
	 INNER JOIN   profiles as user
	ON user.user_id = m_data.partnerId
	 GROUP BY m_data.conversation_id
Mailbox:
Code:
SELECT * FROM(
	SELECT conversation_id,titel,message,created_on,receiver_id,sender_id,CONCAT(first_name,last_name) AS full_name
	FROM user_messages_in as m_in
	INNER JOIN profiles AS profile
	ON m_in.sender_id = profile.user_id 
	WHERE conversation_id = $con_id AND m_in.receiver_id = $user_id 
						
	UNION
      SELECT conversation_id,titel,message,created_on,receiver_id,sender_id,CONCAT(first_name,last_name) AS full_name
 	FROM user_messages_in AS m_out
	JOIN profiles AS profile 
	ON m_out.sender_id = profile.user_id 
	WHERE conversation_id = $con_id AND m_out.sender_id = $user_id
	)as msg ORDER BY msg.created_on ");
Sollte jemand noch verbesserungsvorschläge haben, würde ich mich freuen, wenn dieser diese posten würde.

mfg
atkaz
atkaz 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
Facebook likes sortieren CCC JavaScript, Ajax und mehr 0 17.09.2011 12:46
[Erledigt] Facebook &quot;like&quot; button zu jeder news bahrain PHP Einsteiger 14 12.09.2011 10:57
[Erledigt] facebook bild link mistermint PHP Einsteiger 1 13.08.2011 17:01
Vanity urls ala Facebook und Wikipedia freshjayson HTML, Usability und Barrierefreiheit 3 11.08.2011 15:52
Facebook Login und eigener Login Paralell blackcrow PHP-Fortgeschrittene 17 29.05.2011 21:03
Facebook Login Scheffi PHP Einsteiger 8 25.05.2011 07:53
Gespeicherte Vorschaubilder von Webseiten bei Facebook löschen mentalman Off-Topic Diskussionen 9 10.05.2011 01:18
Webentwickler für Facebook Applikationen gesucht yourfans Gewerblich 2 27.04.2011 11:47
Facebook Plugin Martini-1988 PHP Einsteiger 4 24.02.2011 22:10
[Erledigt] Suche versierten Facebook App Programmierer ePole Gewerblich 1 15.11.2010 14:16
[Erledigt] Facebook Graph Fatal Error mistermint PHP Tipps 2010 2 25.10.2010 21:27
Facebook Connect Status posten Jan M. PHP Tipps 2010 0 27.09.2010 22:38
"Facebook Connect" oder auf Facebook posten Maaax PHP-Fortgeschrittene 2 16.08.2009 23:00
Auftrag: Freundefinder über E-Mail-Adressbuch wie facebook Christof Moser Beitragsarchiv 2 28.05.2008 13:46

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
facebook maileingang

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