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 28-12-2007, 20:54
Sven4972
 Registrierter Benutzer
Links : Onlinestatus : Sven4972 ist offline
Registriert seit: Dec 2004
Beiträge: 145
Sven4972 ist zur Zeit noch ein unbeschriebenes Blatt
Sven4972 eine Nachricht über ICQ schicken
Standard Frage zu einer Abfrage

Hallo,

wie muss denn die Abfrage aussehen
damit folgendes auch bei MySQL 3.23.37 funktioniert?

PHP-Code:
$id_ich intval($cookie[1]);
$id_andere intval($_POST['auswahl']);

$abfrage "SELECT a.serie,
                   a.spielpunkte as ich_punkte,
                   a.gesamtergebnis as ich_gesamt,
                   a.platzierung as ich_platzierung,
                   b.serie,
                   b.spielpunkte as andere_punkte,
                   b.gesamtergebnis as andere_gesamt,
                   b.platzierung as andere_platzierung
             FROM ergebnisse as a 
             JOIN ergebnisse as b 
             ON a.serie=b.serie 
             WHERE a.spieler_id=$id_ich AND b.spieler_id=$id_andere"
;
$ergebnis mysql_query($abfrage) or die(mysql_error());        
while (
$row mysql_fetch_object($ergebnis)) 
{
   
Hier kommt die Tabelle rein

Es läuft auf dem Server noch diese alte Version,
da der Mieter des Servers sich nicht daran traut,
die Version upzudaten, weil er Angst vor Datenverlust hat.


Grüße von Sven
Mit Zitat antworten
  #2 (permalink)  
Alt 29-12-2007, 01:26
unset
  Moderator
Links : Onlinestatus : unset ist offline
Registriert seit: Jan 2007
Ort: Düsseldorf
Beiträge: 3.782
unset befindet sich auf einem aufstrebenden Ast
Standard

Was funktioniert denn nicht?

(Abgesehen von der Tatsache, dass es so etwas wie Datensicherung gibt, um evtl. Fehlerhafte upgrades zu beheben)
Mit Zitat antworten
  #3 (permalink)  
Alt 29-12-2007, 09:29
Sven4972
 Registrierter Benutzer
Links : Onlinestatus : Sven4972 ist offline
Registriert seit: Dec 2004
Beiträge: 145
Sven4972 ist zur Zeit noch ein unbeschriebenes Blatt
Sven4972 eine Nachricht über ICQ schicken
Standard

Hallo,

ich bekomme folgende Fehlermeldung:

PHP-Code:
You have an error in your SQL syntax near ON a.serie=b.serie 

Grüße von Sven
Mit Zitat antworten
  #4 (permalink)  
Alt 29-12-2007, 11:49
ThaDafinser
 Registrierter Benutzer
Links : Onlinestatus : ThaDafinser ist offline
Registriert seit: Dec 2005
Beiträge: 223
ThaDafinser ist zur Zeit noch ein unbeschriebenes Blatt
Standard

kann es sein das bei dieser alten mysql version, die reihenfolge bei ON wichtig ist?

also
b.serie = a.serie statt a.serie=b.serie?!

sonst sieht er ziemlich fehlerfrei aus...
Mit Zitat antworten
  #5 (permalink)  
Alt 29-12-2007, 11:50
unset
  Moderator
Links : Onlinestatus : unset ist offline
Registriert seit: Jan 2007
Ort: Düsseldorf
Beiträge: 3.782
unset befindet sich auf einem aufstrebenden Ast
Standard

Das sieht mir ehrlich gesagt nicht nach einer kompletten Fehlermeldung aus.
Mit Zitat antworten
  #6 (permalink)  
Alt 29-12-2007, 14:27
ghostgambler
 Master
Links : Onlinestatus : ghostgambler ist offline
Registriert seit: Jul 2004
Ort: DE - NRW
Beiträge: 4.620
ghostgambler ist zur Zeit noch ein unbeschriebenes Blatt
Standard Re: Frage zu einer Abfrage

Zitat:
Original geschrieben von Sven4972
wie muss denn die Abfrage aussehen
damit folgendes auch bei MySQL 3.23.37 funktioniert?
[...]
Es läuft auf dem Server noch diese alte Version,
da der Mieter des Servers sich nicht daran traut,
die Version upzudaten, weil er Angst vor Datenverlust hat.
Angst vor Datenverlust beim Update?
Da hätte ich deutlich mehr Angst davor, dass eine Software-Version, die seit dem Jahr 2003 veraltet ist, mir meine Tabellen schrottig macht...

Mal abgesehen von den ganzen neuen Features, der besseren Standard-Konformität und der Performance, die MySQL doch teilweise zugelegt hat.

Ist natürlich Arbeit, keine Frage, lohnt sich aber meiner Meinung nach...
Und Angst vor Datenverlust ist da doch nur eine unzureichende Entschuldigung.
Mit Zitat antworten
  #7 (permalink)  
Alt 02-01-2008, 15:15
Sven4972
 Registrierter Benutzer
Links : Onlinestatus : Sven4972 ist offline
Registriert seit: Dec 2004
Beiträge: 145
Sven4972 ist zur Zeit noch ein unbeschriebenes Blatt
Sven4972 eine Nachricht über ICQ schicken
Standard

Hallo,

ich möchte in einer Tabelle ausgeben lassen
wie oft ich gegen einen Gegner gespielt habe,
wieviel Punkte und welchen Platz ich erreicht habe.

Zu jedem Spiel gibt es in der Datenbank 3 Datensätze,
da ein Spiel mit 3 Spielern stattfindet.
Und das Spiel wird durch den Wert "serie" bestimmt,
dieser Wert ist in allen 3 Datensätze gleich.

PHP-Code:
    $abfrage "SELECT a.serie,
                   date_format(a.datum, '%d.%m.%Y') AS ich_datum,
                   a.spielpunkte as ich_punkte,
                   a.gesamtergebnis as ich_gesamt,
                   a.platzierung as ich_platzierung,
                   b.serie,
                   date_format(b.datum, '%d.%m.%Y') AS andere_datum,
                   b.spielpunkte as andere_punkte,
                   b.gesamtergebnis as andere_gesamt,
                   b.platzierung as andere_platzierung
                   FROM ergebnisse as a 
                   INNER JOIN ergebnisse as b
                   USING(serie) 
                   WHERE a.spieler_id = '" 
$_POST['nick1'] . "' 
                   AND b.spieler_id = '" 
$_POST['nick2'] . "' 
                   AND a.datum = b.datum AND a.datum >= '2004-01-01' ORDER BY a.datum"
;
$ergebnis mysql_query($abfrage) or die(mysql_error()); 
Jetzt werden alle Angaben angezeigt, die ich ausgeben möchte.

Nun möchte ich aber noch den 3.Spieler ausgeben lassen.

Wie kann ich das erreichen?


Grüße von Sven

PS: Ich habe auch schon auf ihn eingeredet, das er die Datenbank updaten sollte.
Mit Zitat antworten
  #8 (permalink)  
Alt 02-01-2008, 15:33
ghostgambler
 Master
Links : Onlinestatus : ghostgambler ist offline
Registriert seit: Jul 2004
Ort: DE - NRW
Beiträge: 4.620
ghostgambler ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Na halt noch einen Join auf ergebnisse -- also grob ungefähr die Hälfte vom Query kopieren an diversen Stellen einfügen und b durch c ersetzen~
Mit Zitat antworten
  #9 (permalink)  
Alt 02-01-2008, 17:02
Sven4972
 Registrierter Benutzer
Links : Onlinestatus : Sven4972 ist offline
Registriert seit: Dec 2004
Beiträge: 145
Sven4972 ist zur Zeit noch ein unbeschriebenes Blatt
Sven4972 eine Nachricht über ICQ schicken
Standard

Hallo,

ich habe das jetzt hinzugefügt:

PHP-Code:
c.serie,
c.spieler_id AS spieler3,
date_format(c.datum'%d.%m.%Y') AS spieler3_datum
FROM ergebnisse 
as 
INNER JOIN ergebnisse 
as b
USING
(serie)
INNER JOIN ergebnisse as c
USING
(serie
Nur jetzt weiß ich nicht, was ich bei WHERE einfügen muss:

PHP-Code:
WHERE a.spieler_id '" . $_POST['nick1'] . "' 
AND b.spieler_id '" . $_POST['nick2'] . "' 
AND c.spieler_id '*****' 
ich habe es mit:

PHP-Code:
AND c.spieler_id $spieler3 
und
PHP-Code:
AND c.spieler_id '$spieler3' 
versucht, jedesmal wird aber nichts angezeigt.


Grüße von Sven
Mit Zitat antworten
  #10 (permalink)  
Alt 03-01-2008, 11:16
ghostgambler
 Master
Links : Onlinestatus : ghostgambler ist offline
Registriert seit: Jul 2004
Ort: DE - NRW
Beiträge: 4.620
ghostgambler ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Dann hast du wohl keine Konstellation in deinen Daten, die auf diese Bedingungen zutrifft *zuck*
Mit Zitat antworten
  #11 (permalink)  
Alt 03-01-2008, 20:12
Sven4972
 Registrierter Benutzer
Links : Onlinestatus : Sven4972 ist offline
Registriert seit: Dec 2004
Beiträge: 145
Sven4972 ist zur Zeit noch ein unbeschriebenes Blatt
Sven4972 eine Nachricht über ICQ schicken
Standard

Hallo,

wenn ich

PHP-Code:
AND c.spieler_id '*****' 
weglasse, werden mir Ergebnisse angezeigt,
nur das Problem ist, das die Serie 3 mal ausgegeben wird,
sie sollte aber nur einmal ausgegeben werden.

Und dann noch eine Frage dazu.

Wie kann ich den ausgeben lassen,
wer wieviel mal gewonnen hat?

Hier mal ein Bild von der Tabelle in der Datenbank:




Grüße von Sven
Mit Zitat antworten
Antwort

Lesezeichen


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

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 22:38 Uhr.