tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
4
ZUGRIFFE
657
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    ThePhantom ThePhantom ist offline Rookie
    Registriert seit
    Sep 2003
    Beiträge
    5
    Hallo Leute,

    bin ein Neuling hier und habe gleich meine erste Frage
    Nachdem ich nun diverse Foren etc. durchsucht habe und noch immer nicht wirklich eine Antwort gefunden habe poste ich mein Problem einfach mal:

    PHP-Code:
    function makedropdown_t($query$select_name$connection$preselect)
    {
        
    $result = @ mysql_select_db ($db_name$connection) or
            die (
    mysql_error());
        echo 
    "<select name=\"$select_name\">\n";
            while(
    $row mysql_fetch_row($result))
            {
                      echo 
    "<option value=\"";
                      echo 
    $row[0];
                
            if(
    $row[1] ==  $preselect)
                       echo 
    "\" selected>";
            else
                       echo 
    "\">";
                       echo 
    $row[1];
                       echo 
    "</option>\n";
            }
                         echo 
    "<select>\n";

    Weiter unten auf der Seite sollte dann die Ausgabe erfolgen:

    PHP-Code:
    <?
         
    echo "<br>Tabellenauswahl:<br>";
         
    $query "SHOW tables FROM test";
         
    makedropdown_t($query"columns"$connection"");
    ?>
    Wenn ich die Seite nun aufrufe schreibt er mir immer das keine Datenbank ausgewählt wurde obwohl diese ja definiert ist und ich habe nun keine Ahnung mehr wo der Fehler liegen könnte, vermutlich liegt die Lösung auf der Hand, je länger man sucht umso weniger Fehler findet man ja bekanntlich da man überhaupt nichts mehr erkennt dann..

    Ich hoffe das jemand den Fehler entdeckt und mir weiterhelfen kann
     

  2. #2
    Avatar von The Nephilim
    The Nephilim The Nephilim ist offline Mitglied Silber
    Registriert seit
    Jul 2003
    Ort
    Düsseldorf
    Beiträge
    64
    Wenn ich' srichtig sehe ubergibst du den namen der db zwar in deinem Query aber weswegen der fehler auftrit ist wohl das $db_name in select _db leer ist.
    Prüf das mal mit var_dump($db_name);
    solltest den namen der db als parameter der funktion mit übergeben.
    Hoffe, das stimmt - so auf die Schnelle
    cu
     
    Elysium for the sleepless souls...

  3. #3
    MiLa MiLa ist offline Mitglied Smaragd
    Registriert seit
    Aug 2003
    Beiträge
    1.166
    Ja, ganz richtig,
    entweder du übergibst den Datenbanknamen an die Funktion,
    oder du setzt an den anfang der Funktion:

    PHP-Code:
    global $db_name
    d.h. per Global die Variable mit dem Datenbanknamen innerhalb der Funktion verfügbar machen.

    mfG Larsi
     

  4. #4
    ThePhantom ThePhantom ist offline Rookie
    Registriert seit
    Sep 2003
    Beiträge
    5
    Danke für die Antworten
    Leider funktioniert die Abfrage trotz der Tips noch immer nicht

    Ich poste hier den aktuellen veränderten Code nochmal (Das was ich bereits versucht habe wurde wieder rausgelöscht)

    PHP-Code:
        $db_host="xxx";
        
    $db_name "xxx";
        
    $db_user="xxx";
        
    $pass="xxx";
        
    $connection = @mysql_connect($db_host$db_user$pass) or
                die (
    "Verbindung zur Datenbank nicht möglich");
            @
    mysql_select_db($db_name$connection) or
                die (
    "Datenbank $db_name kann zur zeit nicht ausgewählt werden");
                
        function 
    makedropdown_t($query$select_name$connection$preselect$db_name="xxx")
    {
        
    var_dump($db_name='xxx');
        
    $result = @ mysql_select_db ($db_name='xxx'$connection) or
                die (
    mysql_error());
            echo 
    "<select name=\"$select_name\">\n";
                while(
    $row mysql_fetch_row($result))
            {
                echo 
    "<option value=\"";
                echo 
    $row[0];
                
                if(
    $row[1] ==  $preselect)
                    echo 
    "\" selected>";
                else
                    echo 
    "\">";
                    echo 
    $row[1];
                echo 
    "</option>\n";
            }
        echo 
    "<select>\n";

    var_dump zeigt mir nun die Anzahl der Tabellen in der DB an, allerdings übergibt er sie noch immer nicht, das Dropdown bleibt weiterhin leer


    Ausgabe:
    PHP-Code:
    <td align="center">
                <?
                
    echo "<br>Tabellenauswahl:<br>";
                
    $query "SHOW tables FROM $db_name='xxx' ";
                
    makedropdown_t($query"tables"$connection$db_name='xxx'"");
                
    ?>
    Vielleicht hat noch jemand eine Idee was ich nicht auf die Reihe kriege bzw. was schieflaufen könnte.
     

  5. #5
    ThePhantom ThePhantom ist offline Rookie
    Registriert seit
    Sep 2003
    Beiträge
    5
    Mitlerweile funktioniert es, hier der Code wie es nun klappt

    PHP-Code:
        function makedropdown_t($query$select_name$connection$db_name='xxx'$preselect)
    {
        
    /*var_dump($query, $select_name, $connection, $db_name, $preselect); */
        
    mysql_select_db ($db_name);
        
    $result = @ mysql_query ($query$connection) or
                die (
    mysql_error());
            echo 
    "<select name=\"$select_name\">\n";
                while(
    $row mysql_fetch_row($result))
            {
                echo 
    "<option>";
                echo 
    $row[0];
                echo 
    "</option>\n";
            }
        echo 
    "</select>\n";

    Ausgabe:

    PHP-Code:
                <?
                
    echo "<br>Tabellenauswahl:<br>";
                
    $query "SHOW tables";
                
    makedropdown_t($query"Tables"$connection$db_name='xxx'"");
                
    ?>
     

Ähnliche Themen

  1. Selected
    Von Ichbinalex im Forum Javascript & Ajax
    Antworten: 2
    Letzter Beitrag: 02.04.08, 10:41
  2. selected="selected" nicht im IE6 ?
    Von megatom im Forum HTML & XHTML
    Antworten: 3
    Letzter Beitrag: 05.06.07, 13:58
  3. No Database Selected
    Von bspainkf36 im Forum PHP
    Antworten: 3
    Letzter Beitrag: 09.02.06, 15:51
  4. Loginscript - No Database selected
    Von testarrow im Forum PHP
    Antworten: 6
    Letzter Beitrag: 26.09.05, 20:35
  5. Antworten: 2
    Letzter Beitrag: 02.03.05, 21:21