Visualizzazione dei risultati da 1 a 7 su 7
  1. #1

    [PHP + MYSQL] Form creato in automatico in base al tipo di colonna della tabella

    Salve,

    vorrei creare dinamicamente un form per l'inserimento all'interno di un database di alcuni campi, come fa phpmyadmin insomma...

    come posso creare il tipo di input in base al tipo di dato della colonna (esempio text per i campi varchar, textarea per i campi text, radio per i campi enum, ecc...)???

    io non so ne il numero di campi, ne il nome, ne il tipo dei campi...

    grazie mille a tutti anticipatamente!!!

    Ciao!

  2. #2
    up...

    se la domanda non è chiara, chiedetemi pure!!!
    Ciao!

  3. #3
    nessuno??
    Ciao!

  4. #4
    Utente di HTML.it L'avatar di moskitoita
    Registrato dal
    Feb 2004
    Messaggi
    1,255
    cerca fra le istruzioni di sql rispettivamente

    il numero di campi, il nome, il tipo dei campi...

  5. #5
    Utente di HTML.it
    Registrato dal
    Sep 2002
    Messaggi
    460
    Devi usare SHOW COLUMNS FROM TABELLA e andarti a fare il parsing delle varie colonne del resultset.
    There are 10 types of people in the world - those who understand binary and those who don't.

  6. #6
    infatto ho fatto qualcosa di simile:

    SHOW FIELDS FROM tabella

    e poi con $array['type'] leggo i primi 4 caratteri del valore e in base a questo assegno il tipo di input appropriato...

    ma è un modo corretto di lavorare?? o no??

    Ciao!

  7. #7
    Mi è capitato lo stesso problema e ho risolto con questa:

    Codice PHP:
    function enum_set($table$field$conn_id) {
        
    $row mysql_fetch_assoc(mysql_query("SHOW COLUMNS FROM `$table` LIKE '$field'"$conn_id));
        if (
    preg_match("/^enum/"trim($row['Type']))) { 
            
    $enum_set explode(","preg_replace("/(^enum\()|\)$/"""trim($row['Type'])));
            return 
    str_replace("'"""$enum_set);
        } else {
            return 
    false;
        }

    Provala con una riga tipo:

    Codice PHP:
    echo "<pre>".print_r(enum_set("tbl_name""field_name"$db), true)."</pre>\n"
    dove $conn_id ovviamente è l'identificativo della connessione al database.
    Emanuele DG
    <?php echo "Proverbio zen(d): vivi ogni giorno come se fosse il ".date('d M Y', time()); ?>
    Intellectual property

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.