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 09-03-2011, 10:29
ThunderFrog
 Registrierter Benutzer
Links : Onlinestatus : ThunderFrog ist offline
Registriert seit: Mar 2011
Beiträge: 23
ThunderFrog zeigte ein beschämendes Verhalten in der Vergangenheit
Standard Daten aus mehreren Tabellen vereinen.

Hallo Community,

Ich schreibe grade ein Skript für eine Online Liga.

Nun habe ich folgende Tabellen: cup,cup_member & cup_games,user

In der Tabelle Cup sind folgende Spalten: cup_id, cup_name, date_from, date_to
Hier werden der Namen und das Datum von wann bis wann das Turnier geht gespeichert.

cup_member enthält folgende Spalten: cup_id & user_id
Das soll die Tabelle sein, wo sich die User einschreiben können, hinterher durch die Website.

cup_id bezieht sich auf tabelle => cup , die user_id bezieht sich auf die tabelle user
In der Tabelle user werden halt normale Userinformationen gespeichert mit Nickname.

In cup_games habe ich folgende Spalten: cup_game_id,cup_id,user_i,user_id2,score_home,score_away

Nun möchte ich wenn ich ein Spiel anlege, das ich bei den user_id, die user_id aus der tabelle user eintragen kann, so das ich hinterher auf der Website mir die Namen ausgeben lassen kann wer gegen wen spielt.

Das mit der ersten user_id bekomme ich ja hin, aber nicht mit der zweiten.

Die SQL Abfrage mache ich so:
Code:
SELECT cup.cup_name, user.nickname, user2.nickname, cg.score_home, cg.score_away, cg.cup_id
FROM cup_games AS cg, cup_members AS cm
INNER JOIN cup ON cg.cup_id = cup.cup_id        
INNER JOIN user AS user2 ON cg.user_id2 = user2.user_id
INNER JOIN user ON cg.user_id = user.user_id
WHERE cup.publish='1'
AND cg.user_id2 = cm.user_id
AND cg.user_id = cm.user_id
Nur jetzt sagt mir phpmyadmin:
#1054 - Unknown column 'cg.cup_id' in 'on clause'

Es besteht die Spalte cup_id in der tabelle cup_games

Hier ist nochmal ein überblick das Datenbank-Daten.

Beispiel:
In Datenbank-Tabelle user:

user_id = 1 ; nickname: Spieler 1
user_id = 2 ; nickname: Spieler 2

In Datenbank-Tabelle cup_member:

cup_id = 1 ; user_id = 1
cup_id = 1 ; user_id = 2

In Datenbank-Tabelle cup:

cup_id = 1 ; cup_name: Erster Cup

In Datenbank-Tabelle cup_games:

Cup_game_id = 1
Cup_id = 1
user_id = 1
user_id2 = 2
score_home = 3
score_away = 4

Auf der Website möchte ich jetzt folgendes Darstellen lassen:

Erster Cup
Spieler 1 - Spieler 2 3:4

Das er mir Spieler 1 anzeigt kann ich, nur der bekommt den bezug nicht zu user_id2 und kann mir nicht den Spieler 2 anzeigen.

Hoffe ich habe es verständlich erklärt

Auf der Website lasse ich es mir so anzeigen:
PHP-Code:
<?php
echo "Anzahl der Spiele im Cup: " mysql_num_rows($games_count_result);

if(
$games['publish']==1){
         echo 
"<div id=\"title\">";
         
$unixtime strtotime($games['date_from']);
         
$unixtime2 strtotime($games['date_to']);
         echo 
"<div id=\"datum_news\">" date("d.m.y"$unixtime) . "</div>";
         echo 
"<div id=\"datum_news\">" date("d.m.y"$unixtime2) . "</div>";
         echo 
"<div id=\"header_news\">" $games['cup_title'] . "</div>";

        while(
$games=mysql_fetch_array($cup_games_result)){
         echo 
"<div id=\"inhalt_news\">" $games['nickname'] . "</div>";

         echo 
"</div>";
        }}
        
    
mysql_close();   
?>
Ganz schön viel Text, hoffe da blickt noch jemand durch
Bin um jede Hilfe dankbar.
Mit Zitat antworten
  #2 (permalink)  
Alt 09-03-2011, 11:14
streuner
 Registrierter Benutzer
Links : Onlinestatus : streuner ist offline
Registriert seit: Aug 2009
Ort: Lüneburg
Beiträge: 623
streuner ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Crossposting bitte angeben (php.de)

mfg streuner
__________________
Erst wenn der letzte FTP Server kostenpflichtig, der letzte GNU-Sourcecode verkauft, der letzte Algorithmus patentiert,
der letzte Netzknoten verkommerzialisert ist, werdet Ihr merken, dass Geld nicht von alleine programmiert.

"Diese Software verdient die 3 großen GGG: --- Gesehen --- Gelacht --- Gelöscht ---"
Mit Zitat antworten
  #3 (permalink)  
Alt 09-03-2011, 11:22
ThunderFrog
 Registrierter Benutzer
Links : Onlinestatus : ThunderFrog ist offline
Registriert seit: Mar 2011
Beiträge: 23
ThunderFrog zeigte ein beschämendes Verhalten in der Vergangenheit
Standard

Alles klar
Habs verstanden.
Sry.

Thema wurde auf PHP.de gesperrt ...
Hoffe dann hier hilfe zu bekommen.

Geändert von ThunderFrog (09-03-2011 um 11:30 Uhr) Grund: Multi Post
Mit Zitat antworten
  #4 (permalink)  
Alt 09-03-2011, 11:28
h3ll
 Registrierter Benutzer
Links : Onlinestatus : h3ll ist offline
Registriert seit: Mar 2008
Beiträge: 3.578
h3ll befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von ThunderFrog Beitrag anzeigen
Bitte was ?
Das hilft mir nicht bei meinem Problem.
Ich habe es extra in mehreren Forums gepostet, weil in jedem Forum auch andere User sind, die mir helfen können.
Das wird als unhöflich angesehen. In je mehr Foren du schreibst, umso mehr Leute beschäftigen sich parallel mit deinem Problem. Es wird also parallel die selbe Arbeit geleistet und zwar von Leuten in ihrer Freizeit, gratis! Würdest du für diese Arbeit zahlen müssen, würdest du nicht mehrere Firmen parallel beauftragen, oder? Aber wenns nix kostet, kann mans ja machen...
Mit Zitat antworten
  #5 (permalink)  
Alt 09-03-2011, 11:31
Benutzerbild von onemorenerd onemorenerd
  Moderator
Links : Onlinestatus : onemorenerd ist offline
Registriert seit: Mar 2005
Ort: Berlin
Beiträge: 9.471
onemorenerd wird schon bald berühmt werdenonemorenerd wird schon bald berühmt werden
Standard

In unseren Regeln steht eindeutig, dass Crosspostings hier unerwünscht sind. Das ist in anderen Foren übrigens auch so.
Kannst froh sein, wenn der Thread hier nicht gelöscht wird!

Die Idee in vielen Foren das selbe zu posten, um so möglichst schnell Hilfe zu bekommen, ist naheliegend. Jedoch profitierst nur du davon. Wir nicht!
Wir befassen uns mit deinem Anliegen und machen so die selbe Arbeit, die gerade in anderen Foren andere User machen oder schon gemacht haben. Das ist nicht nur uns gegenüber unfair, weil es uns sinnlos Zeit und Mühe kostet, es ist auch unfair gegenüber anderen Usern, für die wir dadurch weniger Zeit haben. Bitte verstehe das und unterlasse zukünftig Crossposting oder mache sie mit Links als solche erkennbar. Danke.
Mit Zitat antworten
  #6 (permalink)  
Alt 09-03-2011, 11:32
ThunderFrog
 Registrierter Benutzer
Links : Onlinestatus : ThunderFrog ist offline
Registriert seit: Mar 2011
Beiträge: 23
ThunderFrog zeigte ein beschämendes Verhalten in der Vergangenheit
Standard

Zitat:
Zitat von h3ll Beitrag anzeigen
Das wird als unhöflich angesehen. In je mehr Foren du schreibst, umso mehr Leute beschäftigen sich parallel mit deinem Problem. Es wird also parallel die selbe Arbeit geleistet und zwar von Leuten in ihrer Freizeit, gratis! Würdest du für diese Arbeit zahlen müssen, würdest du nicht mehrere Firmen parallel beauftragen, oder? Aber wenns nix kostet, kann mans ja machen...
Hi,
ich hab es verstanden, wuste net das es so böse ist.
Habe meinen Beitrag ja auch schon editiert.

Sry nochmal.
Mit Zitat antworten
  #7 (permalink)  
Alt 09-03-2011, 13:34
ThunderFrog
 Registrierter Benutzer
Links : Onlinestatus : ThunderFrog ist offline
Registriert seit: Mar 2011
Beiträge: 23
ThunderFrog zeigte ein beschämendes Verhalten in der Vergangenheit
Standard

Hallo,

habe es jetzt hinbekommen das er mir keine Fehler mehr anzeigt, allerdings ist das Ergebniss:

MySQL lieferte ein leeres Resultat zurück (d. h. null Zeilen). ( die Abfrage dauerte 0.0689 sek. )

Die Abfrage sieht jetzt so aus:
Code:
SELECT cup.cup_name, user.nickname, user2.nickname, cg.score_home, cg.score_away, cg.cup_id
FROM  cup_members AS cm, cup_games AS cg
INNER JOIN cup ON cg.cup_id = cup.cup_id        
INNER JOIN user AS user2 ON cg.user_id2 = user2.user_id
INNER JOIN user ON cg.user_id = user.user_id
WHERE cup.publish='1'
AND cg.user_id2 = cm.user_id
AND cg.user_id = cm.user_id
Ich habe im FROM folgendes geändert:

ALT:
FROM cup_games AS cg, cup_members AS cm

NEU:

FROM cup_members AS cm, cup_games AS cg

Warum ist das Ergebniss Leer , obwohl zwei Spiele angelegt wurden ?!
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
Array aus mehreren Abfragen vereinen. Hauser PHP Developer Forum 4 29-03-2010 19:59
Abfrage aus zwei Tabellen vereinen fab_k SQL / Datenbanken 6 13-07-2007 14:28
Verschiedene Daten vereinen cyd SQL / Datenbanken 0 21-11-2005 15:23
Daten aus mehreren Tabellen mit einem Select auslesen Godfrey SQL / Datenbanken 5 15-02-2005 14:33
Durchsuchen von mehreren Tabellen cyberflip SQL / Datenbanken 5 23-04-2002 23:08

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

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
Affilinator - Affilinet XML Produktlisten Skript

Die Affilinator Affilinet XML Edition ist ein vollautomatisches Skript zum einlesen und darstellen der Affili.net (Partnerprogramm Netzwerk) Produktlisten und Produktdaten. Im Grunde gibt der Webmaster seine Affilinet PartnerID ein und hat dann unmittelb

27.08.2018 freefrank@ | Kategorie: PHP/ Partnerprogramme
 Alle PHP Scripte anzeigen

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