php-resource



Zurück   PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr > Entwicklung > SQL / Datenbanken
 

Login

 
eingeloggt bleiben
star Jetzt registrieren   star Passwort vergessen
 

 

 


SQL / Datenbanken Probleme mit SQL? Hier könnt ihr eure Fragen zu SQL (MySQL, PostgreSQL, MS-SQL und andere ANSI-SQL Server) los werden.

Antwort
 
LinkBack Themen-Optionen Thema bewerten
  #1 (permalink)  
Alt 25-10-2015, 12:23
n3rf0r
 Registrierter Benutzer
Links : Onlinestatus : n3rf0r ist offline
Registriert seit: Oct 2015
Beiträge: 5
n3rf0r befindet sich auf einem aufstrebenden Ast
Standard Datenbank auslesen & Vergleichen

Hallo!

Erst einmal zur Info: Ich bin neu hier, UND ich wünsche euch einen schönen Sonntag.

Direkt zu meinem Problem:
Ich habe Zwei Tabellen in einer MySQL Datenbank.
'relationship' und 'statusfeed'.

Die relationship Tabelle besteht aus: 'user_one_id', 'user_two_id' und status.
die statusfeed tabelle besteht aus: 'feed_ID', 'user_ID', 'content' und timestamp.

Soviel zum Vorwort.

Ich muss nun mittels der relationship tabelle abfragen ob die user befreundet sind. Ich kann ein Array ausgeben lassen, welches die User IDs der Leute anzeigt, die mit dir befreundet sind.

Daraus möchte ich dann ableiten, dass die ID des Freundes dann auch die ID in der statusfeed tabelle ist.

So weit so gut. Problem ist aber, wenn ich das alles auslese, dann wird mit erst die contents von user_id 2 und dann die contents von user_id 3 angezeigt.

Ich möchte aber, dass die contents durcheinander sind. also nicht, dass erst die erste ID ausgelesen wird und dann die zweite., sondern es nach uhrzeit sortiert ist.

Ich hoffe ihr könnt mir helfen und ich konnte euch mein Problem erklären.

MfG
Mit Zitat antworten
  #2 (permalink)  
Alt 26-10-2015, 14:27
Benutzerbild von mermshaus mermshaus
 Registrierter Benutzer
Links : Onlinestatus : mermshaus ist offline
Registriert seit: Jun 2009
Beiträge: 451
mermshaus wird schon bald berühmt werden
Standard

Willkommen im Forum.

Das klingt vielleicht zu einfach, aber wie wäre es mit ORDER BY timestamp ASC als Zusatz in der Query, mit der du die Daten holst?
Mit Zitat antworten
  #3 (permalink)  
Alt 26-10-2015, 14:36
n3rf0r
 Registrierter Benutzer
Links : Onlinestatus : n3rf0r ist offline
Registriert seit: Oct 2015
Beiträge: 5
n3rf0r befindet sich auf einem aufstrebenden Ast
Standard

Lese ich ja genau so aus.

Vermutlich liegt das Problem aber daran, dass ich in der einen Tabelle die Daten der Nutzer auslese und sie mit der Anderen Tabelle abgleichen will.
Aber die Daten aus Tabelle 1 sind in einem Array gespeichert.

Wäre dies so ein Thema vonwegen 'MYSQL JOIN'?
Mit Zitat antworten
  #4 (permalink)  
Alt 26-10-2015, 17:22
Benutzerbild von mermshaus mermshaus
 Registrierter Benutzer
Links : Onlinestatus : mermshaus ist offline
Registriert seit: Jun 2009
Beiträge: 451
mermshaus wird schon bald berühmt werden
Standard

Ja, Joins könnten sicher ein Ansatz sein. Ich glaube, wenn dir jemand detaillierter dabei helfen soll, müsstest du Testdaten posten, mit denen man die Tabellen lokal nachstellen kann (also SQL-Statements mit CREATE und INSERT).
Mit Zitat antworten
  #5 (permalink)  
Alt 26-10-2015, 18:01
n3rf0r
 Registrierter Benutzer
Links : Onlinestatus : n3rf0r ist offline
Registriert seit: Oct 2015
Beiträge: 5
n3rf0r befindet sich auf einem aufstrebenden Ast
Standard

Wo soll ich da anfangen. Ich probiers.

Wir gehen davon aus, das wir selber die ID 1 haben.

Tabelle relationship
user_one_id(INT) | user_two_id(INT) | status(INT)
1 | 2 | 1 <- 1 = befreundet
1 | 3 | 1
2 | 3 | 3 <- 3 = abgelehnt

Tabelle statusfeed
user_ID(INT) | content(LONGTEXT) | timestamp(TIMESTAMP)
1 | kleinerbeispieltext | 2015-10-25 01:38:08
2 | kleinerbeispiel | 2015-10-25 01:40:00
3 | kleinerbeispieltext | 2015-10-25 01:40:08
2 | kleinerbeispieltext | 2015-10-25 01:41:00

SO viel zum Aufbau der Tabellen.
Das problem ist jetzt, wie gesagt mittels PHP erst einmal zu prüfen ob die User befreundet sind. Das wäre möglich mit einer foreach-Schleife, wobei dann aber die ID's als Array ausgegeben werden.

Sobald wir die ID's der Freunde haben müssen wir nun den statusfeed auslesen. D.h. wir gucken ob die user_ID aus dem statusfeed eine Freunde ID ist. Ist das der Fall, dann soll der content angezeigt werden.

Natürlich ist es dann von nöten, dass es nach dem timestamp sortiert wird, damit das aktuellste oben steht.

Ich habe schon Kopfschmerzen, vielleicht habt ihr eine Idee.

btw: hab zwar hinbekommen mittels "join" dass die Beiträge nach der Uhrzeit sortiert werden und überprüft wird, ob der Beitrag von einem Freund ist, ABER es lieferte nur wenige Ergebnisse (komischerweise 6).
Aber egal. Mich würden eure Lösungsvorschläge interessieren, also wie ihr da lösen würdet,

Schonmal vielen Dank!
Mit Zitat antworten
  #6 (permalink)  
Alt 29-10-2015, 08:41
n3rf0r
 Registrierter Benutzer
Links : Onlinestatus : n3rf0r ist offline
Registriert seit: Oct 2015
Beiträge: 5
n3rf0r befindet sich auf einem aufstrebenden Ast
Standard

Alles klar, hat sich erledigt.
Mit Zitat antworten
Antwort

Lesezeichen

Stichworte
foreach, mysql, php


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

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
&amp;/&quot; aus MySQL-Datenbank korrekt umwandeln und in Meta Tags ausgeben? baerenwurm PHP Developer Forum 3 03-03-2009 21:51
DB auslesen & vergleichen owi PHP Developer Forum 1 19-08-2008 19:20
Verzeichnis auslesen und mit Datenbank vergleichen lotte SQL / Datenbanken 5 14-09-2006 18:03
Verzeichnisse auslesen und mit Datenbank vergleichen deepc PHP Developer Forum 3 11-08-2004 19:00
Vergleichen & Feststellen presentweb PHP Developer Forum 5 09-03-2004 18:52

Themen-Optionen
Thema bewerten
Thema bewerten:

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 are an
Pingbacks are an
Refbacks are an


PHP News

Die RIGID-FLEX-Technologie
Die RIGID-FLEX-TechnologieDie sogenannte "Flexible Elektronik" , oftmals auch als "Flexible Schaltungen" bezeichnet, ist eine zeitgemäße Technologie zum Montieren von elektronischen Schaltungen.

06.12.2018 | Berni

ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlicht
ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlichtDie bekannte Marktplatzsoftware ebiz-trader ist in der Version 7.5.0 veröffentlicht worden.

28.05.2018 | Berni


 

Aktuelle PHP Scripte

myExplorer

explorer-ähnliche Darstellung von Verzeichnisinhalten. Ideal für Downloadordner. Möglichkeit Filter zu definieren um nur bestimmte Dateien/Ordner darzustellen. Sehr leicht einzubinden.

16.07.2019 bmitt | Kategorie: PHP/ File
WebAudio Player

Dieser Music-Player demonstriert, was mit der WebAudio-API so alles möglich ist. Er ist dazu gedacht, dass ihr euren Besuchern Musik auf der eigenen Homepage anbieten könnt.

16.07.2019 numaek | Kategorie: JAVASCRIPT/ sonstig
Plates native PHP template system

Plates ist ein natives PHP-Vorlagensystem, das schnell, einfach zu verwenden und einfach zu erweitern ist.

24.05.2019 Berni | Kategorie: PHP/ Framework
 Alle PHP Scripte anzeigen

Alle Zeitangaben in WEZ +2. Es ist jetzt 02:30 Uhr.