Ankündigung

Einklappen
Keine Ankündigung bisher.

Spaltennamen ausgeben

Einklappen

Neue Werbung 2019

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

  • Spaltennamen ausgeben

    Tach

    ich möchte gerne meine Tabellenspaltennamen meiner SQL Tabelle ausgeben, nur leider hab ich keine Ahnung wie. Grund, die Tabellenspalten ändern sich und ich brauch die für ne schleife damit ich weiss wohin ich die speichern soll.

    Hoffe ihr versteht mich

    BSP:

    Tabellennamen: Name, Firma, Email
    Datensatz1: 1, 1, 0

    jez will ich die als Checkboxen ausgeben.

    <input type="checkbox" name="pers[name]" value="$wertvonspalte"> Tabellenname

    Kann jez sein dass da was falsch is, brauch aber nur des Prinzip wie ichs ausles (also die Spaltennamen).

    MFG


  • #2
    Um was für eine Datenbank handelt es sich?

    Kommentar


    • #3
      mysql, steht aber oben oder?

      edit
      jo stehts, egal

      Kommentar


      • #4
        Bitte? Wo steht mysql?
        Einer von uns beiden ist blind. Und ich habe noch starke Zweifel daran, dass ich es bin.
        Da steht zwar etwas von "SQL Tabelle", aber das my entspringt wohl Deiner Phantasie (kann natürlich trotzdem stimmen, aber auf Raten habe ich keinen Bock).

        Kommentar


        • #5
          hab halt eben SQL geschrieben. Meine MySQL. Genug drin rumgestochert.

          Kommentar


          • #6
            Dafür habe ich übersehen, dass Du der OP bist und habe Dich für einen Dumm-Quer-Reinquatscher gehalten, sorry *hüstel*

            Mysql, dann: http://de3.php.net/manual/en/functio...ist-fields.php

            Kommentar


            • #7
              gut, habs jetzt mal versucht, doch er gibt absolute keine Ausgabe. Weiss wer (weist du) warum?

              PHP-Code:
              <?php
                  $result 
              mysql_query('SHOW COLUMNS FROM artikel_perso') OR die(mysql_error());
                  if (!
              $result) {
                      echo 
              'Abfrage konnte nicht ausgeführt werden: ' mysql_error();
                      exit;
                  }
                  if (
              mysql_num_rows($result) > 0) {
                  while (
              $row mysql_fetch_assoc($result)) {
                      
              print_r($row);
                  }
              ?>
              Hab echt kein Plan, kommt kein Fehler nix, nur ne leere seite mysql-list-fields is ja veraltet :/

              Kommentar


              • #8
                Deine if (!$result)-Abfrage ist übrigens sinnlos.

                PHP-Code:
                <?php
                $result 
                mysql_query("SHOW COLUMNS FROM sometable");
                if (!
                $result) {
                   echo 
                'Could not run query: ' mysql_error();
                   exit;
                }
                if (
                mysql_num_rows($result) > 0) {
                   while (
                $row mysql_fetch_assoc($result)) {
                       
                print_r($row);
                   }
                }
                ?>
                Das ist aus dem Manual & man kann annehmen es funktioniert. Evtl. hast du noch keine Datenbankverbindung aufgebaut oder ein ähnlicher Fehler.

                Gib den MySQL-Befehl doch mal in phpMyAdmin ein ^^

                Kommentar


                • #9
                  mysql-list-fields is ja veraltet :/
                  Woher hast Du das denn?
                  Ist nicht als deprecated markiert, weder in der php noch in der mysql Doku.
                  edit: nehme alles zurück. Ist deprecated. Nur schön im Text eingebaut und nicht wie üblich herausgestellt; super.

                  doch er gibt absolute keine Ausgabe.
                  Unkonditionelle Ausgaben vor und nach dem Code einfügen.
                  Keinerlei Ausgaben bedeutet oft parse error. Das heißt dann aber auch, dass Deine Umgebung nicht zum Entwickeln geeignet ist, denn parse errors solltest Du da wie alle Fehlermeldungen sehen können - entweder im Ausgabemedium, oder noch besser über die protokolldatei von php.
                  In diesem Fall rührt der Fehler von inkonsequentem Einrücken/Klammern her.

                  Kommentar


                  • #10
                    Zitat von Zergling
                    Deine if (!$result)-Abfrage ist übrigens sinnlos.

                    PHP-Code:
                    <?php
                    $result 
                    mysql_query("SHOW COLUMNS FROM sometable");
                    if (!
                    $result) {
                       echo 
                    'Could not run query: ' mysql_error();
                       exit;
                    }
                    if (
                    mysql_num_rows($result) > 0) {
                       while (
                    $row mysql_fetch_assoc($result)) {
                           
                    print_r($row);
                       }
                    }
                    ?>
                    Das ist aus dem Manual & man kann annehmen es funktioniert. Evtl. hast du noch keine Datenbankverbindung aufgebaut oder ein ähnlicher Fehler.

                    Gib den MySQL-Befehl doch mal in phpMyAdmin ein ^^
                    Is nicht meine, ich find die auch schwachsinnig aber im mannual steht leider so.

                    Leider lag es auch an dieser, dass keine Ausgabe erfolgte. Naja jez gehts glaub ich danke euch

                    Kommentar


                    • #11
                      Zitat von Bruchpilot
                      Keinerlei Ausgaben bedeutet oft parse error. Das heißt dann aber auch, dass Deine Umgebung nicht zum Entwickeln geeignet ist, denn parse errors solltest Du da wie alle Fehlermeldungen sehen können - entweder im Ausgabemedium, oder noch besser über die protokolldatei von php.
                      In diesem Fall rührt der Fehler von inkonsequentem Einrücken/Klammern her.
                      hmm? Wo tu ich den das Einrücken unkonsequent machen?! Parse errors sollte ich auch sehen können mit error_reporting(E_ALL) oder etwa nicht?

                      Danke dir

                      Kommentar


                      • #12
                        Zitat von HK
                        gut, habs jetzt mal versucht, doch er gibt absolute keine Ausgabe. Weiss wer (weist du) warum?

                        PHP-Code:
                        <?php
                            $result 
                        mysql_query('SHOW COLUMNS FROM artikel_perso') OR die(mysql_error());
                            if (!
                        $result) {
                                echo 
                        'Abfrage konnte nicht ausgeführt werden: ' mysql_error();
                                exit;
                            }
                            if (
                        mysql_num_rows($result) > 0) {
                            while (
                        $row mysql_fetch_assoc($result)) {
                                
                        print_r($row);
                            }
                        ?>
                        if (mysql_num... und while stehen auf einer Ebene. Dabei ist while dem if untergeordnet. Beim Schließen der Klammern hast Du Dich dann auf die Einrückung verlassen und eine vergessen.

                        error_reporting(E_ALL) gibt nur an, dass alle Fehler behandelt werden sollen - nicht wie. Ausserdem nutzt die Angaben von error_reporting(E_ALL) im Skript nichts bei parse errors; der tritt schon auf, bevor die Anweisung bearbeitet wird.
                        Bei Deinem Entwicklungssystem gleich in der php.ini error_reporting auf E_ALL setzen.
                        Und dann entweder die Protokolldatei mit einem Editor öffnen, der Änderungen an der Datei anzeigt.
                        Oder (eigentlich schlechtere Lösung) display_errors auf on und display_startup_errors auf on stellen (beides php.ini).
                        Wenn möglich auch gleich im Editor ein Makro für den Aufruf von php -l einrichten
                        http://www.php.net/manual/en/features.commandline.php
                        -l Syntax check only (lint)

                        Kommentar


                        • #13
                          oh des mit den klammern war nur hier grad der fall da alle möglichen leute hier anrufen, des hab ich verplant aber schon geändert (auch das fehlende } dran). Sorry, des hab ich dann verplant

                          lag auch nicht an der IF-Anweisung. An was genau weiss ich nicht. Komischerweise funktioniert es jetzt danke dir.

                          (das mit der Klammer find ich jez peinlich sowas passierte mir seit monaten nicht mehr sorry)

                          mfg

                          Kommentar


                          • #14
                            irgendwie bin ich entweder unfähig oder einfach nur dumm

                            wenn ich die Ausgabe mit

                            PHP-Code:
                            <?php
                                        
                            echo '<pre>';
                                        echo 
                            print_r($row);
                                        echo 
                            '</pre>';
                            ?>
                            mache listet es ja alles auf

                            und zwar so -->
                            Code:
                            Array
                            (
                                [Field] => artikel_id
                                [Type] => tinyint(8)
                                [Null] => 
                                [Key] => 
                                [Default] => 0
                                [Extra] => 
                            )
                            daraus schliess ich dass ich mit $row['Field'] den Spaltennamen bekomme. Aber so ist es nicht, der gibt keine Ausgabe (also ist er leer der String bzw das Arrayelement). Was mache ich nun wieder falsch?!

                            Hoffe ihr helft mir

                            _______________-
                            edit

                            irgendwas verarscht mich hier. Sobald ich hier poste funktioniert das was ich will .... ohne veränderung komisch.

                            Naja hier der Code

                            PHP-Code:
                            <?php
                                error_reporting
                            (E_ALL);
                                
                                
                            define('MYSQL_HOST''localhost');
                                
                            define('MYSQL_USER''root');
                                
                            define('MYSQL_PASS''');
                                
                            define('MYSQL_DATABASE''aligo');
                                @
                            mysql_connect(MYSQL_HOSTMYSQL_USERMYSQL_PASS) OR die(mysql_error());
                                
                            mysql_select_db(MYSQL_DATABASE) OR die(mysql_error());

                                echo 
                            '

                            '
                            ;
                                echo 
                            'Ausgabe beginnt: 
                            '
                            ;

                                
                            $result mysql_query('SHOW COLUMNS FROM artikel_perso') OR die(mysql_error());
                                if (
                            mysql_num_rows($result) > 0) {
                                    while (
                            $row mysql_fetch_assoc($result)) {
                                    echo 
                            $row['Field'] .'
                            '
                            ;
                                    
                            //    echo '<pre>';
                                    //    echo print_r($row);
                                    //    echo '</pre>';
                                    
                            }
                                }
                                echo 
                            '
                            Ende der Ausgabe'
                            ;
                            [
                            php:53562d1fa2]<?php
                            ?>
                            ?>[/php:53562d1fa2]
                            ?>

                            Kommentar

                            Lädt...
                            X