2 datensätze aus verschiedenen Datenbanken abrufen

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

  • 2 datensätze aus verschiedenen Datenbanken abrufen

    Hi,


    Habe da mal ein Problem und zwar möchte ich aus 2 datenbänken mit einem befehl was auslesen.

    und zwar einmal aus der tabelle : users und data.

    aus der tabelle data brauche ich nur "rank" . nutze bisher diese query :

    PHP-Code:
    $db->query("SELECT * FROM users ORDER BY lastupdate DESC LIMIT 25"); 
    und nun möchte ich halt auch noch aus der datenbank data das "rank" auslesen,und zwar auch die 25 datensätze. ist also theorretisch nur eine erweiterung oder ? kriege das aber nicht hin die query bzw abfrage zu erweitern.

    wäre super wenn mir da jemand helfen könnte .


    danke euch schonmal


    MFG

  • #2
    wenn du für beide datenbanken den gleichen benutzer/passwort hast, kannst du das relativ einfach machen.

    Code:
    SELECT ... FROM DB1.TABELLE
    SELECT ... FROM DB2.TABELLE
    du kannst das ganze auch via JOIN verbinden.

    Code:
    SELECT ... FROM DB1.TABELLE t1
        INNER JOIN
          DB2.TABELLE t2 ON ...
    INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


    Kommentar


    • #3
      erstmal danke für die antwort.

      Das klappt leider nicht der bringt zwar keinen fehler liest aber auch nicht das "rank" aus. weiss jemand was ich da falsch mache?


      PHP-Code:
        $db->query("SELECT * FROM users ORDER BY lastupdate DESC LIMIT 25" );
                  (
      "SELECT `rank` FROM data ORDER BY cmsc DESC LIMIT 25" );
       
      while(list(
      $t1,$t2,$t3,$t4,$t5,$rank) = $db->data())  {
          echo 
      '<font color="#FFFFFF" face="Verdana" size="1"><tr><td><a href="'.$stats_url.$t3.'" 
      class="menu" target="_top"><font color="#C0BCB0" face="Verdana" size="1">'
      .$ranks["$rank"].'&nbsp;'.$t2.'</a>
      &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
      &nbsp;</td><td><font color="#F6B620" face="Verdana" size="1">'
      .stat_date($t4"Format_1").'</td><td>
      <font color="#F6B620" face="Verdana" size="1">&nbsp;&nbsp;&nbsp;'
      .$t5.'&nbsp;&nbsp;mal
       </td></tr>'
      ;
          }
          echo 
      '</table>'
      Zuletzt geändert von DarksoldierXX; 11.04.2006, 19:53.

      Kommentar


      • #4
        UMBRÜCHE!
        INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


        Kommentar


        • #5
          ja sry. aber haste zufällig den fehler gefunden?

          MFG

          Kommentar


          • #6
            natürlich ..... nur bei so langen scrollbars, dass mir der raum platzt, in dem mein monitor steht, antworte ich aus prinzip nicht mehr.


            erkläre mir mal bitte was das hier zu bedeuten hat ....
            PHP-Code:
            $db->query("SELECT * FROM users ORDER BY lastupdate DESC LIMIT 25" );
                        (
            "SELECT `rank` FROM data ORDER BY cmsc DESC LIMIT 25" ); 
            und wo hast du dich auf die beiden datenbanken bezogen?
            INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


            Kommentar


            • #7
              Original geschrieben von Abraxax
              natürlich ..... nur bei so langen scrollbars, dass mir der raum platzt, in dem mein monitor steht, antworte ich aus prinzip nicht mehr.


              erkläre mir mal bitte was das hier zu bedeuten hat ....
              PHP-Code:
              $db->query("SELECT * FROM users ORDER BY lastupdate DESC LIMIT 25" );
                          (
              "SELECT `rank` FROM data ORDER BY cmsc DESC LIMIT 25" ); 
              und wo hast du dich auf die beiden datenbanken bezogen?
              hi,

              na das hier :

              PHP-Code:
              ("SELECT * FROM users ORDER BY lastupdate DESC LIMIT 25" ); 
              heisst das er in der tabelle "users" die 25 datensätze ausliest.

              der andere :


              PHP-Code:
               ("SELECT `rank` FROM data ORDER BY cmsc DESC LIMIT 25" ); 
              das er in der tabelle "data" den datensatz "rank" geordnet nach 'cmsc' ausliest.

              und ich beziehe mich ja damit auf die 2 datenbanken "users" "data".


              oder was meinst du?

              Kommentar


              • #8
                du denkst, dass php weiss was du machst?
                schaue dir mal die 2. zeile genau(er) an.

                zum anderen ... die zuordnung der datenbanken hast du immer noch nicht integriert.
                INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


                Kommentar


                • #9
                  Glaube kaum das Datenbanken gemeint sind sondern eher die beiden Tabellen.

                  Probier mal sowas in der art:

                  SELECT * FROM users
                  LEFT JOIN rank ON (rank.user_id = users.user_id)
                  ORDER BY lastupdate DESC, cmsc DESC LIMIT 25

                  Das Feld user_id wird es bei dir sicher nicht geben. Da muss das Feld rein das in beiden TABELLEN(!) eindeutig ist und die beiden Sätze verbindet.

                  Hier werden Joins auch noch ganz gut erklärt:

                  http://www.php-resource.de/forum/sho...threadid=28292

                  Kommentar

                  Lädt...
                  X