Originariamente inviato da quit10
Non sono un genio delle query, ma a mio parere è sufficiente cercare le key in due tabelle espresse dai valori di select.
Ad esempio con un codice simile:
Codice PHP:
<?php
$keys=explode(",",$_POST['chiaveA'].",".$_POST['chiaveB']);//Creo un array con tutte le parole chiave di entrambi i campi
while (list(,$parola) = each ($keys)) {
$parola = trim($parola);
$query=mysql_query("SELECT * FROM tabella WHERE tabella.".$_POST['urlA']." LIKE '$parola' AND tabella.".$_POST['urlB']." LIKE '$parola'");
}
grazie per la risposta e il suggerimento
ancora non mi torna del tutto
ho modifcato come segue:
Codice PHP:
// verifico che i campi siano compilati entrambi
if (($_POST['urlA']=='') || ($_POST['urlB']=='')) {
echo "Devi riempiere tutti i campi";
} else {
//prendo le due KEYS A e B
$keys=explode(",",$_POST['chiaveA'].",".$_POST['chiaveB']);//Creo un array con tutte le parole chiave di entrambi i campi
while (list(,$parola) = each ($keys)) {
$parola = trim($parola);
$query="SELECT * FROM tabella WHERE tabella.".$urlA." LIKE '$parola' AND tabella.".$urlB." LIKE '$parola'";
$result = mysql_query($query, $db)
or die( "Errore: " . mysql_error() );
//conteggio lettere
$lunghezza = strlen($parola);
//se lunghezza<4
if ($lunghezza <4) {
echo "I criteri di ricerca non sono stati rispettati.
Ricorda che devi immettere almeno una parola con un minimo di 4 lettere";
} else {
//conto il numero di record trovati
$numrows = mysql_num_rows($result);
//controllo field vuoto
if ($numrows==0 AND $lunghezza>=4) {
//Stampo il numero di record trovati
echo "Nessun risultato trovato per il termine $parola";
}
//controllo field vuoto
if ($numrows!==0 AND $lunghezza>=4) {
//Stampo il numero di record trovati
echo
...
...
while ($row = mysql_fetch_array($result)) {
//stampo il risultato
echo
...
...
mi dice che non ci sono dati!!