Ciao a tutti!
Sto iniziando a imparare a utilizzare il liguaggio Php.
Mi sono creato un database in Ms Access e sono riuscito a ciclare una tabella (del db), tramite una pagina php, e visualizzare il risultato in firefox.
Sto provando a creare 2 pagine php (master e dettaglio), basate su 2 tabelle diverse e collegate 1-molti, in modo che sulla prima ci sia una tabella dei generi di film e un link che apre e filtra la seconda pagina (dettaglio) che mostra i film che appartengono al genere cliccato.
In buona sostanza ID = CE (Chiave esterna).
La pagina master contiene il seguente codice php:
il codice della pagina dettaglio è:codice:<?php // Includo il file contenente la stringa di connessione al db access include("connessione.php"); // Creo due oggetti COM contenenti gli oggetti Connection e Recordset $cn = new \COM("ADODB.Connection"); $rs = new \COM("ADODB.Recordset"); // Apro la Connessione ed il Recordset $cn->Open($sc); $rs->Open("SELECT * FROM TGeneri", $cn); echo "<table width='200' border='1' align = 'center'>"; echo "<tr>"; echo "<td><strong>Identificativo</strong></td>"; echo "<td><strong>Genere</strong></td>"; echo "<td><strong>Dettaglio</strong></td>"; echo "</tr>"; // Controllo che sulla tabella ci siano dati if ($rs->EOF) { echo "<tr>"; echo "<td><strong>Nessun Risultato</strong></td>"; echo "</tr>"; } // <b>Se ce ne sono effettuo un ciclo di lettura</b> else while ($rs->EOF == FALSE) { echo "<tr>"; echo "<td>". $rs->Fields ['IdGenere']->value ."</td>"; echo "<td>" .$rs->Fields ['Genere']->value . "</td>"; echo "<td><strong><a href=\catalogo.php?CeGenere=".$rs->Fields['IdGenere']->value."\">Elenco Filtrato</a></strong></td>"; echo "</tr>"; $rs->MoveNext(); } echo "</table>"; // Chiudo il Recordset $rs->Close(); $rs = null; // Chiudo la Connection $cn->Close(); $cn = null; ?>
In buiona sostanza quello che non riesco a fare è passare l'id dalla pagina master alla pagina dettaglio tramite la variabile $_GET.codice:<?php // Includo il file contenente la stringa di connessione include("connessione.php"); $cn = new \COM("ADODB.Connection"); $rs = new \COM("ADODB.Recordset"); // questo è un test per vedere se dalla pagina master recupero l'id cliccato // il risultato è sempre un valore nullo $id = (isset($_GET['IdGenere']) ? $_GET['IdGenere'] : ''); echo "Il NUm e' ". $id; // Apro la connessione ed il Recordset $cn->Open($sc); // qui dovrei utilizzare ''WHERE IdGenere = $id $rs->Open("SELECT * FROM TFilm", $cn); echo "<table width='200' border='1' align = 'center'>"; echo "<tr>"; echo "<td><strong>Titolo Film</strong></td>"; echo "<td><strong>Anno</strong></td>"; echo "<td><strong>Regista</strong></td>"; echo "</tr>"; // Controllo che sulla tabella ci siano dati if ($rs->EOF) { echo "<tr>"; echo "<td><strong>Nessun Risultato</strong></td>"; echo "</tr>"; } // <b>Se ce ne sono effettuo un ciclo di lettura</b> else while ($rs->EOF == FALSE) { echo "<tr>"; echo "<td>".$rs->Fields ['TitoloFilm']->value ."</td>"; echo "<td>".$rs->Fields ['Anno']->value . "</td>"; echo "<td>".$rs->Fields ['Regista']->value . "</td>"; echo "</tr>"; $rs->MoveNext(); } echo "</table>"; // Chiudo il Recordset $rs->Close(); $rs = null; // Chiudo la Connection $cn->Close(); $cn = null; ?>
(Ricordo che sono un principiante..)
Ringrazio chiunque vorrà aiutarmi..!
Buona Domenica a tutti.
Ciao,
Fil.
P.s.
Aggiungo che il codice della pagina "connessione.php" è il seguente:
codice:<?php $db = "C:\inetpub\wwwroot\SitoDinamico\mdb-database\DbFilm.mdb"; $sc = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" . $db . ";"; ?>

					
					
					
						
  Rispondi quotando
			