estrarre dati da una tabella e riscriverli su di un altra

Monital

Utente Attivo
15 Apr 2009
778
2
18
Salve avrei un problemino già descritto in sommi capi in un altra discussione ma pensa pensa credo che la cosa sia risolvibile in maniera più veloce e forse più adatta con il php

in pratica io ho creato uno script molto esteso e solo successivamente ho pensato alla possibilità di collegare un paio di tabelle ma non sono sicuro si possa fare

ho due tabelle (ma alla fine possono esse anche più di 2) in una ho una serie di nominativi(CAMPO:NOME) con una serie di dati

nell'altra tabella ho un'altra serie di nominativi(CAMPO: NOME) di cui alcuni coincidono con quelli della tabella 1 ora ho un campo in comune(ma il nome campo è diverso) e vorrei creare unos cript(che poi sarà un tasto) che mi permetta di farequesto

quando viene selezionato un nome dalla tabella 2 deve cercarlo nella tabella1, se lo trova deve prendere il valore del campoA della tabella1 e inserirlo nella tabella 2(sovrascrivendo il valore già esistente)nel campoB, ovviamente corrispondente al NOME

pensate sia possibile la cosa?

se si potete aiutarmi nel farlo? è una cosa un pò ostica per me quindi accetterei m olto volentieri qualunque tipo di aiuto

grazie
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.042
148
63
PR
www.borgo-italia.it
ciao
se non ho capito male vorresti fare una cosa del genere

PHP:
<?php
//tutto quello che viene prima
$nome_da_tab2 ="pinco";//come lo selezioni non lo so, probabilmente da un form in cui estrai i nomi
//lo cerchi nella tabella 1 A PROPOSITO E' UNICO??
$qry=mysql_query("SELECT campoA FROM tabella_1 WHERE campoA='$nome_da_tab2'");
//verifichi che esista
$esiste=mysql_num_rows($qry);
if($esiste > 0){
	//lo estrai
	$row=mysql_fetch_array($qry);
	//scrivo per esteso, ma poi puoi semplificare
	$nome_da_tab1=row['campoA'];
	$qry="UPDATE FROM tabella_2 SET campoB='$nome_da_tab1' WHERE campoB='$nome_da_tab2'";
	$result=mysql_query($qry);
}else{
	//quant'altro devi fare
}
//ecc
.....
?>

p.s.
ho scritto E'UNICO? perchè se non lo è devi procedere in altra maniera
 

Monital

Utente Attivo
15 Apr 2009
778
2
18
sto forum epr il php non lo batte nessuno

ok borgo hai fatto centro è proprio quello che cerco

però però però però e cìè un però

volevo se era possibile far fare la cosa su tutta la tabella senza selezionare il singolo nome(che è unico)

creerò un tasto che ogni volta che aggiorno la tabella 1(con importazione dati in csv) deve aggirnarmi il campo B della tabella 2 in base al campo a della 1

sicuramente ci vuole un array che scorr ai nomi della tabella 2 ne trovi la corrispondena nella tabella 1 e copiincolli(semplifico per spiegare brevemente) il campo A tab1 nel campo B tab2

come ben saprete oramai :rolleyes: l'array è largomento opiù duro e che odio di + di tutto il php

cmq intanto le tue informazioni sono molto utili per aggiornare la cosa singolarmente però dato che si tratta sempre di circa 400 righe per 3 tabelle volevo usare l'array per smeplificare la cosa

HELP
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.042
148
63
PR
www.borgo-italia.it
ciao
prima di procedere vorrei capire una cosa perchè ho "rimuginato" su quanto hai chiesto.
ti faccio un esempio
tabella_1 campoA
sofonisba
sempronio
adrubale
.......

tabella_2 campoB
asdrubale
pamcrazio
carneade
........

1)tu estrai un nome dalla tabella_2.campoB es. asdrubale
2)verifichi se sulla tabella_1.campoA esiste asdrubale (in questo caso si)
3)estrai da tabella_1.campoA il nome (sempre asdrubale)
4)aggiorni tabella_2.campoB con sempre asdrubale

conseguenza nel campoB avevi "asdrubale", dopo tutto l'ambaradan nel campoB avrai ancora "asdrubale"

il tutto avrebbe un senso se nella tabella_1 tu avessi un altro campoA1, e nella tabella_1 tu avessi anche il campoB1, che possono contenere
valori diversi, per cui facendo quello che chiedi il valore del campoB1 viene uppato al valore del campoA1.

es.
tabella_1: campoA = asdrubale, campoA1 = genio
tabella_2: campoB = asdrubale, campoB1 = tronista

dopo l'uppaggio avrai
tabella_1: campoA = asdrubale, campoA1 = genio
tabella_2: campoB = asdrubale, campoB1 = genio


se è questo che intendi, cioè alla fine avere le tabella_2 aggiornata con i valori della tabella_1
quano ti ho scritto diventa:

PHP:
<?php 
//tutto quello che viene prima....
//estraggo i valori dei campi dalla tabella_2
$qry2=mysql_query("SELECT * FROM tabella_2 ORDER BY campoB");//l'order by può o no servire
while($row_2=mysql_fetch_array($qry2)){
	$nome_da_tab2=$row_2['campoB'];
	$valore_da_tab2=$row_2['campoB1'];
	//cerco su tabella_1 la corrispondenza tra i nomi
	$qry1=mysql_query("SELECT * FROM tabella_1 WHERE campoA='$nome_da_tab2'");
	//verifico l'esistenza
	$esiste=mysql_num_rows($qry1);
	if($esiste > 0){//se maggiore di o : esiste
		//estraggo i valori dei campi da tabella_1
		$row_1=mysql_fetch_array($qry1);
		$nome_da_tab1=$row_1['campoA'];//questo non servirebbe in quanto == a $nome_da_tab2
		$valore_da_tab1=$row_1['campoA1'];
		//verifico che i valori del campoB1 sia uguale a quello del campoA1
		//se sono diversi uppo
		//se uguali inutile uppare
		if($valore_da_tab2 != $valore_da_tab1){
			$result=mysql_query("UPDATE tabella_2 SET campoB1='$valore_da_tab1' WHERE campoB='$nome_da_tab1' ");
			//sarebbe lo stesso mettendo WHERE campoB='$nome_da_tab2'
		}//fine if diversi
	}//fine if esiste
}//fine del while
//eccetera............
?>
se fai uno script del genere e lo lanci la tabella_2 si uppa con i valori della tabella_1

s.e.o.
 

Monital

Utente Attivo
15 Apr 2009
778
2
18
borgo non ho ancora testato e spero di ruisucire a farlo + tardi però permettimi di farti i miei complimenti

inanzitutto come giustamente osservavi credo dia ver dimenticato il passaggio e difatti e proprio come immaginavi

nella tabella 2 ho dei nomi rpesenti anche nella 1 ed il campo A1 e Campo B1 sono quelli che devono esse ugali in base al nome che sarebbe il campo A e B

grazie ancora sei un genio e sono stato unos tupido alal fine eprchè potevo arrivarci anche io con la funzione
mysql_num_rows

cmq come rieso testo tutto e vediamo se va tutto bene anche se di prima è proprio quello che cercavo
 

Monital

Utente Attivo
15 Apr 2009
778
2
18
Testato un paio di giorni fa e reso operativo

Funziona

P
E
R
F
E
T
T
A
M
E
N
T
E

:beer:
 
Discussioni simili
Autore Titolo Forum Risposte Data
M Estrarre dati da una select HTML PHP 3
D [WordPress] come fare per estrarre dati da un db MySQL tramite una form e visualizzare il risultato WordPress 0
S [PHP] Estrarre dati colonna in una stringa PHP 6
A [PHP] metodo di una classe per estrarre i dati con ciclo while PHP 1
B Estrarre più dati da una tabella PHP 2
E Estrarre dati da una pagina generata con Javascript Javascript 6
F estrarre dati da una cartella PHP 9
P Creare un menu a discesa dove poter fare una selezione ed estrarre i dati da db MySql PHP 3
S Estrarre i dati EXIF da una foto PHP 3
N Estrarre dati che danno una certa somma da Excel, Access o SQL Server Windows e Software 0
C Estrarre dati stringa Sql Database 1
S [PHP] Estrarre dati da tabella e fare la media ad intervalli di tempo PHP 10
S [PHP] Estrarre dati tabella in diversi array PHP 2
trattorino [PHP] estrarre dati singoli PHP 1
Z Estrarre dati da un DB Mysql PHP 4
S [PHP] estrarre dati sito web protetto con username e password PHP 13
Gigi87 estrarre i dati da un forum o social network Presentati al Forum 1
L [PHP] Estrarre dati da sito web Offerte e Richieste di Lavoro e/o Collaborazione 4
filippino [Javascript] Estrarre dati da database MySQL Javascript 1
P Estrarre dati da un databas mysql PHP 3
filippino Script PHP per estrarre dati estrazioni da sito "10 e lotto" PHP 0
Z [VB.NET] Leggere pagina HTML ed estrarre dati da tabella .NET Framework 1
M Php+MySql: Estrarre dati da tabella e consentire all'utente di modificare un valore 'in linea' PHP 6
M problema con ciclo foreach per estrarre dati da un database PHP 22
C estrarre dati da sito javascript Javascript 1
P Estrarre dati da DB AIUTO :S [Ho veramente bisogno] PHP 7
R Estrarre dati da tabella mysql [era:Sto benedetto php] PHP 22
S Estrarre dati da diverse tabelle mysql PHP 6
F Estrarre dati da tabella javascript HTML e CSS 0
neo996sps Estrarre i dati e presentarli con un layout particolare PHP 0
O [help] estrarre e visualizzare dati da mysql con php a oggetti PHP 6
F Aiuto! Estrarre Dati da Database .mdb e visualizzarli in lightbox PHP 1
I Estrarre dati da un file php PHP 3
T [MySql] impossibile estrarre dati da campi TEXT MySQL 0
L Estrarre dati da tabella mysql PHP 16
G estrarre i dati da variabile GET PHP 6
P estrarre dati xml excel con php XML 1
E Estrarre dati dal DB e inviare mail PHP 10
B Estrarre dati da database e ordinarli in tabella... PHP 20
G Help me! Estrarre dati da un db access con flash Flash 0
W Estrarre e ricaricare dati con Ajax Ajax 0
tanaka estrarre dati con colori diversi PHP 10
M estrarre dati da database MySql, con ASP Classic ASP 1
P Non riesco ad estrarre dati da doppia tabella PHP 2
F Estrarre dati da database Classic ASP 3
grottafelix Estrarre dati da db e modifica Classic ASP 25
grottafelix Estrarre dati da db Classic ASP 13
M Estrarre valore con SELECT COUNT PHP 0
D Estrarre database con link esterno Database 10
S Raggruppare ed estrarre data più recente MySQL 3

Discussioni simili