Due tabelle con un unico form

Bizio2009

Utente Attivo
12 Giu 2009
310
0
0
Ciao! Volevo sapere per favore se era possibile mandare con un unico form due tabelle, ho necessità che gli stessi identici dati vengano trascritti due volte. Ho provato così ma funziona male nel senso che mi dà doppio cliente inserito nei due documenti...e non credo io debba agire nell'action del form.

Vi posto il codice un pò tagliato ma tanto per capire:

PHP:
$query="INSERT INTO inserimento_dati (
accettato_da,
cognome,  
nome,  
luogo_di_nascita,  
data_di_nascita,  
eta, 
 
$query = "SELECT * FROM inserimento_dati ORDER BY data_registrazione";  
$risultato = mysql_query( $query ) or die ( "Query '$query' fallita:::::" . mysql_error() );
 
while ( $inserimento_dati = mysql_fetch_array( $risultato ) )
 
<td><b>P  </b>  " . stripslashes($inserimento_dati ['id_cl']) . "</td></tr>  
                <td><b>ACCETTATO DA:  </b>  " . stripslashes($inserimento_dati['accettato_da']) . "</td></tr>
                <td><a href=\"accettazione2.php\">COGNOME " . stripslashes($inserimento_dati['cognome']) . "</a></td></tr>
                <td><b>NOME:</b>  " . stripslashes($inserimento_dati['nome']) . "</td></tr> 
 
$query="INSERT INTO archivio_dati (
accettato_da,
cognome,  
nome,  
luogo_di_nascita,  
data_di_nascita,  
eta, 
residenza,  
via,
 
 
$query = "SELECT * FROM archivio_dati ORDER BY data_registrazione";  
$risultato = mysql_query( $query ) or die ( "Query '$query' fallita:::::" . mysql_error() );  

while ( $archivio_dati = mysql_fetch_array( $risultato ) )

Grazie!
 

programmatore

Utente Attivo
21 Ago 2009
111
0
0
programmatore.altervista.org
Ciao! Volevo sapere per favore se era possibile mandare con un unico form due tabelle, ho necessità che gli stessi identici dati vengano trascritti due volte. Ho provato così ma funziona male nel senso che mi dà doppio cliente inserito nei due documenti...e non credo io debba agire nell'action del form.

Non ho ben capito cosa vuol dire "mandare con un unico form due tabelle" e a cosa ti riferisci parlando di "documenti". Ad ogni modo ipotizzo che tu voglia inserire gli stessi dati in 2 tabelle, inserimento_dati e archivio_dati.

In questo caso dovresti fare così:
PHP:
$query="INSERT INTO inserimento_dati (
accettato_da,
cognome,  
nome,  
luogo_di_nascita,  
data_di_nascita,  
eta, ...);
 
$risultato = mysql_query( $query ) or die ( "Query '$query' fallita:::::" . mysql_error() );

// qui è finito il primo inserimento

$query="INSERT INTO archivio_dati (
accettato_da,
cognome,  
nome,  
luogo_di_nascita,  
data_di_nascita,  
eta, 
residenza,  
via, ...);

$risultato = mysql_query( $query ) or die ( "Query '$query' fallita:::::" . mysql_error() );  

// qui è finito il secondo inserimento


// lettura da prima tabella
$query = "SELECT * FROM inserimento_dati ORDER BY data_registrazione";   
while ( $inserimento_dati = mysql_fetch_array( $risultato ) )
{
      // visualizzazione record
} 

// lettura seconda tabella
$query = "SELECT * FROM archivio_dati ORDER BY data_registrazione"; 
while ( $archivio_dati = mysql_fetch_array( $risultato ) )  
{
      // visualizzazione record
}

Se non è la soluzione che cercavi prova a spiegare meglio cosa vuoi ottenere. Grazie :)
 

Bizio2009

Utente Attivo
12 Giu 2009
310
0
0
Ciao, ho provato ma mi dà 2 warning

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in c:\programmi\easyphp1-8\www\inserimento_dati.php

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in c:\programmi\easyphp1-8\www\inserimento_dati.php

Il codice è questo, non vorrei aver sbagliato qualcosa...

PHP:
$query="INSERT INTO inserimento_dati (
accettato_da,
cognome,  
nome)  
VALUES('" . 
addslashes ( $_POST['accettato_da'] ) . "', '" .   
addslashes ( $_POST['cognome'] ) . "', '" .   
addslashes ( $_POST['nome'] ) . "', '" .      


$risultato =  mysql_query( $query ) or die ( "query '$query' fallita::::" . mysql_error() );  


$query="INSERT INTO archivio_dati (
accettato_da,
cognome,  
nome)  
VALUES('" . 
addslashes ( $_POST['accettato_da'] ) . "', '" .   
addslashes ( $_POST['cognome'] ) . "', '" .   
addslashes ( $_POST['nome'] ) . "', '" .      


$risultato =  mysql_query( $query ) or die ( "query '$query' fallita::::" . mysql_error() );  


// lettura da prima tabella 
$query = "SELECT * FROM inserimento_dati ORDER BY data_registrazione";    
while ( $inserimento_dati = mysql_fetch_array( $risultato ) ) 

      // visualizzazione record 

echo "<table> 

<head>
<style>
table { 
border: solid 2px #000000; 
text-align: center; 
} 
td { 
solid 1px #000000; 
color: Black; 
background: #F1EBAD; 
}
</style> 
</head>



           <tr>

                 <td><b>ACCETTATO DA:  </b>  " . stripslashes($inserimento_dati_paziente['accettato_da']) . "</td></tr>
                <td><a href=\"ac2.php\">COGNOME " . stripslashes($inserimento_dati_paziente['cognome']) . "</a></td></tr>
                <td><b>NOME:</b>  " . stripslashes($inserimento_dati_paziente['nome']) . "</td></tr> 
                
 

// lettura seconda tabella 
$query = "SELECT * FROM archivio_dati ORDER BY data_registrazione";  
while ( $archivio_dati = mysql_fetch_array( $risultato ) )   

     echo "<table> 

<head>
<style>
table { 
border: solid 2px #000000; 
text-align: center; 
} 
td { 
solid 1px #000000; 
color: Black; 
background: #F1EBAD; 
}
</style> 
</head>



           <tr>

                 <td><b>ACCETTATO DA:  </b>  " . stripslashes($archivio_dati_paziente['accettato_da']) . "</td></tr>
                <td><a href=\"accettazione2.php\">COGNOME " . stripslashes($archivio_dati_paziente['cognome']) . "</a></td></tr>
                <td><b>NOME:</b>  " . stripslashes($archivio_dati_paziente['nome']) . "</td></tr>

Cosa ho sbagliato?

Grazie moltissime! :)
 

programmatore

Utente Attivo
21 Ago 2009
111
0
0
programmatore.altervista.org
Scusa, colpa mia! Mancano le due istruzioni per eseguire la query :p
Codice:
// lettura da prima tabella 
$query = "SELECT * FROM inserimento_dati ORDER BY data_registrazione";    
[COLOR="Red"]$risultato =  mysql_query( $query ) or die ( "query '$query' fallita::::" . mysql_error() );  [/COLOR]
while ( $inserimento_dati = mysql_fetch_array( $risultato ) ) 

...

// lettura seconda tabella 
$query = "SELECT * FROM archivio_dati ORDER BY data_registrazione";  
[COLOR="red"]$risultato =  mysql_query( $query ) or die ( "query '$query' fallita::::" . mysql_error() );  [/COLOR]
while ( $archivio_dati = mysql_fetch_array( $risultato ) )   

...
 

Bizio2009

Utente Attivo
12 Giu 2009
310
0
0
Ti ringrazio, ora non mi da errori ma...mi scrive in inserimento_dati doppio cliente e in archivio_dati anche (doppio cliente) solo che il secondo cliente non mette il nominativo....
 

programmatore

Utente Attivo
21 Ago 2009
111
0
0
programmatore.altervista.org
Questo dipende dal resto dello script o da come viene richiamato questo script. Le query inseriscono un solo record in entrambe le tabelle.

Lo stile della tabella ti conviene metterlo prima del while anziché all'interno e all'interno del while userei solo i tag tr e td creando una sola tabella (<table> prima del while e </table> dopo il while).
 

Bizio2009

Utente Attivo
12 Giu 2009
310
0
0
Il form è puntato sulla pagina "inserimento_dati.php" infatti quando vado a vedere la pagina "archivio_dati.php" mi vengono fuori i dati del cliente (doppi...uno nominato e l'altro no) ma anche tutte le variabili da definire...e anche lì è un problema...come faccio a definirle se non posso fare il form?

Due problemi in uno :hammer:
 

Bizio2009

Utente Attivo
12 Giu 2009
310
0
0
Ti riposto praticamente tutto il codice magari trovi qualcosa che io non trovo...

PHP:
//inserimento dei nuovi dati  
$query="INSERT INTO inserimento_dati (
accettato_da,
cognome,  
nome)  
VALUES('" . 
addslashes ( $_POST['accettato_da'] ) . "', '" .   
addslashes ( $_POST['cognome'] ) . "', '" .   
addslashes ( $_POST['nome'] ) . "', '" .      

$risultato =  mysql_query( $query ) or die ( "query '$query' fallita::::" . mysql_error() );   


//inserimento dei nuovi dati  
$query="INSERT INTO archivio_dati (
accettato_da,
cognome,  
nome)  
VALUES('" . 
addslashes ( $_POST['accettato_da'] ) . "', '" .   
addslashes ( $_POST['cognome'] ) . "', '" .   
addslashes ( $_POST['nome'] ) . "', '" .      

$risultato =  mysql_query( $query ) or die ( "query '$query' fallita::::" . mysql_error() );   


// qui è finito il secondo inserimento 


// lettura da prima tabella 
$query = "SELECT * FROM inserimento_dati ORDER BY data_registrazione"; 
$risultato =  mysql_query( $query ) or die ( "query '$query' fallita::::" . mysql_error() );   
while ( $inserimento_dati = mysql_fetch_array( $risultato ) ) 

      // visualizzazione record 

echo "<table> 

<head>
<style>
table { 
border: solid 2px #000000; 
text-align: center; 
} 
td { 
solid 1px #000000; 
color: Black; 
background: #F1EBAD; 
}
</style> 
</head>



           <tr>

                
                 <td><b>ACCETTATO DA:  </b>  " . stripslashes($inserimento_dati['accettato_da']) . "</td></tr>
                <td><a href=\"accettazione2.php\">COGNOME " . stripslashes($inserimento_dati['cognome']) . "</a></td></tr>
                <td><b>NOME:</b>  " . stripslashes($inserimento_dati['nome']) . "</td></tr> 
 

// lettura seconda tabella 
$query = "SELECT * FROM archivio_dati ORDER BY data_registrazione";  
$risultato =  mysql_query( $query ) or die ( "query '$query' fallita::::" . mysql_error() );



while ( $archivio_dati = mysql_fetch_array( $risultato ) )   

     echo "<table> 

<head>
<style>
table { 
border: solid 2px #000000; 
text-align: center; 
} 
td { 
solid 1px #000000; 
color: Black; 
background: #F1EBAD; 
}
</style> 
</head>



           <tr>

                 <td><b>ACCETTATO DA:  </b>  " . stripslashes($archivio_dati['accettato_da']) . "</td></tr>
                <td><a href=\"accettazione2.php\">COGNOME " . stripslashes($archivio_dati['cognome']) . "</a></td></tr>
                <td><b>NOME:</b>  " . stripslashes($archivio_dati['nome']) . "</td></tr>

Grazie Programmatore! :)
 

satifal

Utente Attivo
25 Set 2008
522
13
0
Roma
Secondo me dovresti fare un attimino un passo indietro.
Cosa intendi quanto parli di form, tabelle e documenti e quali sono secondo te le eventuali differenze tra di essi.
Hai chiare le eventuali differenze, il funzionamento e le relazioni esistenti tra html, php e mysql?
Come dovrebbe funzionare, in maniera concettuale, un semplice giro di una pagina che prende dei dati in input esegue una query sul DB
utilizzando tali dati e restituisce a video i record individuati?
 
Ultima modifica:

Bizio2009

Utente Attivo
12 Giu 2009
310
0
0
Sì sì, ho preso in considerazione questo: per il mio progettino mi serve un form.html (già fatto), che lo stampi due volte in maniera identica nel documento X.php.
 

programmatore

Utente Attivo
21 Ago 2009
111
0
0
programmatore.altervista.org
Secondo me il problema è nel form. Prima dicevi che ti dà che alcune variabili non sono definite (oltre ad altri problemi di dati assenti). Se le variabili non definite sono un sottoinsieme di {accettato_da, cognome,nome} allora è un problema di form. Questi nomi infatti devono essere presenti nel form che li passa allo script php nel vettore $_POST (l'ho spiegato molto "con le mani" :D). A quel punto il form non conta più niente e analizzeremo altri errori (se non erano effetti collaterali).
Quindi... è meglio se posti il codice del form :)
 

Bizio2009

Utente Attivo
12 Giu 2009
310
0
0
Ciao! Grazie per le risposte innanzitutto!

Il problema è che io ho un unico form...mi spiego meglio...io compilo un unico form e i dati mi vanno in elenco_clienti.php ma vorrei che gli stessi dati andassero anche in un'altra pagina...archivio_clienti.php, ma a questo punto non credo si possa fare senza fare un secondo form...purtroppo.

Grazie!

Ciao!!!
 

Bizio2009

Utente Attivo
12 Giu 2009
310
0
0
Hai ragione, volevo sapere se era possibile fare una cosa del genere, ma mi sono reso conto di no.

Grazie per la risposta programmatore.
Ciao!!!
 
Discussioni simili
Autore Titolo Forum Risposte Data
T Query su due tabelle con totali Database 4
M Aggiornare simultaneamente i campi di due tabelle collegate con id PHP 4
trattorino [PHP] Scaricare utenti che hanno due tabelle con dati uguali PHP 15
trattorino [PHP] Scaricare utenti che hanno due tabelle con dati uguali PHP 0
M Problemi con query su due tabelle PHP 2
T Query con due tabelle Database 4
R Richiamare due tabelle con id comune MySQL 0
P problema con due tabelle PHP 1
max75 query su due tabelle e dati doppioni MS Access 2
T come ordinare dei record recuperati da due tabelle MySQL 0
A Visualizzazione due tabelle PHP 1
M Aggiornare stesso campo in due tabelle PHP 0
Tommy03 Unire dati da due tabelle MySQL 5
elpirata [MySQL] Sincronizzare dati tra due tabelle sullo stesso host MySQL 0
S [PHP] come esportare due tabelle in file excel su due fogli distinti PHP 8
A [Javascript] Multi input su due tabelle correlate Javascript 1
I database mysql estrarre due tabelle Database 2
Emix [PHP] Ricerca e modifica su due tabelle PHP 26
C Php/Mysql query JOIN tra due tabelle PHP 18
T creare due tabelle contemporaneamente Database 5
G [MS Access] JOIN di due tabelle più GROUP BY MS Access 1
D unire due tabelle MySQL 1
felino [MySQL] "Sicronizzare" due tabelle tramite il campo di relazione MySQL 0
N Query due tabelle PHP 4
F come creare un sistema ranking tra due tabelle (TOMBOLA/BINGO) PHP 8
M controllo due tabelle per risultato PHP 0
T select record univoco dopo confronto di due tabelle MySQL 2
9 Associazione tra due tabelle PHP 1
L Vanno bene queste due query per estrarre da due tabelle? MySQL 6
J [MySQL] Ricerca in due tabelle MySQL 21
P Controllo selettivo su due tabelle PHP 4
gaia creare una tabella dall'unione di due tabelle MySQL 3
N Raggruppare risultati di due tabelle PHP 1
D Query di delete tra due tabelle MySQL 1
B Risultato unico da due tabelle MySQL 0
felino [RISOLTO] [MySQL] Unire due tabelle esistenti in una nuova MySQL 1
X problema sql tra due tabelle Database 1
L inner join su due tabelle PHP 5
M SUM Tra due tabelle MySQL 5
M Select di due tabelle MySQL 3
M DELETE record di due tabelle MySQL 1
borgo italia opinione se meglio una tabella o due tabelle MySQL 1
M Selezionare dati tra due tabelle Database 3
M Selezionare dati tra due tabelle PHP 1
F selezionare dati tra due tabelle e prendere max valori PHP 10
Emix Problema su due tabelle.... MySQL 5
P Unire, confrontare due tabelle da due db diversi fati in phpmyadmin Database 5
asevenx bacheca per visualizzare i messaggi inseriti in due tabelle diverse di un database PHP 4
neo996sps [PHP + MySQL] Merge di due tabelle Mysql differenti e non relazionate PHP 6
P Riempire due insert in due tabelle diverse PHP 145

Discussioni simili