Precedente :: Successivo |
Autore |
Messaggio |
m1st3rb1t Mortale devoto
Registrato: 09/03/13 01:10 Messaggi: 5
|
Inviato: 09 Mar 2013 01:35 Oggetto: Suggerimenti problema php |
|
|
Salve a tutti, volevo esporre il mio problema cerchero di spiegarmi al meglio...
Sto cercando di fare uno script php che legga due DB diversi es. DB_1 e DB_2 dove vi sono due tabelle che devo recuperare due campi.
Posto qui sotto il codice scritto fino ad ora...
Codice: |
<?php
include ("db.config.php");
include ("db.php");
?>
<?
$db = @mssql_select_db('atum2_db_1',$conn) or die('sql error');
$result = @mssql_query("SELECT AccountName FROM atum2_db_account.dbo.td_Account where ConnectingServerGroupID = 10061")or die("sql error");
$user_cont = "AccountName";
while($riga = mssql_fetch_array($result)){
echo "Utenti Loggati : " . " $riga[$user_cont]";
}
$tot = "ConnectingServerGroupID";
$result2 =@mssql_query("SELECT InfluenceType FROM atum2_bd_1.dbo.td_Character WHERE InfluenceType= '1,2,4' AND AccountName = ");
$infl_cont = "InfluenceType";
while($conta = mssql_num_rows($result2)){
echo "INFL : $conta[$infl_cont]";
}
mssql_close($conn);
?> |
Sono riuscito con la prima query a visualizzare tutti i nomi prensenti nel db atum2_db_Account e stamparli a video tramite l'array, ora dovrei prelevare dal secondo db atum2_db_1 il campo InfluenceType che sono 3 valori differrenti 1,2,4 dopo averli prelevati pero dovrei mettere insieme le due informazioni prelevate dai due db. Mi spiegho meglio.
Del primo db mi serve solo sapere il numero di Account e invece dal 2 db il campo influencetype sta ad indicare che tipo di Account è....
quindi io dovrei riuscire a fare in modo che se nel 1°db ho 30 account dovrei riuscire a separarli per le tre influencetype , ovvero quanti appartengono all'influenza 1,quanti alla 2,e quanti alla 4.
Vorrei sapere come potrei fare? mi potete spiegare la strada da intrapprendere per poter riuscire a fare un confrontto fra i due db? |
|
Top |
|
|
m1st3rb1t Mortale devoto
Registrato: 09/03/13 01:10 Messaggi: 5
|
Inviato: 11 Mar 2013 22:50 Oggetto: |
|
|
Non ce proprio nessuno che ha qualche idea perfavore? |
|
Top |
|
|
SverX Supervisor Macchinisti
Registrato: 25/03/02 11:16 Messaggi: 11586 Residenza: Tokelau
|
Inviato: 12 Mar 2013 13:49 Oggetto: |
|
|
i db stanno sulla stessa istanza? se no puoi fare un linked server, se sì puoi interrogarli direttamente usando 'nomedb.nometabella' al posto del semplice nome tabella... |
|
Top |
|
|
m1st3rb1t Mortale devoto
Registrato: 09/03/13 01:10 Messaggi: 5
|
Inviato: 13 Mar 2013 00:08 Oggetto: |
|
|
No non stanno sulla stessa istanza, |
|
Top |
|
|
SverX Supervisor Macchinisti
Registrato: 25/03/02 11:16 Messaggi: 11586 Residenza: Tokelau
|
Inviato: 13 Mar 2013 10:56 Oggetto: |
|
|
puoi usare un 'linked server'? Così facendo potrai lanciare query che interrogano i due db insieme... |
|
Top |
|
|
m1st3rb1t Mortale devoto
Registrato: 09/03/13 01:10 Messaggi: 5
|
Inviato: 14 Mar 2013 12:17 Oggetto: |
|
|
Puoi spiegarti meglio perfavore? sto cercando di capire bene come dovrei fare , se puoi magari anche in esempio pratico cosi capisco cosa vuoi dire tnx
Codice: |
<?
$db = @mssql_select_db('atum2_db_account',$conn) or die('sql error');
$result = @mssql_query("SELECT AccountName FROM atum2_db_account.dbo.td_Account where ConnectingServerGroupID = 10061")or die("sql error");
$user_cont = "AccountName";
while($riga = mssql_fetch_array($result)){
echo "Utenti Loggati : " . " $riga[$user_cont]";
}
$db2 = @mssql_select_db('atum2_db_1',$conn) or die('sql error');
$query = mssql_query("SELECT AccountName FROM atum2_db_1.dbo.td_Character WHERE InfluenceType= '1,2,4' AND AccountName = '$user_cont'");
$infl_cont = "InfluenceType";
while($row = mssql_fetch_array($query)){
echo "INFL : " . " $row[$infl_cont]";
}
mssql_close($conn);
?>
|
Ora visualizzo il result della prima query ma non riesco a visualizzare il result della seconda pero lo script non da errore |
|
Top |
|
|
SverX Supervisor Macchinisti
Registrato: 25/03/02 11:16 Messaggi: 11586 Residenza: Tokelau
|
Inviato: 14 Mar 2013 13:56 Oggetto: |
|
|
intendo dire che su MS SQL Server c'è la possibilità di definire dei "server collegati" e quindi una volta che hai definito questo collegamento, puoi interrogare entrambi i database anche nella stessa query, mettendo in join le tabelle nel modo che a te serve... |
|
Top |
|
|
m1st3rb1t Mortale devoto
Registrato: 09/03/13 01:10 Messaggi: 5
|
Inviato: 14 Mar 2013 22:52 Oggetto: |
|
|
CRedo di si, come faccio a verificare se sono colleghati fra loro?ce un modo per verificare? |
|
Top |
|
|
SverX Supervisor Macchinisti
Registrato: 25/03/02 11:16 Messaggi: 11586 Residenza: Tokelau
|
Inviato: 15 Mar 2013 09:36 Oggetto: |
|
|
sono collegati solo se hai definito un collegamento, quindi di per sé non è che possono già esserlo...
prova a cercare con Google 'creare un linked server', trovi un sacco di esempi
|
|
Top |
|
|
|