Ciao a tutti sono nuovo di quessto forum, ma non del php! 
Sono alle prese con un motorino di ricerca. Vo spiego
sto cercando di realizzare la seguente modalità di ricerca:
Ho un db con 3 tabelle e voglio realizzare un sistema di ricerca su una sola tabella che ricerchi dati incrociandoli nei diversi campi.
il db è così strutturato
db:
dati
tabelle:
personaggi con 34 campi
sessioni con 3 campi
utenti con 10 campi
A me interessa per la ricerca la sola tabella personaggi.
Mi spiego meglio.
Voglio effettuare una modalità di ricerca all'interno della tabella che incroci dati presenti in due o tre campi per un determinato record.
La modalità di input per l'utente, e quindi anche per caturare i dati tramite POST, voglio che sia tramite form select e input.
e per il codice php ho scritto in sintesi questo:
Ho problemi nella costruzione della query e della gestione degli input da parte dell'utente tramite POST. Come li gestisco? Come faccio a dire di cercarmi quel record in cui sono presenti solo ed esclusivamente i valori immessi nei campi delle select "urlA" e "urlB"?
Potete darmi qualche suggerimento?
grazie per qualsiasi aiuto e suggeirmento e segnalazione

Sono alle prese con un motorino di ricerca. Vo spiego
sto cercando di realizzare la seguente modalità di ricerca:
Ho un db con 3 tabelle e voglio realizzare un sistema di ricerca su una sola tabella che ricerchi dati incrociandoli nei diversi campi.
il db è così strutturato
db:
dati
tabelle:
personaggi con 34 campi
sessioni con 3 campi
utenti con 10 campi
A me interessa per la ricerca la sola tabella personaggi.
Mi spiego meglio.
Voglio effettuare una modalità di ricerca all'interno della tabella che incroci dati presenti in due o tre campi per un determinato record.
La modalità di input per l'utente, e quindi anche per caturare i dati tramite POST, voglio che sia tramite form select e input.
HTML:
<form method="post" action="cerca.php">
<select name="urlA">
<option value="" selected>
<option value="cognome">Cognome
<option value="arcocronos">Arco Cronologico
<option value="attivita">Attività
</select><br>
<input type=text maxlength=30 size=15 name="chiaveA"><br /><br />
<select name="urlB">
<option value="" selected>
<option value="arcocronos">Arco Cronologico
<option value="provenienza">Provenienza
<option value="attivita">Attività
<option value="residenza">Residenza
<option value="beni">Beni o Proprietà
<option value="ordine">Ordine
</select><br>
<input type=text maxlength=30 size=15 name="chiaveB"><br /><br />
<input type="submit" value="cerca">
</form>
e per il codice php ho scritto in sintesi questo:
PHP:
//chiavi da ricercare divisa da virgole
$keyA = explode (",", $_POST['chiaveA']);
$keyB = explode (",", $_POST['chiaveB']);
$urlA=($_POST['urlA'] == 'cognome' || $_POST['urlA'] == 'arcocronos' || $_POST['urlA'] == 'attivita');
$urlB=($_POST['urlB'] == 'arcocronos' || $_POST['urlB'] == 'provenienza' || $_POST['urlB'] == 'attivita' || $_POST['urlB'] == 'residenza' || $_POST['urlB'] == 'beni' || $_POST['urlB'] == 'ordineR');
if (($urlA=='') || ($urlB=='')) {
echo "Devi riempiere tutti i campi";
} else {
$query2 = "SELECT * FROM persone WHERE '$urlA%' LIKE '%$keyA%' AND '$urlB%' LIKE '%$keyB%'";
$result2 = mysql_query($query2, $db)
or die( "Errore: " . mysql_error() );
//conto il numero di record trovati
$numrows2 = mysql_num_rows($result2);
//realizzo un ciclo WHILE
while ($row2 = mysql_fetch_array($result2)) {
//stampo il risultato
echo "Personaggio: " . $row2['nome'] . " " .strtoupper($row2['cognome']). "<br>";
}
}
Ho problemi nella costruzione della query e della gestione degli input da parte dell'utente tramite POST. Come li gestisco? Come faccio a dire di cercarmi quel record in cui sono presenti solo ed esclusivamente i valori immessi nei campi delle select "urlA" e "urlB"?
Potete darmi qualche suggerimento?
grazie per qualsiasi aiuto e suggeirmento e segnalazione
