| |||||||
Du magst keine Werbung? Wir auch nicht!
Einfach registrieren und die Werbung ist weg. Diese Nachricht sehen nur nicht registrierte Nutzer.
![]() |
| | LinkBack | Themen-Optionen | Ansicht |
| | #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: 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! |
| | |
| | #2 (permalink) |
| Inventar 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
__________________ (\__/) (='.'=) (")_(") |
| | |
| | #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) |
| | |
| | #4 (permalink) |
| Inventar 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.
__________________ (\__/) (='.'=) (")_(") |
| | |
| | #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 </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 |
| | |
![]() |
| Lesezeichen |
| Themen-Optionen | |
| Ansicht | |
| |
Ä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 |