2 Probleme (GD-Lib / msql_list_tables)

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

  • 2 Probleme (GD-Lib / msql_list_tables)

    Hi,
    ich habe wie im Betreff schon genannt 2 Probleme in Sachen PHP.

    1. Ich will aus meiner DB alle table-namen auslesen, die mit "org_" gekennzeichnet sind. Ich weiss jedoch nicht wie ich das bewerkstelligen soll, zum einen ist mir nicht klar wie ich mit msql_list_tables an überhaupt einen namen komme und zum anderen weiss ich nicht wie ich meinem Script erklären soll, dass er ausschliesslich org_ - tables listet.

    2. Das andere Problem, wie soll ich eine GD-Lib installieren?!? Ich finde nicht ein non-Linux tutorial im Web ich habe auch relativ wenig Ahnung wie das genau Funktioniert, da ich noch weitestgehend ein Anfänger bin :/ .

    Danke für Eure/Deine Hilfe.
    Jan

  • #2
    moin!

    also, ich würde das erste problem versuchen zu lösen, in dem ich mir per join alle "org_" spezifischen daten ziehen und diese dann bearbeiten. in deinem fall heisst bearbeiten wahrscheinlich im browser ausgeben (klar, dass ich nicht meine ALLE daten zu ziehen, sondern nur die, die du brauchst).

    jetzt zur gdlib. das ist nämlich so ne sache. wenn du gifs manipulieren willst, geht das schonmal nur mit der version <1.6. d.h., du müsstest irgendwo version 1.5 herkriegen. bedenke aber, dass UNISYS ein patent auf den oft verwendeten LWZ kompressions-algorithmus hat. deshalb ist gif aus der gdlib geflogen und stattdessen hat man mit png & jpeg weitergemacht. im prinzip darf man ohne lizenz keine tools verwenden, die bei der kompression auf diesen algorithmus aufbauen (was leider viele tun). du musst also selber entscheiden, ob du sowas unterstützt.

    seit neuestem verhält es sich auch so mit jpeg. eine texanische firma hat bereits lizenz-gelder von sony kassiert und es dauert wohl auch nicht mehr lange, dass die jpeg-unterstützung aus der gdlib fliegen wird. aber abwarten ...

    es gibt durchaus tutorials zu installation der gdlib.
    ich empfehle dir, u.a. aus sicherheitsgründen, die gdlib201 in verbindung mit php421 und apache1326 zu verwenden.

    hier ein gutes tutorial ist das hier. zwar für etwas ältere versionen, aber dennoch gut. dort sind auch alle verweise auf, die sourcen, die man so braucht:

    http://www.baach.de/

    welches unbedingt durch diesen zusatz ergänzt werden sollte, wenn beim kompilieren fehler mit der 'libgd.a' auftauchen sollten:

    http://www.php.net/~rasmus/gd.html

    falls du noch eine php-library brauchst, die bei der bilmbearbeitung/-analyse helfen soll, kannst du dir hier die 'imglib' herunterladen. das projekt ist zwar noch ziemlich frisch, aber es gibt schon nützliche funktionen, die bei vielem, was man so braucht, helfen können:

    http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/imglib/

    include die dateien in deine site und spiele mit den funktionen rum.

    also, ich hoffe, dass hilft dir. andernfalls kann ich noch das konsolentool "image magick" empfehlen, falls dein webserver nicht im php safe_mode läuft (d.h., wenn du z.b. keine konsolenbefehle per exec() absetzen darfst).

    gruss

    beebob

    Kommentar


    • #3
      hehe, ersteinmal danke für die hilfe...
      zu meinem ersten problem:
      alles schön und gut nur ich weiss nicht wie? nichteinmal im ansatz wie ich die tablenamen auslesen kann die mit in meinem fall mit "org_" beginnen..
      danke für die hilfe, jan

      Kommentar


      • #4
        Original geschrieben von kore
        hehe, ersteinmal danke für die hilfe...
        zu meinem ersten problem:
        alles schön und gut nur ich weiss nicht wie? nichteinmal im ansatz wie ich die tablenamen auslesen kann die mit in meinem fall mit "org_" beginnen..
        danke für die hilfe, jan
        sorry, ich war länger nicht da ...

        also, so könnte man's auch lösen mit den org_ tabellen:

        <?php
        $link = mysql_connect("localhost","root","xxx");
        mysql_select_db("mysql",$link);

        $result= mysql_query("SHOW TABLES;",$link);

        $mysql_obj = mysql_fetch_field($result);


        $mysql_obj_vars = get_object_vars($mysql_obj);

        // mit $key kannst du nun die table namen auseinanderhalten
        while (list ($key, $val) = each ($mysql_obj_vars)) {

        // testausgaben
        // echo "$key >>> $val<br>\n";

        // überprüfung
        (!ereg("org_",$key)) ? print("$key is no 'org_' table!<br>") : print("'org_' field: $key<br>");

        // do something more ... ?
        }


        // das ganze in schnell
        //print_r(get_object_vars($mysql_obj));


        mysql_close($link);
        ?>


        beebob

        Kommentar


        • #5
          meine ausgabe ist nun:

          name is no 'org_' table!
          table is no 'org_' table!
          def is no 'org_' table!
          max_length is no 'org_' table!
          not_null is no 'org_' table!
          primary_key is no 'org_' table!
          multiple_key is no 'org_' table!
          unique_key is no 'org_' table!
          numeric is no 'org_' table!
          blob is no 'org_' table!
          type is no 'org_' table!
          unsigned is no 'org_' table!
          zerofill is no 'org_' table!

          :/ was hat das zu bedeuten?

          vom prinzip her will ich nur selbiges erreichen wie bei phpmyadmin
          auf der linken seite, jedoch nur mit ausgabe der mit "org_ " gekennzeichneten tabellen!

          jan

          Kommentar


          • #6
            chef, das ist doch nur ein beispiel, wie man sowas machen könnte. du wolltest ja schliesslich wissen, wie man sie auseinanderhalten kann, gelle?

            statt
            PHP-Code:
             // überprüfung
            (!ereg("org_",$key)) ? print("$key is no 'org_' table!<br>") : print("'org_' field: $key<br>");

            // do something more ... ? 
            könntest du auch sowas machen
            PHP-Code:
            if(ereg("org_",$key)){
                   echo 
            $val;

            das gibt dir dann das value von key zurück, wenn´s eine org_ tabelle ist


            beebob

            Kommentar


            • #7
              hab habs noch viel einfacher hinbekommen

              PHP-Code:

              $verbindung 
              mysql_connect($host$user$pw);
              mysql_select_db($database$verbindung);
                  
              $query "SHOW TABLES LIKE 'org_%'";
              $result mysql_query($query);

              while (
              $tablename mysql_fetch_array($resultMYSQL_ASSOC)) {
                  
                  foreach (
              $tablename as $value) {
                      echo 
              $value.'<br>'; } 
                      
                      } 
              ich trottel :>
              aber danke für deine hilfe!
              mfg, jan

              Kommentar


              • #8
                LIKE is to slooooooooooow!
                zzzZZZZ

                beebob

                Kommentar


                • #9
                  und auf deutsch? wieso zu langsam ?
                  ab wieviel tables macht sich das bemerkbar?
                  jan

                  Kommentar


                  • #10
                    das macht sich direkt schon bemerkbar.
                    wenn ich mich nicht irre, weil like die index-tabellen lockt. soll heissen, wenn noch ein anderer query mit like auf die selbe tabellen losgelassen wird, muss er warten, bis der query vor ihm abgearbeitet wurde. er würgt die indexe sozusagen ab.

                    match ... against hier wäre was cooler
                    PHP-Code:
                    mysqlSELECT idbodyMATCH (title,bodyAGAINST
                        
                    -> ('Security implications of running MySQL as root') AS score
                        
                    -> FROM articles WHERE MATCH (title,bodyAGAINST
                        
                    -> ('Security implications of running MySQL as root'); 
                    aus: http://www.mysql.com/doc/en/Fulltext_Search.html

                    Kommentar


                    • #11
                      kleiner hinweis:

                      [16:14:48] [@gix] kore`: hm, das mit dem show tables hab ich dir doch gestern gesagt, nicht ;>


                      jaja das war gix :> nicht auf meinem mist gewachsen

                      danke gix

                      Kommentar


                      • #12
                        @kore > isch nix verstäh´

                        wer ist gix?
                        Zuletzt geändert von beebob; 14.08.2002, 15:45.

                        Kommentar

                        Lädt...
                        X