SQL abfrage. Ich kriegs nicht hin

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • SQL abfrage. Ich kriegs nicht hin

    Hallo alle zusammen

    Bisher habe ich meine Noob Fragen durch wühlen selbst rausgekriegt aber jetzt komm ich einfach nicht weiter.
    Vielleicht kann mir hier ja jemand helfen.

    Ich habe folgende tabellen:

    Spiele
    Spielname/Kategorier/Beschreibung

    und

    teilgenommen
    Benutzer/Spielname


    Hier mein Problem:
    Der eingeloggte Benutzer soll eine Auflistung aller Spiele aus Tabelle Spiele sehen bei denen er noch nicht teilgenommen hat.

    Ich kanns noch nicht mal formulieren.

    Also sowas in der Art:
    Schau in Tabelle teilgenommen an welchen der Benutzer teilgenommen hat und zeige mir alle Spiele aus TAbelle SPiele an denen der Benutzer noch nicht teilgenommen hat.

    Ich sitzte schon seit einer Ewigkeit dran. Hab halt keine Ahnung von SQL Abfragen

  • #2
    Mit nem Join in etwa so:

    PHP-Code:
    SELECT FROM Spiele LEFT JOIN teilgenommen
       ON Spiele
    .Spielname teilgenommen.Spielname
         
    AND Benutzer Akt_Benutzer
       WHERE Benutzer IS NULL 
    Hoffe, ich hab da jetzt nicht wieder Mist verzapft aber probiers mal... ;-)

    Kommentar


    • #3
      Hey, das war SUPER!
      Es hat funktioniert!
      Er zeigt mir genau die Datensätze an die ich brauche!

      Allerdings ist das Spalte spielname leer. ?.

      Kommentar


      • #4
        Ja, er benutzt jeweils den aus der Tabelle 'teilgenommen'. Da aber alle genommen werden, wo dieser Datensatz nicht exisitiert, ist er natürlich leer.

        Kleine Änderung hilft da:

        PHP-Code:

        SELECT Spiele
        .* FROM Spiele LEFT JOIN teilgenommen
           ON Spiele
        .Spielname teilgenommen.Spielname
             
        AND Benutzer Akt_Benutzer
           WHERE Benutzer IS NULL 

        Kommentar


        • #5
          das funktioniert !!!

          ich hab jetzt ausserdem noch ein Formular mit drin wo der benutzer ausfüllt wenn er an einem Spiel teilgenommen hat.

          Mein Problem ist jetzt folgendes. Wenn er das Formular ausfüllt und auf senden klickt kommt das hier:

          "; ?>
          Fatal error: Call to undefined function GetSQLValueString() in D:\Server\wamp\www\login\tmp\sofortgeld5.php on line 15


          so sieht mein Code aus:

          <?php require_once('Connections/goldencoins.php');
          include("login/include.php");
          $benutzername = "{uname}";
          ?>
          <?php
          if (!function_exists("GetSQLValueString")) {
          function GetSQLValueString($theValue, $theType, $theDefinedValue = "", $theNotDefinedValue = "")
          {
          $theValue = get_magic_quotes_gpc() ? stripslashes($theValue) : $theValue;

          $theValue = function_exists("mysql_real_escape_string") ? mysql_real_escape_string($theValue) : mysql_escape_string($theValue);

          switch ($theType) {
          case "text":
          $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
          break;
          case "long":
          case "int":
          $theValue = ($theValue != "") ? intval($theValue) : "NULL";
          break;
          case "double":
          $theValue = ($theValue != "") ? "'" . doubleval($theValue) . "'" : "NULL";
          break;...

          Kommentar


          • #6
            [list=1][*]Benutze bite PHP-Tags, sonst wird bald niemand mehr deinen Code anschauen[*]SELECT * ist bei Abfragen über eine Tabelle schlecht. Über mehrere Tabellen kannst du es schlicht vergessen, sobald du mehr als nur ein paar Sätze hast[*] sofortgeld5.php tönt nicht sehr seriös[*]Die Hauptfrage hier ist aber: welches ist Zeile 15[/list=1]
            Gruss
            H2O

            Kommentar


            • #7
              Oh, ok.

              Zeile 15: $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";

              Hier nochmal.
              ich hoffe ihr könnt mir helfen.



              PHP-Code:
              <?php require_once('Connections/goldencoins.php'); 
              include(
              "login/include.php");
              $benutzername "{uname}";
              ?>
              <?php
              if (!function_exists("GetSQLValueString")) {
              function 
              GetSQLValueString($theValue$theType$theDefinedValue ""$theNotDefinedValue ""
              {
                
              $theValue get_magic_quotes_gpc() ? stripslashes($theValue) : $theValue;

                
              $theValue function_exists("mysql_real_escape_string") ? mysql_real_escape_string($theValue) : mysql_escape_string($theValue);

                switch (
              $theType) {
                  case 
              "text":
                    
              $theValue = ($theValue != "") ? "'" $theValue "'" "NULL";
                    break;    
                  case 
              "long":
                  case 
              "int":
                    
              $theValue = ($theValue != "") ? intval($theValue) : "NULL";
                    break;
                  case 
              "double":
                    
              $theValue = ($theValue != "") ? "'" doubleval($theValue) . "'" "NULL";
                    break;
                  case 
              "date":
                    
              $theValue = ($theValue != "") ? "'" $theValue "'" "NULL";
                    break;
                  case 
              "defined":
                    
              $theValue = ($theValue != "") ? $theDefinedValue $theNotDefinedValue;
                    break;
                }
                return 
              $theValue;
              }
              }

              Kommentar


              • #8
                Zeile 15: $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
                Das glaubst du. Oder siehst du in dieser Zeile deine genannte Funktion???
                Mach dich mal darüber schlau wie includes gehandhabt werden. Ich wette, dass deine beiden Files die du einbindest mehr als 15 Zeilen haben, ergo wird der Fehler in einer der eingebundenen Dateien liegen. Suchen darfst du selber
                Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

                [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
                Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

                Kommentar

                Lädt...
                X