creare una tabella da codice

samurai.sette

Utente Attivo
17 Dic 2015
234
6
18
Ciao a tutti.

Da come avete letto dal titolo della discussione, sto cercando di creare da codice una tabella. Mi spiego meglio: in un form ho diversi input text (5 per la precisione) che l'utente riempie; una volta finito clicca su un bottone e alcuni dati (4 per la precisione) verranno inseriti in una tabella da me creata. Allo stesso tempo deve essere creata una tabella che prende il nome di un input text (il quinto) e in questa tabella inserire il dato del quinto input text.

Come vedete non è nulla di particolare, ma non riesco a capire perché non mi crea la tabella. I dati dei primi 4 input text li inserisci senza problemi, ma la tabella non la crea e non mi genera nessun errore.
Codice:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta content="it" http-equiv="Content-Language" />
<meta content="text/html; charset=utf-8" http-equiv="Content-Type" />
<title>SmartStructure</title>
<style type="text/css">
body {
    font-family: "Trebuchet MS";
    text-align: center;
    color: #666666;
}
#TESTATA {
    width: 1000px;
    margin-right: auto;
    margin-left: auto;
    font-size: 45px;
}
#CORPO {
    width: 380px;
    margin-right: auto;
    margin-left: auto;
    background-color: #F7F7F7;
}
</style>
</head>
<body>
<div id="TESTATA">
    SmartStructure</div>
<br />
    Inserisci i dati del nuovo utente
<br />
<br />
    <div id="CORPO">
    <br />
        <form method="post">
            Committente <input name="committente" type="text" style="width: 250px" />
            <br />
            <br />
            Username <input name="username" style="width: 250px" type="text" />
            <br />
            <br />
            Password <input name="password" style="width: 250px" type="text" />
            <br />
            <br />
            Email <input name="email" style="width: 300px" type="text" /><br />
            <br />
            Nome lavoro <input name="lavoro" style="width: 250px" type="text" />
            <br />
            <br />
            <input name="inserisci" style="width: 150px" type="submit" value="Inserisci nuovo utente" />
            <br />
            <br />
        </form>
    <?php
      if (isset ($_POST['inserisci']))
      {
      // definisco i dati per la connessione
      // nome di host
      $host = "localhost";
      // nome del database
      $db = "meco_monitoraggi";
      // username dell'utente in connessione
      $user = "root";
      // password dell'utente
      $password = "";
      // faccio la connessione
        $con = mysql_connect ("$host", "$user", "$password") or die ("Connessione al server fallita! ".mysql_error());
        $db = mysql_select_db ("$db", $con) or die ("Connessione al database meco_monitoraggi fallita! ". mysql_error());
      // leggo i valori degli input (text)
        $mandante = $_POST['committente'];
        $user = $_POST['username'];
        $pass = $_POST['password'];
        $mail = $_POST['email'];
        $work = $_POST['lavoro'];
      // inserisco i valori appena letti nella "tabella utenti" e il valore $work nella tabella "_lavori" del relativo database
        $inserisci = "INSERT INTO utenti (nome_committente,username,password,mail) VALUES ('$mandante', '$user', '$pass', '$mail')";
      // faccio la query
        $result = mysql_query($inserisci);
    // CREO LA TABELLA CHE CONTERRA' L'ELENCO DEI LAVORI DEL NUOVO UTENTE
      // definisco il nome della tabella contenente l'elenco dei lavori del nuovo utente
        $tabella = "$tabella = $mandante.("_").("lavori");";
      // creo la tabella che conterrà l'elenco dei lavori del nuovo utente
        $sql = "CREATE TABLE $tabella
        ( nome VARCHAR(20),
        cognome VARCHAR(20),
        telefono INT(10)
        )";
      // inserito l'utente faccio scrivere un messaggio di avvenuto inserimento o un messaggio di errore
        if ($result)
        {
          echo "Inserimento avvenuto con successo";
        }
        else
        {
          echo "Errore nell'inserimento del dati!";
        }
      }
    ?>
    </div>
</body>
</html>
Secondo voi dove sbaglio. Vi posto il codice che ho scritto. Ciao, grazie.
 

criric

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
21 Ago 2010
5.607
54
48
TN
Ciao, la sintassi di questa riga è sbagliata
PHP:
$tabella = "$tabella = $mandante.("_").("lavori");";
controlla meglio gli apici
Non vedo l'esecuzione della query per questo non da errori, devi rimettere mysql_query() dopo $sql = "CREATE ....
 

samurai.sette

Utente Attivo
17 Dic 2015
234
6
18
Ciao Criric, grazie mille per la risposta. Ora funziona ma ti vorrei chiedere una cosa.
Io ho scritto in questo modo:
Codice:
$tabella = "$mandante"."_"."lavori";

$sql = "CREATE TABLE $tabella
  ( id VARCHAR(3),
  lavori VARCHAR(250)
  )";
       
mysql_query($sql);

Se alla voce "id" volessi aggiungere la chiave primaria e l'auto incremento, avevo pensato di scrivere in questo modo:

Codice:
$tabella = "$mandante"."_"."lavori";

$sql = "CREATE TABLE $tabella
  ( id VARCHAR(3) UNSIGNED AUTO_INCREMENT PRIMARY KEY,
  lavori VARCHAR(250)
  )";
       
mysql_query($sql);

Facendo in questo modo, però, non mi crea la tabella. Dove pensi che sto sbagliando?
Ciao, grazie mille.
 

criric

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
21 Ago 2010
5.607
54
48
TN
non sono un esperto di sql ma credo che le chiavi si dichiarino alla fine dei campi e in più un campo autoincrement cdovrebbe essere un intero, prova cosi
Codice:
CREATE TABLE  $tabella (
  id int(11) AUTO_INCREMENT,
  lavori VARCHAR(250),
  PRIMARY KEY (`id`)
  )
eventualmente usa mysql_rror per trovare gli errori
PHP:
if(!mysql_query($sql) {
    echo  mysql_error();
}
ps:
l'estensione mysql è deprecata ed è stata rimossa dalle ulttime versioni di php ti conviene studiarti la mysqli
 

samurai.sette

Utente Attivo
17 Dic 2015
234
6
18
Ciao Criric. Sono riuscito a risolvere.
Ho scritto in questo modo:
Codice:
$sql = "CREATE TABLE $tabella
  ( id INT(3) AUTO_INCREMENT PRIMARY KEY ,
  lavori VARCHAR(250) NOT NULL
  )";
Grazie mille per l'aiuto!!!
 
  • Like
Reactions: criric
Discussioni simili
Autore Titolo Forum Risposte Data
M [MySQL] CREARE UN LINK SU UN DETERMINATO CAMPO DI UNA TABELLA RISULTATO DI UNA QUERY SQL MySQL 3
A Creare una fattura con dati di intestazione estratti da tabella MySQL 0
M creare una tabella dove inserire i dati del database Database 1
M Access-Query per creare una tabella con la data nel nome tabella MS Access 0
gaia creare una tabella dall'unione di due tabelle MySQL 3
A Creare nuova casella di una tabella Javascript 4
ypsilon86 Da un FORM creare una Tabella dinamica PHP 7
C Javascript completo di html per creare una tabella dove compare il saluto in base all'ora. Javascript 2
V Creare una tabella in un database PHP 8
M creare una tabella per la registrazione PHP 18
G Vorrei creare una tabella dal menù dati di excel Windows e Software 1
W [SQL Server] Creare un trigger per mappare le modifiche su una tabella Database 0
F Creare una tabella dinamica con la sintassi del W3C Javascript 1
giorgione_tg MySql semplice problema nel creare una tabella... Database 2
L Creare una forma geometrica Photoshop 1
W Creare link di una dato Classic ASP 0
MarcoGrazia Creare una password Snippet Javascript 0
L Creare una pagina pre-home WordPress 1
L creare oggetti da una classe tramite un form Javascript 0
R Bootstrap 4 - creare una finestra di testo responsive sopra un Carousel jQuery 1
T con oop creare un ciclo per una pagina dinamica html con php PHP 3
V [WordPress] Creare una struttura di articoli da una struttura di cartelle WordPress 1
jonnino2004 Sito .it vale la pena creare una versione in inglese? SEO e Posizionamento 1
S [WordPress] Creare una select box con partita iva e codice fiscale in base a una logica. WordPress 0
Axis18 Creare una barra di avanzamento con $.ajax Ajax 7
B funzioni per creare file e inserirli dentro una certa cartella in php? PHP 1
utente è possibile creare una pagina php che copia interamente il contenuto di un'altra pagina ? PHP 10
M come creare un popup con CSS da una pagina esterna? jQuery 1
L [php e xml] per creare una galleria fotografica con diversi file xml PHP 0
deejayr Creare un link URL ad un pulsante di una pagina web. Javascript 4
P [PHP] come creare una chat PHP 24
Gabriele Visioli Come creare uno spoiler in una pagina o post WordPress 1
P [CERCO] esperto per creare una chat room seria Offerte e Richieste di Lavoro e/o Collaborazione 1
N Creare una web community Discussioni Varie 6
S PHP: creare un link in una pagina PHP 7
F mysqli creare una select con valori dal db PHP 4
R Creare una classifica con Access 2007 Database 1
G Creare una forma irregolare colorata e poi modellarla con photoshop. Photoshop 7
felino [CSS] Immagine, creare una striscia nell'angolo superiore della foto HTML e CSS 10
A Creare una classe espressione Java 1
R Creare una videochat a pagamento Offerte e Richieste di Lavoro e/o Collaborazione 2
M creare una lista di commenti in un database PHP 1
W Da dove si parte a creare una App?? Sviluppo app per Android 2
T vBulletin 3.8.x E' possibile creare una nuova pagina in PHP nel forum? VBulletin 0
J Creare una classe view php PHP 0
felino [JS] Creare una variabile dinamicamente tramite Ciclo For Javascript 4
P Creare e animare una progess bar PHP 13
M creare una ListView non cliccabile Sviluppo app per Android 1
R creare una pagina su sito web HTML e CSS 2
S [risolto] Creare una mappa Google per ogni indirizzo Javascript 14

Discussioni simili