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 14-07-2010, 18:27
cali-mero
 Registrierter Benutzer
Links : Onlinestatus : cali-mero ist offline
Registriert seit: Jul 2010
Beiträge: 2
cali-mero befindet sich auf einem aufstrebenden Ast
Standard Problem mit dem abfragen mehrer Tabellen (JOINS)

Hallo miteinander,

ich hab ein problem mit dem abfragen mehrer Tabellen (JOINS). Ich hab über
euer Tutorial "MySQL für Anfänger einfach erklärt" herausgefunden wie das
mit dem JOINS funktioniert (wenn ich mit der userid suche funktioniert es
auch nur nicht wenn ich die userid suche).

Zur Erklärung:
Ich hab 4 Tabellen users, statusdr, statuset und statuspi

in der Tabelle users stehen die: userid, uservname, usernname, usw....
in der Tabelle statusdr stehen die: statusid, status, fuserid, usw...
die Tabellen statuset und statuspi sind genau wie die Tabelle statusdr
aufgebaut. Der Status in den 3 Tabellen besteht aus einer Zahl 1 bis 5.
Jeder Benutzer kann nur jeweils in einem Status sein.

Wenn ich nun mit den userid's suche bekomme ich ein Ergebniss das fast stimmt
es werden auch Benutzer angezeigt die keinen Status haben:
Code:
SELECT *
FROM users
LEFT JOIN statusdr ON users.userid=statusdr.fuserid
LEFT JOIN statuset ON users.userid=statuset.fuserid
LEFT JOIN statuspi ON users.userid=statuspi.fuserid
Nun hätte ich gern eine Liste in der von oben nach unten alle Statuse
aufgeführt sind und unter dem jeweiligen Status die Benutzer stehen:

Status 1
Benutzer 12
Benutzer 16

Status 2
Benutzer 1
Benutzer 2

Status 3

Status 4

Status 5
Benutzer 5

und hier komm ich nicht mehr weiter.

thanx schon mal jetzt für eure hilfe

MFG
cali-mero
Mit Zitat antworten
  #2 (permalink)  
Alt 14-07-2010, 20:31
AmicaNoctis
  Moderatorin
Links : Onlinestatus : AmicaNoctis ist offline
Registriert seit: Jul 2009
Beiträge: 5.709
Blog-Einträge: 9
AmicaNoctis sorgt für eine eindrucksvolle AtmosphäreAmicaNoctis sorgt für eine eindrucksvolle Atmosphäre
Standard

Hallo,

Zitat:
Zitat von cali-mero Beitrag anzeigen
bekomme ich ein Ergebniss das fast stimmt
es werden auch Benutzer angezeigt die keinen Status haben
Wenn dich das stört, nimm einen inner Join (ohne left, also nur „JOIN“).

Zitat:
Zitat von cali-mero Beitrag anzeigen
Nun hätte ich gern eine Liste in der von oben nach unten alle Statuse
aufgeführt sind und unter dem jeweiligen Status die Benutzer stehen
Sowas gibt es nicht, aber das kannst du dann mit PHP zurechtbasteln. Dieses Vorgehen nennt man Gruppenwechsel.

Gruß,

Amica
__________________
Hast du die Grundlagen zur Fehlersuche gelesen? Hast du Code-Tags benutzt?
Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
Super, danke!

Geändert von AmicaNoctis (14-07-2010 um 20:48 Uhr)
Mit Zitat antworten
  #3 (permalink)  
Alt 19-07-2010, 20:29
cali-mero
 Registrierter Benutzer
Links : Onlinestatus : cali-mero ist offline
Registriert seit: Jul 2010
Beiträge: 2
cali-mero befindet sich auf einem aufstrebenden Ast
Standard

Hallo,

danke für den Tipp ich habs jetzt so gelöst:

PHP-Code:
<?php

require("./config.inc.php");


$sql "TRUNCATE TABLE `tmp`";
mysql_db_query($dbname$sql);

$sql "INSERT INTO tmp (statusid, userid)\n"
    
"SELECT fstatusid, fuserid FROM statusdr\n"
    
"WHERE statusdr.fstatusid > 0";
mysql_db_query($dbname$sql);

$sql "INSERT INTO tmp (statusid, userid)\n"
    
"SELECT fstatusid, fuserid FROM statuset\n"
    
"WHERE statuset.fstatusid > 0";
mysql_db_query($dbname$sql);

$sql "INSERT INTO tmp (statusid, userid)\n"
    
"SELECT fstatusid, fuserid FROM statuspi\n"
    
"WHERE statuspi.fstatusid > 0\n";
mysql_db_query($dbname$sql);

$sql "SELECT tmp.statusid, tmp.userid, user.firstname, user.lastname\n"
    
"FROM tmp\n"
    
"LEFT JOIN user ON tmp.userid=user.userid\n"
    
"ORDER BY tmp.statusid LIMIT 0, 30 ";



$resultat mysql_db_query($dbname$sql);

while (
$row mysql_fetch_array($resultat)) {
extract($row);    
    
echo 
"
<table border=1 width=200px>
<tr>
    <td>Status $statusid</td>
    <tr></tr>
</tr>

<tr>
    <tr><br></tr>

    <td>$firstname $lastname</td>
</tr>
"
;

}

echo 
"</table>";
?>
das Script ist mit sicherheit nicht ganz perfekt so erfüllt aber seinen
Zweck.

MFG
cali-mero
Mit Zitat antworten
  #4 (permalink)  
Alt 19-07-2010, 20:42
eagle275
 Registrierter Benutzer
Links : Onlinestatus : eagle275 ist offline
Registriert seit: Jun 2010
Beiträge: 403
eagle275 befindet sich auf einem aufstrebenden Ast
Standard

bist du sicher, dass du das

echo "<table blabla>" IN der letzten while-Schleife haben willst ... das sieht viel "hübscher" davor aus ^^
__________________

Wer LESEN kann, ist klar im Vorteil!
Mit Zitat antworten
Antwort

Lesezeichen


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

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Abfragen mehrer Zeilen in Datenbank Shikamaru PHP Developer Forum 4 06-04-2010 16:29
JOINS - das leidige Thema (mehrere Tabellen abfragen) mrhappiness SQL / Datenbanken 10 28-08-2006 11:47
JOINs in Update oder Delete-Abfragen? em-!x SQL / Datenbanken 2 25-07-2004 03:45
Mehrer MySQL-Abfragen M@tzM@N SQL / Datenbanken 3 23-12-2002 18:35
Mehrer Tabellen auslesen ?? ProfOli SQL / Datenbanken 2 08-05-2002 10:47

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

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

Wissensbestand in Unternehmen
Wissensbestand in UnternehmenLebenslanges Lernen und Weiterbilden sichert Wissensbestand in Unternehmen

25.05.2018 | Berni


 

Aktuelle PHP Scripte

ebiz-trader 6.0 - Das professionelle PHP Marktplatz Script ansehen ebiz-trader 6.0 - Das professionelle PHP Marktplatz Script

Mit unserer Lösungen können Sie nahezu jeden B2B / B2C Marktplatz betreiben den Sie sich vorstellen können. Ganz egal ob Sie einen Automarktplatz, Immobilenportal oder einfach einen Anzeigenmarkt betreiben möchten. Mit ebiz-trader können Sie Ihre Anforder

11.10.2018 Berni | Kategorie: PHP/ Anzeigenmarkt
PHP Server Monitor

PHP Server Monitor ist ein Skript, das prüft, ob Ihre Websites und Server betriebsbereit sind.

11.09.2018 Berni | Kategorie: PHP/ Security
PHP WEB STATISTIK ansehen PHP WEB STATISTIK

Die PHP Web Statistik bietet Ihnen ein einfach zu konfigurierendes Script zur Aufzeichnung und grafischen und textuellen Auswertung der Besuchern Ihrer Webseite. Folgende zeitlichen Module sind verfügbar: Jahr, Monat, Tag, Wochentag, Stunde Folgende son

28.08.2018 phpwebstat | Kategorie: PHP/ Counter
 Alle PHP Scripte anzeigen

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