aprire una connesisone su un altro database all'interno di un while

  • Creatore Discussione Creatore Discussione Monital
  • Data di inizio Data di inizio

Monital

Utente Attivo
15 Apr 2009
778
2
18
Salve

avrei un altro problemino, ho fatto diverse prove ma non ne vengo fuori e confido in un vostro suggerimento.

In pratica in una pagina apro una connessione al databse e visualizzo una tabella ad esempio

PHP:
mysql_connect($DBhost,$DBuser,$DBpass) or die("Impossibile collegarsi al server");
@mysql_select_db("$Database1") or die("Impossibile connettersi al database $Database1");

$sqlquery = "SELECT * FROM tabella";
$result = mysql_query($sqlquery);
while ($linea = mysql_fetch_array($result)) {


echo '<tr>';
echo 	'<td width="50">'.$linea['nome'].'</td>
		<td width="100">'.$linea['cognome'].'</td>';
echo '</tr>';
}

ora in pratica volevo visualizare un ulteriore <td> dove recupero ad esempio l'età contenuta in una tabella in Database2 e che deve contenere nel WHERE "$linea['id'] proveniente dalla tabella precedente

del tipo

PHP:
mysql_connect($DBhost,$DBuser,$DBpass) or die("Impossibile collegarsi al server");
@mysql_select_db("$Database1") or die("Impossibile connettersi al database $Database1");

$sqlquery = "SELECT * FROM tabella";
$result = mysql_query($sqlquery);
while ($linea = mysql_fetch_array($result)) {


echo '<tr>';
echo 	'<td width="50">'.$linea['nome'].'</td>
		<td width="100">'.$linea['cognome'].'</td>';

//SELECT $Database2.tabella2 WHERE ID=$linea['id]
//bla bla
/// echo '<td>$result2</td>';
echo '</tr>';
}
 
Salve

avrei un altro problemino, ho fatto diverse prove ma non ne vengo fuori e confido in un vostro suggerimento.

In pratica in una pagina apro una connessione al databse e visualizzo una tabella ad esempio

PHP:
mysql_connect($DBhost,$DBuser,$DBpass) or die("Impossibile collegarsi al server");
@mysql_select_db("$Database1") or die("Impossibile connettersi al database $Database1");

$sqlquery = "SELECT * FROM tabella";
$result = mysql_query($sqlquery);
while ($linea = mysql_fetch_array($result)) {


echo '<tr>';
echo 	'<td width="50">'.$linea['nome'].'</td>
		<td width="100">'.$linea['cognome'].'</td>';
echo '</tr>';
}

ora in pratica volevo visualizare un ulteriore <td> dove recupero ad esempio l'età contenuta in una tabella in Database2 e che deve contenere nel WHERE "$linea['id'] proveniente dalla tabella precedente

del tipo

PHP:
mysql_connect($DBhost,$DBuser,$DBpass) or die("Impossibile collegarsi al server");
@mysql_select_db("$Database1") or die("Impossibile connettersi al database $Database1");

$sqlquery = "SELECT * FROM tabella";
$result = mysql_query($sqlquery);
while ($linea = mysql_fetch_array($result)) {


echo '<tr>';
echo 	'<td width="50">'.$linea['nome'].'</td>
		<td width="100">'.$linea['cognome'].'</td>';

//SELECT $Database2.tabella2 WHERE ID=$linea['id]
//bla bla
/// echo '<td>$result2</td>';
echo '</tr>';
}

Ma i due db stanno nello stesso server? e l'utente ha i permessi per leggere entrambi?
Se si puoi fare come hai scritto te, oppure usare una join semplice.
es. join semplice semplice
PHP:
SELECT t.nome, t.cognome, t2.eta FROM tabella1 t, tabella2 t2 WHERE t.id = t2.id
cosi usi un solo ciclo while.

Fammi sapere.
Ciao ciao

P.S. a breve mysql verrà deprecato, utilizza mysqli ;)
 
Ultima modifica:
si sono sullo stesso server.

come ho scritto io ovviamente ho già provato ma non funge perchè mi lista solo l'ultimo elemento della tabella e non tutta.

idem il join l'ho già provato
 
si sono sullo stesso server.

come ho scritto io ovviamente ho già provato ma non funge perchè mi lista solo l'ultimo elemento della tabella e non tutta.

idem il join l'ho già provato

Ciao,
Scusami sono stato impegnato.
Hai risolto? Se non ci sei riuscito posta il pezzo di codice vediamo se c'è qualche problema.

P.S. hai provato con la join direttamente sul db? (con workbench, phpmyadmin, riga di comando..)
 

Discussioni simili