Auslesen der "letzten" Tabelle einer DB

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

  • Auslesen der "letzten" Tabelle einer DB

    Hallo, ich hab mal wieder eine Frage:

    Ich habe in meiner DB zig Tabellen, die von der Struktur her alle gleich sind, nämlich:

    eigen_stadt1 - eigen_stadt61
    haus_stadt1 - haus_stadt61
    miet_stadt1 - miet_stadt61

    Da kommen nach und nach immer wieder welche dazu. Bisher habe ich neue Tabellen immer über phpMyAdmin angelegt, habe mir aber jetzt einen Admin-Bereich erstellt. Jetzt möchte ich wissen, welche die letzte angelegte Tabelle war, also in dem Fall xxx_stadt61, also ist die nächste zu erstellende die 62. Das habe ich auch hingekriegt, aber ich denke, das ist viel zu kompliziert und wollte nur mal wissen, ob das ganze auch einfacher funktionieren kann. Hier mein Geschnipsel:

    PHP-Code:
    include ("connect.php3");
    include (
    "get_id.php3");
    include (
    "send_sql.php3");

    $tab_name="haus_stadt";

    //Liest alle Tabellen aus der DB die mit haus_stadt anfangen und erhöht x+1
    $sql="SHOW TABLES from datenbank LIKE '$tab_name%'";
    $x=1;

    If (
    $res=mysql_query($sql)) 
    {
        
    $extable=mysql_num_rows($res);

        FOR (
    $i=0;$i<$extable;$i++) 
        {
                 
    $x++;
        }

    }

    //Zählt solange, bis tab_zahl ist kleiner/gleich x
    FOR ($tab_zahl=1;$tab_zahl<=$x;$tab_zahl=$tab_zahl+1
    {
        
    $zaehler_1="".$tab_name."".$tab_zahl."";

        
    $sql="SHOW TABLES from datenbank LIKE '$zaehler_1'";

        If (
    $res=mysql_query($sql)) 
        {
            
    $extable=mysql_num_rows($res);

            FOR (
    $i=0;$i<$extable;$i++) 
            {
                
    $erg mysql_result($res,$i);
            }
        }
        
    $zaehler_2="".$tab_name."".$tab_zahl."";
        
        if (
    $zaehler_2!=$erg
            { 
            echo 
    "Die nächste anzulegende Tabelle ist die Nummer: ".$tab_zahl;
            break;
            }    

    Es funktioniert einwandfrei, aber ich denke, da habe ich mal wieder viel zu viel umj die Ecken gedacht.
    Liebe Grüße Stefan

  • #2
    Jetzt mal ganz doof gefragt:

    Warum 61 Tabellen?
    Was steht in den Tabellen so unterschiedliches drin?
    Ich denke, also bin ich. - Einige sind trotzdem...

    Kommentar


    • #3
      es sind ja sogar 3 mal 61 = 183

      eigen_stadt1 - eigen_stadt61
      haus_stadt1 - haus_stadt61
      miet_stadt1 - miet_stadt61

      ist eine DB-Geschichte, die vor 5 Jahren angefangen habe mit jeweils 2 Tabellen pro eigen/haus/miet, danach hat da jemand anderes dran weitergemacht, und hat für jede neue Stadt 3 neue tabellen (eigen/haus/miet) erstellt. Jetzt bin ich wieder mit dabei und stelle fest, das man das ganze zwar ein wenig übersichtlicher hätte strukturieren können, da aber bereits mehr als 5000 Einträge dort zu finden sind, und die auch immer benötigt werden, werde ich mich hüten, daran grossartig rumzubasteln.
      Funzt aber auch so ganz gut, vor allem durch meinen "hervorragenden" admin-bereich.

      Kommentar


      • #4
        Original geschrieben von schranzbaum
        es sind ja sogar 3 mal 61 = 183

        eigen_stadt1 - eigen_stadt61
        haus_stadt1 - haus_stadt61
        miet_stadt1 - miet_stadt61

        ist eine DB-Geschichte, die vor 5 Jahren angefangen habe mit jeweils 2 Tabellen pro eigen/haus/miet, danach hat da jemand anderes dran weitergemacht, und hat für jede neue Stadt 3 neue tabellen (eigen/haus/miet) erstellt. Jetzt bin ich wieder mit dabei und stelle fest, das man das ganze zwar ein wenig übersichtlicher hätte strukturieren können, da aber bereits mehr als 5000 Einträge dort zu finden sind, und die auch immer benötigt werden, werde ich mich hüten, daran grossartig rumzubasteln.
        Funzt aber auch so ganz gut, vor allem durch meinen "hervorragenden" admin-bereich.


        das heißt die tabellen sind immer exakt gleich???!!!???

        wäre es da nicht einfacher drei tabellen (eigen_stadt, haus_stadt und miet_stadt) anzulegen und zusätzlich in jeder tabelle noch eine spalte nummer oder so was in der dann die 1 bis 61 gespeichert wird... tztztz

        Kommentar


        • #5
          OffTopic:
          da waren wieder mal Versager dran gewesen


          SHOW TABLES sollte dir dabei helfen, aber es wäre besser die DB zu normalisieren. Bei 5000 DS ist das eigentlich 'ne Mini-Datenbank und weil die Tabellen immer die gleichen Struktur und Namenpräfix haben, dürfte die Änderung im Quellcode auch sehr einfach sein. Sprich doch mal mit dem Verantwortlichen. Sobald du diese Verbesserung gemacht hast, sieht die Welt schon anders aus

          btw: verschieb zu SQL

          Kommentar

          Lädt...
          X