Ergebnis 1 bis 6 von 6

Thema: inner join problem

  1. #1
    HTML Newbie
    Registriert seit
    11.09.2008
    Beiträge
    5
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard inner join problem

    Hallo Habe folgendes Problem ,

    bei der abfrage der Datenbsnk mit diesen code wird die Azeige immer verdoppelt

    es sind dann immer doppelte anzeigen auf der seite zu sehen .

    zb. wenn ich unter der tabelle.
    Musik_config im
    feld user id "1", 2 einträge habe und in der

    tabelle downloadmanager feld downloads "4" counter einträge drin sind werden die jeweiligen einträge zusammengezählt also 6 und es werden 6 angezeigt er soll aber nur die aus der Tabelle musik_config mit der user_id =1 und das counter ergebniss dazu anzeigen.

    ich finde den fehler leider nicht .

    wenn ich das
    PHP-Code:
    ON dm.filename mc.mp3 
    dazu packe zeigt er mir immer nur die downloads an wenn bereits gedownloadet wurde,
    also einträge in der tabelle download_manager sind.

    was ja nicht gut ist da ich ja nicht downloaden kann wenn nix angezeigt wird


    PHP-Code:
    $sql3 "
    SELECT
      dm.*, 
      mc.*
    FROM
      e107_mp3_download_manager AS dm
      INNER JOIN e107_mp3_musik_config AS mc
    WHERE
     mc.musik_user_id = '
    {$id}'  
      "
    ;
    $res3 mysql_query($sql3) ;
    while(
    $row1 mysql_fetch_array($res3))

        {
    $text ='$row1[mp3]';}

    verkürzte ansicht 
    Achtung: Dies ist ein alter Thread im HTML und Webmaster Forum
    Diese Diskussion ist älter als 90 Tage. Die darin enthaltenen Informationen sind möglicherweise nicht mehr aktuell. Erstelle bitte zu deiner Frage ein neues Thema im Forum !!!!!

  2. #2
    König(in)
    Registriert seit
    07.02.2009
    Ort
    Leipzig
    Beiträge
    1.391
    Danke
    2
    Bekam 21 mal "Danke" in 20 Postings

    Standard AW: inner join problem

    Ein join ohne Verknüpfung macht keinen Sinn. Du musst das

    PHP-Code:
    ON dm.filename mc.mp3 
    ergänzen, aber nicht als inner join sondern als left outer join denke ich.

    PHP-Code:
    $sql3 "
    SELECT
      dm.*, 
      mc.*
    FROM
      e107_mp3_download_manager AS dm
    LEFT OUTER JOIN e107_mp3_musik_config AS mc ON dm.filename = mc.mp3
    WHERE
     mc.musik_user_id = '
    {$id}'
      "


  3. #3
    HTML Newbie
    Themenstarter

    Registriert seit
    11.09.2008
    Beiträge
    5
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard AW: inner join problem

    Danke für deine Antwort aber leider zeigt er so gar nichts mehr an

    PHP-Code:
    $sql3 "
    SELECT
      dm.*, 
      mc.*
    FROM
      e107_mp3_download_manager AS dm
    LEFT OUTER JOIN e107_mp3_musik_config AS mc ON dm.filename = mc.mp3
    WHERE
     mc.musik_user_id = '
    {$id}
      "
    ;
    $res3 mysql_query($sql3) ;
    while(
    $row1 mysql_fetch_array($res3))

        { 
    hast du noch ein tip versteh eben nicht warum er bei den ON befehl nun nichts mehr anzeigt

  4. #4
    König(in)
    Registriert seit
    07.02.2009
    Ort
    Leipzig
    Beiträge
    1.391
    Danke
    2
    Bekam 21 mal "Danke" in 20 Postings

    Standard AW: inner join problem

    Ich sehe gerade - was ist denn da deine WHERE-Bedingung? Die macht so keinen Sinn. Theoretisch müsstest Du das was dort steht in JOIN mit aufnehmen, da Du dort auf die mc-Tabelle referenzierst. So kann natürlich nichts bei dem Statement raus kommen.

    Und: wenn Du etwas zusammenzählen willst, dann solltest Du GROUP und COUNT verwenden. Also:

    PHP-Code:
    $sql3 "
    SELECT
      dm.*, 
      mc.*,
      COUNT(mc.mp3) AS anzahl
    FROM
      e107_mp3_download_manager AS dm
    LEFT OUTER JOIN e107_mp3_musik_config AS mc ON dm.filename = mc.mp3 AND mc.musik_user_id = '
    {$id}'
    GROUP BY dm.filename"

    Wenns das auch nicht ist, schreib bitte genau was Du abfragen willst. Denn deinen Beitrag oben verstehe ich nicht ganz, da Du Wunsch- und Problemzustand vermischst.

  5. #5
    HTML Newbie
    Themenstarter

    Registriert seit
    11.09.2008
    Beiträge
    5
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard AW: inner join problem

    ich möchte eigentlich nur das beide tabellen abgerufen werden da in der tabelle downloadmanager die klickcounts gezählt werden und aus der tabelle musik_config die anderen daten kommen möchte ich beide tabellen abrufen so das ich die daten aus den download_manager auch zu den jeweiligen links anzeigen kann

    danke für deine bemühungen .

  6. #6
    König(in)
    Registriert seit
    07.02.2009
    Ort
    Leipzig
    Beiträge
    1.391
    Danke
    2
    Bekam 21 mal "Danke" in 20 Postings

    Standard AW: inner join problem

    Dann musst Du es genau andersrum machen. Die Tabelle musik_config ist deine Haupttabelle. Folglich musst Du diese auch als solche ansprechen.

    Code:
    SELECT * FROM e107_mp3_music_config
    Dadurch erhälst Du eine Liste aller Einträge in music_config mit allen Einträgen. Jetzt möchtest Du zu jedem der Einträge auch noch die Anzahl der Klicks ausgeben die in e107_mp3_download_manager gespeichert sind. Also wird JOIN eingesetzt:

    Code:
    SELECT * 
    FROM e107_mp3_music_config AS mc
    LEFT OUTER JOIN e107_mp3_download_manager AS dm ON dm.filename = mc.mp3
    Dadurch würden sich die Einträge jedoch abhängig von der Anzahl download_manager vervielfachen. Also kommt GROUP zum Einsatz:

    Code:
    SELECT *, COUNT(dm.filename) AS klickanzahl
    FROM e107_mp3_music_config AS mc
    LEFT OUTER JOIN e107_mp3_download_manager AS dm ON dm.filename = mc.mp3
    GROUP BY mc.mp3
    Wenn es das auch nicht ist was Du willst, hast Du immernoch etwas ungünstig formuliert.

Ähnliche Themen

  1. Syntax-Problem MySQL mit INNER JOIN
    Von Thonixx im Forum Datenbank Forum - MySQL und andere Datenbanksoftware
    Antworten: 12
    Letzter Beitrag: 17.03.2010, 20:57
  2. Join Us - Formular/ Problem mit formmailer
    Von Guest im Forum HTML & CSS Forum
    Antworten: 10
    Letzter Beitrag: 14.08.2007, 21:58
  3. Join Problem
    Von marquies im Forum PHP Forum - Apache - CGI - Perl - JavaScript und Co.
    Antworten: 17
    Letzter Beitrag: 21.07.2007, 12:59
  4. Problem bei abfrage von DB daten mittels join
    Von Sukkubus im Forum PHP Forum - Apache - CGI - Perl - JavaScript und Co.
    Antworten: 11
    Letzter Beitrag: 17.09.2005, 12:07
  5. sql - join
    Von phore im Forum PHP Forum - Apache - CGI - Perl - JavaScript und Co.
    Antworten: 11
    Letzter Beitrag: 29.06.2005, 12:44

Stichworte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •