prelevare dato da una tabella ed inserila in un altra

  • Creatore Discussione Creatore Discussione Emi
  • Data di inizio Data di inizio

Emi

Nuovo Utente
27 Dic 2013
5
0
0
sera a tutti.
Mi sono affacciato da poco al php e sto avendo qualche problema.
praticamente ho due tabelle che hanno entrambe una colonna chiamata id_prodotto e la seconda colonna invece cambia,
1)id_prodotto | published
2)id_prodotto|nome_prodotto
(id prodotto autoincrementa ed e' primaria)

dovrei fare in modo che con la chiamata php inserisca i dati (passati da un form)
ho scritto questo codice:

PHP:
<?php
//accesso db

//prima tabella
$query = 'INSERT INTO oikwh_products
        ( published)
        VALUES
        ( 0)';
    mysql_query($query, $db) or die(mysql_error($db));
   
//seconda tabella 

$query = 'INSERT INTO oikwh_products_specifiche
        ( id_prodotto, nome_prodotto)
        VALUES
        ( ????? ,"' . $_POST['nomevino'] . '")';
    mysql_query($query, $db) or die(mysql_error($db));

echo 'Dati inseriti';
?>

nella prima tabella l'autoincremento funziona, nella seconda no, per ovviare volevo far in modo che la funzione prendesse il valore massimo dell'id della prima tabella ed inserirlo cosi' nella seconda ma non riesco. Avete consigli?
 
Ultima modifica di un moderatore:
Cioè vuoi trasferire i dati presenti nella prima tabella nella seconda?


solo l'ultimo dato della prima colonna.

praticamente un c'e' un form che crea un prodotto, lo invia alla pagina php che inserira' in due tabelle diverse i dati raccolti dal form solo che l'id del prodotto deve essere uguale nelle due tabelle per un prodotto.

esempio pratico:
nel form inserisco nome prodotto e prezzo
il form invia i dati alla pagina php che divide i dati arrivati in due tabelle

la prima avra': id=5, prezzo=1000
la seconda: id=5, nome=passeggino
 
Umh...

Potresti usare una query SELECT che ti va a trovare l'ID in base al nome di un prodotto/costo nella prima tabella e poi usi una query UPDATE che sostituisca l'ID di un prodotto nella seconda tabella con quello della prima.

Ma poi se i dati delle 2 tabelle vengono inviati assieme l'ID non sarà uguale? (Partendo dal fatto di non avere elementi nelle 2 tabelle)
 
e' quello che pensavo io, invece l'id della prima tabella si autoincrementa da sola la seconda invece no, e' per questo che pensavo di prendere il valore massimo della prima colonna della prima tabella ed inserirlo nella seconda
 
e' quello che pensavo io, invece l'id della prima tabella si autoincrementa da sola la seconda invece no, e' per questo che pensavo di prendere il valore massimo della prima colonna della prima tabella ed inserirlo nella seconda

ciao,

nel modo di gestire la situazione, che prospetti, percepisco la possibilità che per disallineamenti tra le tabelle,
ti ritrovi con i dati che non si legano più, o che si legazo senza costrutto,

ti segnalo la forma che suggerisce criric, molto più esperto di me,
con la funzione mysql_insert_id(), la trovi in questo post

http://forum.mrwebmaster.it/php/39029-problema-funzione-header-aiuto.html

viene scritto un elemento in tabella e viene ripreso il codice che si autoincrementa per un uso successivo,
che è il tuo caso

poi ti farei anche la domanda, ma perchè non usi una tabella sola con i 4 elementi,
ID (autoincremento)
codice prodotto
descrizione
prezzo
?
quando ti servono hai le informazioni a disposizione senza dover fare letture incrociate,
e senza il pericolo di trovare un pezzo si e uno no...

ma forse la tua applicazione richiede così ...
ciao
Marino
 
Ciao e grazie per aver risposto :)
Purtroppo sto lavorando su un db gia' fatto e non posso (al momento) cambiare la formazione delle tabelle. Ora provo a seguire il tuo consiglio grazie ancora
 

Discussioni simili