• User Newbie

    Select dinamica con contenuto Database Presenti

    Ciao a tutti,
    Mi presento
    sono vincenzo ed ho 20 anni, sono nuovo in questo forum,

    l'ho trovato per caso, cercando soluzioni al mio problemi e così per sbaglio mi son trovato in questo forum che neanke a farlo a posta ha tutte le discussioni ecc che ho sempre cercato nei miei momenti di crisi.
    ho un agenzia a messina, di webhosting, soluzioni aziendali e call center per vendita telefonica di alcuni gestori telefonici, ho quindi tralasciato un pò la programmazione a causa della poca disponibilità di tempo.

    sto facendo uno script del tipo.
    ho una lista di utenti ogni lista di utenti. per ogni lista è un database che contiene le tabelle: non chiamati , chiamati, ko ecc
    ho creato lo script che crea il database, ed uno che mi fa lo stamp di tutti i database presenti per quell'utente.
    adesso sto creando il form di inserimento della lista CSV

    seleziono la lista, dopo di che mi serve un select che mi dia la lista dei database presenti e mi faccia selezionare in quale caricare la lista.
    ma non ci riesco, ho provato facendo così:

    
    
    <html>
    <head>
    <title>Lista database Presenti per l'utente</title>
    </head>
    <body>
    <?php
    // Mi connetto al database, da usare poi config
    $user = "root";
    $pass = "";
    
    $link =  mysql_connect("localhost", "root","" );
    if ( ! $link )
        die( "non posso connettermi al mysql" );
    
       //creo lista db
      $db_list = mysql_list_dbs($link);
    
             //visualizzo i db presenti per l'utente
    while ($row = mysql_fetch_object($db_list)) {
        $database= $row->Database . "<br />";
        echo($database);
    }
    mysql_close( $link );
    ?>
    
     <?php
    
    
    //apro il  tag select per il menu a tendina
    echo"<select name=\"db_list\">";
    
    //metto i risultati della query in un  array e poi faccio un ciclo
    
    
    
        //stampo option con value uguale alla regione e il testo è la regione
            echo "<option value=\"".$database."\">".$database."</option>";
    
    
    
    //finito il ciclo chiudo il tag select
    echo"</select>";
    
    
    
           ?>
    
    </body>
    </html>
    

    ma come risultato mi da solo phpmyadmin

    le prove sono fatte su un easyphp in locale momentaneamente. con utente root

    sapete dirmi come fare per far caricare nel select tutti i database e non solo uno?? in modo da poterlo selezionare??

    Grazie Anticipatamente

    Vincenzo


  • Super User

    Ciao. Il tuo codice sovrascrive di volta in volta la variabile $database, per questo ricavi solo phpmyadmin, questo sarà il nome dell'ultimo database che hai.

    Guarda bene:

    $database = $row->Database;

    qui sovrascrivi la variabile di volta in volta. Ti converrebbe spostare il while in basso, dove hai la select, in modo da stamparti di volta in volta le opzioni, così:

    
    <select>
    
    <? while($row=mysql_fetch_object($db_list)) print "<option>".$row->Database."</option>"; ?>
    
    </select>
    
    

    Altrimenti potresti crearti la lista delle option prima, immagazzinandole usando l'operatore append:

    
    <?
    $database = "";
    while($row=mysql_fetch_object($db_list)) $database .= "<option>".$row->Database."</option>";
    ?>
    
    <select>
    
    < print $database;?>
    
    </select>
    
    

    Spero di essere stato comprensibile. Alla prossima 🙂