kostenloser Webspace werbefrei: lima-city


Kompakter SQL-Code oder PHP-Code gesucht.

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    fly-europe

    fly-europe hat kostenlosen Webspace.

    ...und wie gesagt. Man kann auch nicht wissen und dann hat man wieder eine Frage :biggrin:

    Also.... ich habe 3 gleiche Tabellen. db1 db2 und db3. Ich möchte aus denen auslesen. Jedoch sollte das alles "in einem Zug" passieren. Die jetzige Variante ist in etwa so:

    <?php
    //DB connecten
    
    $query = mysql_query("SELECT a,b,c,time FROM db1 WHERE d = '1'");
    while ($row = mysql_fetch_object($query)) {
        array_push($array,array($row->time,$row->a." ".$row->b." ".$row->b));
    }
    $query = mysql_query("SELECT a,b,c,time FROM db2 WHERE d = '2'");
    while ($row = mysql_fetch_object($query)) {
        array_push($array,array($row->time,$row->a." ".$row->b." ".$row->b));
    }
    $query = mysql_query("SELECT a,b,c,time FROM db3 WHERE d = '3'");
    while ($row = mysql_fetch_object($query)) {
        array_push($array,array($row->time,$row->a." ".$row->b." ".$row->b));
    }
    
    array_multisort($array[0],$array[1]);
    
    foreach ($array as $val) {
        echo "Zeit: ".$var[0]." - ".$var[1]."<br>";
    }
    ?>


    Frage ist, wie man die Sache kompakter machen kann bzw. alles in einem SQL-Befehl zusammenfassen kann.
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. t*****b

    Nicht drei gleiche Tabellen verwenden, sondern eine, mehrere Datenbanken mit dem gleichen Aufbau machen keinen Sinn. Ansonsten schaue dir UNION an, das wird dir warscheinlich weiterhelfen.
  4. meisnt du wirklich 3 dbs?
    oder 3 tabellen? so siehts nämlich eher aus^^

    Bei mehreren Tabell machst dus einfach so:

    SELECT tbl1.a, tbl2.b, tbl3.c, (...) FROM tbl1, tbl2, tbl3 WHERE tbl1.d = '1' and tbl2.d = '2' and tbl3.d = '3'

    PS: liegt das an mir oder warum kann ich keine eckigen klammern mehr schreiben???
  5. Autor dieses Themas

    fly-europe

    fly-europe hat kostenlosen Webspace.

    @dragon12: Tabllen

    Ähm....... das war nur ein Beispiel ^^ In wirklichkeit ist es eine Tabelle in der es aber 3 Möglichkeiten gibt, wann ein Datensatz ausgelesen werden muss und dieser muss dann entsprechend spezifische Werte zurückgeben. Also bei der Abfrage 1 "SELECT time_a as time" und bei Abfrage 2 wird folgendes gemacht: "Select time_b as time". Das Problem ist ebenhalt, dass bei verschiedenen Bedingungen verschiedene Spalten zurück geben werden sollen aber zum gleichen Returncode führen sollen -.-
  6. m*4

    Benutz doch einfach eine Schleife ...

    <?php
    //DB connecten
    
    for ($i = 1; $i < 4; $i++)
    {
      $query = mysql_query("SELECT a,b,c,time FROM db".$i." WHERE d = '".$i."'");
      
      while ($row = mysql_fetch_object($query)) {
          array_push($array,array($row->time,$row->a." ".$row->b." ".$row->b));
      }
    }
    
    array_multisort($array[0],$array[1]);
    
    foreach ($array as $val) {
        echo "Zeit: ".$var[0]." - ".$var[1]."<br>";
    }
    ?>

  7. Kann mich da nur Trueweb anschließen... also wenn du das schon so i*** machen willst, dann mit Union ;-)

    $sql = "SELECT a,b,c,time FROM db1 WHERE d = '1' UNION SELECT a,b,c,time FROM db2 WHERE d = '2' UNION SELECT a,b,c,time FROM db3 WHERE d = '3';


    und fertig ;-)


    Beitrag geändert: 29.8.2008 14:50:32 von scout
  8. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!