Ciao a tutti
Ho due problemi e altrettante domande da sottoporvi.
allora
ho questa tabella:
Codice:
#
# Table structure for table 'Contenuti'
#
DROP TABLE IF EXISTS Contenuti;
CREATE TABLE Contenuti (
ID int(5) NOT NULL auto_increment,
Titolo_Argomento varchar(30) NOT NULL,
Titolo_Contenuto varchar(30) NOT NULL,
Contenuto text NOT NULL,
PRIMARY KEY (ID)
);
In pratica inserisco dei testi che hanno un titolo
e che sono suddividi per argomento (Titolo_Argomento)
In questa tabella faccio delle ricerche inserendo in un form
html l'argomento entro il quale ricercare e
selezionando i record che presentano una determinata parola chiave.
il codice php invece e questo:
Codice:
$risultato1 = "SELECT * FROM Contenuti where Titolo_Argomento= '".$_REQUEST['argom']."'
AND contenuto LIKE '%".$_REQUEST['chiave']."%' ORDER BY Titolo_contenuto";
Primo problema:
il codice sopra seleziona i record di un determinato argomento
che abbiano nel testo (campo Contenuto) una determinata
parola chiave. Adesso vorrei fare in modo che la parola chiave
sia ricercata oltre nel testo anche nel campo Titolo_Contenuto,
infatti la parola che ricerco potrebbe essere in alcuni
casi significativa e riassuntiva di tutto il testo ma
non presente nello stesso. (non so se sono stato chiaro).
Avevo provato più o meno (dopo il $_REQUEST['argom'])
con un AND (....OR...) in varie salse ma non funziona.
Come devo impostare correttamente la query?
Secondo Problema:
La query poi mi restituisce dei link per visualizzare
i record che rientrano nei parametri della ricerca.
Ogni record( titolo e corpo del testo veramente)
è richiamato in un'altra pagina così (ometto il superfluo)
Codice:
...
$query = mysql_query ($visualizza)
or die ("Non riesco ad eseguire la richiesta $visualizza");
$testo = mysql_result($query,0,"Contenuto");
$testo = nl2br($testo); // per visualizzare le righe vuote
echo "<table><tr><td><b>Titolo contenuto: </b></td> <td align= 'right'><font color=\"#FF0000\"><b>".mysql_result($query,0,"Titolo_Contenuto")."</b></font></td></tr>";
echo "<tr><td><b>Contenuto: </b></td></tr></table><br>";
echo $testo;
Come si fa per evidenziare nel testo la parola chiave ricercata
(come succede ad esempio quando si effettua una ricerca di una parola in un file PDF
oppure in uno stesso forum phpbb2 con la nota pagina di ricerca)?
Grazie anticipatamenente e ciao