Visualizzazione dei risultati da 1 a 7 su 7
  1. #1
    Utente di HTML.it
    Registrato dal
    Jun 2002
    Messaggi
    1,476

    [mysql] Creare tabella dentro il database da query e popolarla..

    Ciao raga,

    è possibile creare un tabella dentro MySql partendo da una query?

    Io mi trovo in questa situazione:

    Codice PHP:
    <?
    include("top_foot.inc.php");
    include(
    "config.inc.php");
    top();

    $db mysql_connect($db_host$db_user$db_password);
    if (
    $db == FALSE)die ("Errore nella connessione. Verificare i parametri nel file config.inc.php");
    mysql_select_db($db_name$db)or die ("Errore nella selezione del database. Verificare i parametri nel file config.inc.php"); 

    $query "SELECT* FROM tbadd JOIN tbapp ON tbadd.Id=tbapp.Id"
    echo
    "Contenuto tabella
    <table border=1><tr>
    <td>Id</td><td>Anno</td><td>Addetti</td><td>RagioneSociale</td><td>Indirizzo</td><td>CAP</td><td>Città</td><td>Provincia</td><td>Prefisso</td><td>Telefono</td></tr>"
    ;
    $result mysql_query($query$db);
    while (
    $row mysql_fetch_array($result)){ 
    echo 
    "<tr><td>$row[Id]</td><td>$row[Anno]</td><td>$row[Addetti]</td><td>$row[RagioneSociale]</td><td>$row[Indirizzo]</td><td>$row[CAP]</td><td>$row[Città]</td><td>$row[Provincia]</td><td>$row[Prefisso]</td><td>$row[Telefono]</td></tr>";


    ?>
    </table>


    <?
    foot
    ();
    ?>

    Come si fa a creare e popolare, da quella query una nuova tabella nel database?

    Grazie a tutti per l'attenzione
    dies

  2. #2
    Utente di HTML.it L'avatar di Emyl
    Registrato dal
    Jul 2004
    Messaggi
    250
    Credo sia sufficiente sostituire la query con

    codice:
    CREATE TABLE tabella SELECT* FROM tbadd JOIN tbapp ON tbadd.Id=tbapp.Id
    "Ci sono 10 tipi di persone, quelli che capiscono i numeri binari...
    e quelli che non li capiscono."

  3. #3
    Utente di HTML.it
    Registrato dal
    Jun 2002
    Messaggi
    1,476
    Grazie, ora provo.


    Ma è giusto questo script?
    codice:
    $query = "SELECT* FROM tbadd JOIN tbapp ON tbadd.Id=tbapp.Id"; 
    $result = mysql_query($query, $db);
    //$numelem = count($elementi);
    	$i=0;
    	$row = mysql_fetch_array($result)
    while($i++ < $row) {
    		$elementi[$i] = ''' . mysql_escape_string($elementi[$i]) . ''';
    	}
    	$query = 'INSERT INTO tbNews VALUES(' . implode(',', $elementi) . ');';
    	$ris = mysql_query($query) or die("Errore durante l'inserimento della linea " . ++$key . "
    \r\n" . mysql_error());

    ciao

    dies

  4. #4
    Utente di HTML.it L'avatar di Emyl
    Registrato dal
    Jul 2004
    Messaggi
    250
    Non lo so, non ho l'interprete Php a disposizione, così ad occhio sembrerebbe corretto ammesso che la query restituisca un risultato di una sola riga.
    "Ci sono 10 tipi di persone, quelli che capiscono i numeri binari...
    e quelli che non li capiscono."

  5. #5
    Utente di HTML.it
    Registrato dal
    Jun 2002
    Messaggi
    1,476
    ciao,

    provando il tuo suggerimento mi restituisce questo errore
    codice:
    Errore durante l'unione Duplicate column name 'Id'
    questa è la pagina.
    Codice PHP:
    <?
    include("top_foot.inc.php");
    include(
    "config.inc.php");
    top();

    $db mysql_connect($db_host$db_user$db_password);
    if (
    $db == FALSE)die ("Errore nella connessione. Verificare i parametri nel file config.inc.php");
    mysql_select_db($db_name$db)or die ("Errore nella selezione del database. Verificare i parametri nel file config.inc.php"); 

    $query "CREATE TABLE tbnews SELECT* FROM tbadd JOIN tbapp ON tbadd.Id=tbapp.Id";
        
    mysql_query($query) or die("Errore durante l'unione "mysql_error());
    ?>

    grassie

    dies

  6. #6
    Utente di HTML.it L'avatar di Emyl
    Registrato dal
    Jul 2004
    Messaggi
    250
    Hai ragione.

    Il fatto è che lui trova 2 campi "Id". Dovresti usare un po' di alias, sinceramente mi sorge il dubbio che questo tipo di sintassi si possa utilizzare con le join e il SELECT *.

    Quindi per capirsi CREATE TABLE tabella SELECT tabella1.campo1 AS pippo, tabella2.campo2 AS pluto ecc.


    "Ci sono 10 tipi di persone, quelli che capiscono i numeri binari...
    e quelli che non li capiscono."

  7. #7
    Utente di HTML.it
    Registrato dal
    Jun 2002
    Messaggi
    1,476
    codice:
    $query = "SELECT* FROM tbadd JOIN tbapp ON tbadd.Id=tbapp.Id"; 
    $result = mysql_query($query, $db);
    //$numelem = count($elementi);
    	$i=0;
    	$row = mysql_fetch_array($result)
    while($i++ < $row) {
    		$elementi[$i] = ''' . mysql_escape_string($elementi[$i]) . ''';
    	}
    	$query = 'INSERT INTO tbNews VALUES(' . implode(',', $elementi) . ');';
    	$ris = mysql_query($query) or die("Errore durante l'inserimento " . mysql_error());
    non va... come funziona?


    dies

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.