Auf vorhandenes Tabellenattribut prüfen

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • Auf vorhandenes Tabellenattribut prüfen

    Hallo ,

    möcht gerne auf vorhandenes Tabellenattribut checken.

    Kann mir jemand sagen wie das geht.

    Auf vorhandenen Tabellennamen kann ich ja mit
    PHP Code:
    "SHOW TABLE STATUS LIKE '"$newtablename ."'" 
    prüfen.

    Gibts da auch was für die Felder einer Tabelle?

    Ps: Schön dass jetzt auch der obere "Antwort" Button in seiner vollen Größe klickbar ist... :-)
    Last edited by kasIQ; 15-05-2009, 21:08.

  • #2
    Wozu willst du das machen?

    Falls du mit dynamischen Spalten rumbastelst, dann ist deine Datenbankstruktur nicht in Ordnung.

    Comment


    • #3
      Quatsch! ;-)

      will mein cms pimpen und für den user schöne fehlermeldungen ausgeben.
      in dem fall das ein attribut schon vorhanden ist, soll eben eine js popup kommen
      mit dem hinweis das da schon ein Tabellenattribut drin ist mit dem gleichen Namen...nichts weiter.

      dieser bereich wo tabellen und tabellattribute geändert werden können ist auch nur für die Entwickler gedacht.
      Last edited by kasIQ; 15-05-2009, 21:27.

      Comment


      • #4
        Hi,

        wie findet man denn die SHOW TABLE STATUS Syntax, ohne auch über SHOW COLUMNS zu stolpern?

        LG

        Comment


        • #5
          über folgenden link

          Let me google that for you

          ;-)

          danke

          PHP Code:
          const CREATE_NEW_ATTR_FAILED 1;
          const 
          CREATE_NEW_ATTR_SUCCESS 2;
              
              
          /**Legt ein neues Tabellen Attribut in gewählter Tabelle an 
              */
              
          public function createNewTableAttr($tblname$newattrname$placeafter) {
                  global 
          $db;        
                  
                  
          $db->CE_Query("SHOW COLUMNS FROM `"$_SESSION["project"]["dbname"] ."`.`"$tblname"` WHERE Field = '"$newattrname"' ");
                  
                  if (
          $db->CE_NumRows() == 1) {        
                      return 
          self::CREATE_NEW_ATTR_FAILED;
                  }

                  
          $db->CE_Query("ALTER TABLE `"$_SESSION["project"]["dbname"] ."`.`"$tblname ."` ADD `"$newattrname ."` VARCHAR( 250 ) NOT NULL AFTER `"$placeafter ."`");
                  
                  return 
          self::CREATE_NEW_ATTR_SUCCESS;
              } 
          Last edited by kasIQ; 15-05-2009, 23:35.

          Comment

          Working...
          X