Buonasera ragazzi,
sono riuscito a fare un semplice motore di ricerca per cercare delle parole all'interno del database ottenendo tutti i campi della tabella che avevano almeno un match con quel nome determinato da cercare. Per cui oltre al dato ricercato mi escono altri campi che a me non interessano.
Ora è giunto il momento di finalizzare il motore di ricerca con form e funzioni in php in modo da cercare solo l'attributo che voglio.
Vi posto il codice inerente all'interrogazione:
codice:
$k = $_GET['k'];
$terms = explode(" ", $k);
$query = "SELECT * FROM Opera WHERE ";
foreach ($terms as $each){
//$i++;
//if($i == 1)
$query .= " TipoOpera LIKE '%$each%' OR Titolo LIKE '%$each%' OR TitoloOriginale LIKE '%$each%' OR TitoloInternazionale LIKE '%$each%' OR Tecnica LIKE '%$each%' OR Anno LIKE '%$each%' OR Collocazione LIKE '%$each%' OR AreaCompetenza LIKE '%$each%' OR Altezza LIKE '%$each%' OR Larghezza LIKE '%$each%' OR Profondita LIKE '%$each%' OR Durata LIKE '%$each%' OR GenereFilm LIKE '%$each%' OR AutoreFotografia LIKE '%$each%' OR AutoreScenografia LIKE '%$each%' OR FormaMusicale LIKE '%$each%' OR Tonalita LIKE '%$each%' OR IdentificativoOpera LIKE '%$each%' OR PrimaEsecuzione LIKE '%$each%' OR Organico LIKE '%$each%' OR InformazioniLibretto LIKE '%$each%' OR Incipit LIKE '%$each%' OR IncipitModerno LIKE '%$each%' OR DataCreazione LIKE '%$each%' OR DataUltimaModifica LIKE '%$each%' ";
//else
// echo $query .= "OR keywords LIKE '%$each%' OR title LIKE '%$each%' OR description LIKE '%$each%' OR link LIKE '%$each%'";
}
//connect
mysql_connect("localhost","root", "db12");
mysql_select_db("Tesi");
$query = mysql_query($query);
$numrows = mysql_num_rows($query);
if($numrows>0){
while($row=mysql_fetch_assoc($query)){
$TipoOpera= $row['TipoOpera'];
$Titolo = $row['Titolo'];
$TitoloOriginale= $row['TitoloOriginale'];
$TitoloInternazionale = $row['TitoloInternazionale'];
$Anno = $row['Anno'];
$Tecnica = $row['Tecnica'];
$Collocazione = $row['Collocazione'];
$AreaCompetenza = $row['AreaCompetenza'];
$Altezza = $row['Altezza'];
$Larghezza = $row['Larghezza'];
$Profondita = $row['Profondita '];
$Durata = $row['Durata'];
$GenereFilm = $row['GenereFilm'];
$AutoreFotografia = $row['AutoreFotografia'];
$AutoreScenografia = $row['AutoreScenografia'];
$FormaMusicale = $row['FormaMusicale'];
$Tonalita = $row['Tonalita'];
$IdentificativoOpera = $row['IdentificativoOpera'];
$PrimaEsecuzione = $row['PrimaEsecuzione'];
$Organico = $row['Organico'];
$InformazioniLibretto = $row['InformazioniLibretto'];
$Incipit = $row['Incipit'];
$IncipitModerno = $row['IncipitModerno'];
$DataCreazione = $row['DataCreazione'];
$DataUltimaModifica = $row['DataUltimaModifica'];
//stampiamo i nostri dati
echo "tipo: $TipoOpera
";
echo "titolo: $Titolo
";
echo "titolo originale: $TitoloOriginale
";
echo "titolo internazionale: $TitoloInternazionale
";
echo "anno: $Anno
";
echo "tecnica: $Tecnica
";
echo "collocazione: $Collocazione
";
echo "area di competenza: $AreaCompetenza
";
echo "altezza: $Altezza
";
echo "larghezza: $Larghezza
";
echo "profondità: $Profondita
";
echo "durata: $Durata
";
echo "genere del film: $GenereFilm
";
echo "autore della fotografia: $AutoreFotografia
";
echo "autore della scenografia: $AutoreScenografia
";
echo "forma musicale: $FormaMusicale
";
echo "tonalità: $Tonalita
";
echo "identificativo dell'opera: $IdentificativoOpera
";
echo "prima esecuzione: $PrimaEsecuzione
";
echo "organico: $Organico
";
echo "fonte del libretto: $InformazioniLibretto
";
echo "incipit musicale: $Incipit
";
echo "incipit in trascrizione moderna: $IncipitModerno
";
echo "data di creazione: $DataCreazione
";
echo "ultima modidifica: $DataUltimaModifica
";
?>
<hr />
<?php
}
}
else
echo "Nessun risultato per la chiave \"
$k[/b]";
//disconnet
mysql_close();
Come posso procedere? avete qualche idea o suggerimento che io possa adottare?
Molte grazie e buona serata.