motore di ricerca avanzato (particolare problematica)

Sargon

Utente Attivo
22 Mar 2012
45
0
0
Ciao a tutti!
Scusate se vi disturbo ma ho un quesito da porvi, allora ho un database che fa una ricerca avanzata.

Questo database comprende dei seguenti campi

Autore
Titolo
Anno

Vorrei che il campo autore mi cercasse sia sul campo autore (classico) sia su un altro campo che non dovrò far vedere all'utente (authorprinted) , la stringa di ricerca in sintesi... può essere questa?

$w_author="";
if($author != ""){$w_author=" AND author AND authorprinted LIKE '%".$author."%','%".$authorprinted."%' ";}



Vi ringrazio mooooolto!!!:elvis:
 

criric

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
21 Ago 2010
5.607
54
48
TN
Ciao
credo serva mettere OR
Codice:
 AND (authorprinted LIKE '%".$author."%' OR authorprinted LIKE '%".$authorprinted."%')
 

Sargon

Utente Attivo
22 Mar 2012
45
0
0
Ciao
credo serva mettere OR
Codice:
 AND (authorprinted LIKE '%".$author."%' OR authorprinted LIKE '%".$authorprinted."%')

niente ..... sono un tordo... quindi ho cercato di tirar fuori un'altro soluzione, ed ho pensato di concatenare due campi. il database è composto
il database e composto da
autore
autore pubblicato
titolo
anno.

realizzato il motore di ricerca ho deciso di inserire un terzo campo fantasma che mi concatena autore ed autore pubblicato, il problema sta che da my sql (php my admin) riesco a creare la funzione, mentre da php no.... vi posto il codice... se potete aiutarmi ve ne sarei grato.

$query="UPDATE bibliografia1 SET autore2='".$author2."', author='".$author."', authorprinted='".$authorprinted."', CONCAT($author, ',' ,$authorprinted)";
 

criric

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
21 Ago 2010
5.607
54
48
TN
se il CONCAT lo vuoi salvare in authorprinted la sintassi corretta è

Codice:
 authorprinted =  CONCAT('$author', ' ', '$authorprinted')
 

Sargon

Utente Attivo
22 Mar 2012
45
0
0
se il CONCAT lo vuoi salvare in authorprinted la sintassi corretta è

Codice:
 authorprinted =  CONCAT('$author', ' ', '$authorprinted')

Sono blocccato mi affido a voi...:-(
non ne vengo fuori..... in pratica author deve cercare i valori sia sul campo author sia in un campo author printed che non ho messo e non si deve vedere..... Grazie!




PHP:
      <?php 
if(isset($_POST['submit'])){//
    // 
    // 
    $db_host = "";  
    $db_user = "";  
    $db_password = "";  
    $db_name = ""; 
    //
    $db = mysql_connect($db_host, $db_user, $db_password) or die ('Errore durante la connessione');  
    mysql_select_db($db_name, $db) or die ('Errore durante la selezione del db');  
	// 
mysql_set_charset('utf8'); // 
//


    //
    $author = addslashes(trim($_POST['author']));              
	$year = addslashes(trim($_POST['year'])); ; 
	$title = addslashes(trim($_POST['title']));  

 

    //
    $query = "SELECT * FROM bibliografia1 WHERE 1=1 ";//
	
    //
      $w_author=""; 
    if($author!= ""){$w_author=" author LIKE '%".$author."%'";} 
	$w_year=""; 
    if($year != ""){$w_year=" AND year LIKE '%".$year."%' ";} 
	$w_title=""; 
    if($title!=""){$w_title=" AND title LIKE '%".$title."%' ";} 

	
    //
     $query .=$w_author.$w_year.$w_title. " ORDER BY author"; 
 
    // 
    $ris=mysql_query($query) or die ('errore: qualcosa è andato storto'); 
    //
    $esiste=mysql_num_rows($ris); 
   
    if($esiste > 0){ 
        //
        while($riga=mysql_fetch_array($ris)){ 
           $author=stripslashes($riga['author']); 
            $year=stripslashes($riga['year']); 
			$title=stripslashes($riga['title']); 

			
            echo "<table border=\"0\" align=\" justify\" bgcolor=\"#FFFFCC\" width=\"650px\">";
			echo "<b>Author:</b> $author<p>"; 
			echo "<b>Year:</b> $year<p>"; 
			echo "<b>Title:</b> $title<p><br></td><hr>"; 
			
	  echo "</table>";
	
        } 
    }else{ 
        //
        echo "<b><p><p>Sorry, but your query didn't produce any results!</b><hr>"; 
    } 
    echo "<p><a href=\"http://virgo.unive.it/trab/advanced_search1.php\">BACK</a><hr>"; 
}else{ 
//
?>
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao
se non ho caito male quello che vuoi fare, prova in questo nodo

PHP:
<?php 
if(isset($_POST['submit'])){//
//...................
	$author = addslashes(trim($_POST['author']));              
	$year = addslashes(trim($_POST['year'])); ; 
	$title = addslashes(trim($_POST['title']));  
	$w_author="";
	if($author!= ""){$w_author .=" AND author LIKE '%".$author."%'";}
	if($year != ""){$w_year .=" AND year LIKE '%".$year."%'";}
	if($title!=""){$w_title=" AND title LIKE '%".$title."%' ";} 
	$query = "SELECT * FROM bibliografia1 WHERE 1=1 $w_author ORDER BY author";
	$ris=mysql_query($query) or die ('errore: qualcosa è andato storto'); 
	if(mysql_num_rows($ris) > 0){ 
		while($riga=mysql_fetch_array($ris)){ 
			$author=stripslashes($riga['author']); 
			$year=stripslashes($riga['year']); 
			$title=stripslashes($riga['title']); 
			echo "<table border=\"0\" align=\" justify\" bgcolor=\"#FFFFCC\" width=\"650px\">";
			echo "<b>Author:</b> $author<p>"; 
			echo "<b>Year:</b> $year<p>"; 
			echo "<b>Title:</b> $title<p><br></td><hr>"; 
			echo "</table>";
		} 
	}else{ 
		echo "<b><p><p>Sorry, but your query didn't produce any results!</b><hr>"; 
	} 
		echo "<p><a href=\"http://virgo.unive.it/trab/advanced_search1.php\">BACK</a><hr>"; 
}else{ 
	//..........
?>
 

Sargon

Utente Attivo
22 Mar 2012
45
0
0
ciao
se non ho caito male quello che vuoi fare, prova in questo nodo

PHP:
<?php 
if(isset($_POST['submit'])){//
//...................
	$author = addslashes(trim($_POST['author']));              
	$year = addslashes(trim($_POST['year'])); ; 
	$title = addslashes(trim($_POST['title']));  
	$w_author="";
	if($author!= ""){$w_author .=" AND author LIKE '%".$author."%'";}
	if($year != ""){$w_year .=" AND year LIKE '%".$year."%'";}
	if($title!=""){$w_title=" AND title LIKE '%".$title."%' ";} 
	$query = "SELECT * FROM bibliografia1 WHERE 1=1 $w_author ORDER BY author";
	$ris=mysql_query($query) or die ('errore: qualcosa è andato storto'); 
	if(mysql_num_rows($ris) > 0){ 
		while($riga=mysql_fetch_array($ris)){ 
			$author=stripslashes($riga['author']); 
			$year=stripslashes($riga['year']); 
			$title=stripslashes($riga['title']); 
			echo "<table border=\"0\" align=\" justify\" bgcolor=\"#FFFFCC\" width=\"650px\">";
			echo "<b>Author:</b> $author<p>"; 
			echo "<b>Year:</b> $year<p>"; 
			echo "<b>Title:</b> $title<p><br></td><hr>"; 
			echo "</table>";
		} 
	}else{ 
		echo "<b><p><p>Sorry, but your query didn't produce any results!</b><hr>"; 
	} 
		echo "<p><a href=\"http://virgo.unive.it/trab/advanced_search1.php\">BACK</a><hr>"; 
}else{ 
	//..........
?>
Niente:-S

Quando nel mio Form scrivo Carlo come autore vorrei che questo interrogasse il campo Autore ed Autore pubblicato, Anno e titolo sono due campi separati.
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao
PHP:
 if($author!= ""){$w_author .=" AND (author LIKE '%".$author."%' OR autore_pubblicato LIKE '%".$author."%')";}

questo se vuoi selectare anche per i campi anno e titolo se imputati

edit
un dubbio author e autore_pubblicato sono nella stessa tabella?
 
Ultima modifica:

Sargon

Utente Attivo
22 Mar 2012
45
0
0
ciao
PHP:
 if($author!= ""){$w_author .=" AND (author LIKE '%".$author."%' OR autore_pubblicato LIKE '%".$author."%')";}

questo se vuoi selectare anche per i campi anno e titolo se imputati

edit
un dubbio author e autore_pubblicato sono nella stessa tabella?

FUNZIONAAAAA!!!!!!!!!! GRAZIE MILLLLLEEEE!!!! :cool:
 
Discussioni simili
Autore Titolo Forum Risposte Data
L PHP motore di ricerca nel sito PHP 1
F Visualizzazione motore di ricerca SEO e Posizionamento 2
E Problema motore di ricerca FULL_TEXT PHP 0
ANDREA20 [PHP] motore di ricerca nel sito PHP 11
D [ASP] Motore di ricerca interno su 2 tabelle Classic ASP 3
A [PHP] Problema paginazione motore di ricerca PHP 48
V motore di ricerca e voci link Ajax 2
ANDREA20 [HTML] crea motore di ricerca HTML e CSS 1
A [HTML] motore di ricerca interno HTML e CSS 12
C Motore di ricerca Personalizzato di google HTML e CSS 1
N Motore di ricerca con MATCH e AGAINST PHP 1
I Motore di ricerca php PHP 2
O Motore di ricerca interno PHP 4
Devil-94 Motore di ricerca con google e javascript Javascript 4
M [CERCO] creare un motore di ricerca Offerte e Richieste di Lavoro e/o Collaborazione 4
M aiuto per motore di ricerca PHP 0
StarFish Eventi da tastiera su motore di ricerca JS Javascript 1
M motore di ricerca complesso php PHP 2
O sfruttare informazioni prese da altre pagine internet o il motore di ricerca di un'altro sito PHP 0
L Problema META NAME description [MOTORE RICERCA] HTML e CSS 0
P Problemi motore di ricerca PHP 12
A [RISOLTO]Motore di ricerca PHP 23
A [RISOLTO]Motore di ricerca PHP 2
P motore di ricerca sql da <a href"..">nome</a> PHP 5
A motore di ricerca su più tabelle PHP 0
Shyson Motore di ricerca interno PHP 26
Sargon motore (motorino) di ricerca PHP 3
P Ajax jquery inserire un loader per motore di ricerca Ajax 2
F Creare un motore di ricerca interno al sito PHP 1
M Problemi Motore di RICERCA INTERNA NEL SITO Javascript 0
Sargon Motore di ricerca, nuovo problema PHP 3
P Grafica originale motore di ricerca! Webdesign e Grafica 1
Sargon motore di ricerca PHP 1
A Motore di ricerca interno al sito PHP 1
F motore di ricerca su una pagina PHP 0
S Motore di ricerca interno PHP 11
Sargon Php / My sql motore di ricerca PHP 21
A Creare un motore di ricerca google PHP 5
A motore di ricerca PHP 6
A [Sql/Query] Motore di ricerca PHP 1
S Motore di ricerca con classe full text PHP 3
S problemino con motore di ricerca :( PHP 1
S Motore di ricerca con Google adsense Google AdSense 0
G script attivo di annunci ampliare motore di ricerca per regione o citta consigli PHP 4
S Creare motore di ricerca PHP 4
S Motore di ricerca nel sito PHP 6
davide1982 semplice motore di ricerca... ma non troppo! PHP 3
L Motore di ricerca per sito PHP 1
M motore di ricerca interno al sito PHP 2
M motore di ricerca interno al sito PHP 8

Discussioni simili