pagina di ricerca complessa

fabio_198

Utente Attivo
8 Nov 2012
53
0
0
Salve ragazzi!

avrei bisogno di un aiuto per far girare questa pagina di ricerca, praticamente mi serve per un sito di annunci...
prendendo come esempio ebay annunci...quando si va a cercare qualcosa il form deve elaborare solo gli input che io specifico...ad esempio se cerco "iphone 5" e nella regione "lazio" lui mi deve prendere tutti gli annunci a riguardo, se seleziono anche la categoria per esempio "elettronica" lui mi deve stringere il campo di ricerca.

solo che non riesco a fargli capire che deve cercare e analizzare solo gli input che io specifico

ecco il mio codice

PHP:
$reg=$_GET['regione'];
  if ($reg=='') {
    $reg='sicilia';
  }
$categ=$_GET['categoria'];
  if ($categ=='') {
    $categ='tech';
  }

 $q_annunci=mysql_query("SELECT * FROM annunci WHERE regione='$reg' AND categoria='$categ'");

così praticamente funziona ma solo perchè ho impostato che se non specifico i campi regione e categoria me li mette di default rispettivamente con "sicilia" e "tech"

invece io vorrei fare in modo che se non li specifico lui non li deve considerare nella query, e deve cercare solo ad esempio la categoria.

dovrei intervenire nella select? in che modo :confused::confused:
 

fabio_198

Utente Attivo
8 Nov 2012
53
0
0
forse credo di aver risolto con "like"

PHP:
$reg=$_GET['regione'];
  if ($reg=='') {
    $reg='';
  }
$categ=$_GET['categoria'];
  if ($categ=='') {
    $categ='';
  }

$q_annunci=mysql_query("SELECT * FROM annunci WHERE regione like '%$reg%' AND categoria like '%$categ%'");

chi mi sa dire se ho fatto bene?

poi ancora una cosa...il link giusto è :

PHP:
mostra_annunci.php?regione=&categoria=

anche se non specifico ne regione e ne categoria è ok nessun errore

ma se digito:

PHP:
mostra_annunci.php
oppure
PHP:
mostra_annunci.php?regione=
cioè con una sola variabile
mi da questo errore
Notice: Undefined index: categoria in..

un modo per risolvere?
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao
modifica così
PHP:
<?php
//....
$reg="";
$categ="";
if(isset($_GET['regione'])){
	$reg=" AND regione LIKE '%".$_GET['regione']."%'";
}
if(isset($_GET['categoria'])){
	$categ=" AND categoria LIKE '%".$_GET['categoria']."%'";
}
$q_annunci=mysql_query("SELECT * FROM annunci WHERE 1=1 $reg $categ");  

//....
?>
comunque perchè usi il get? il get è pericoloso per accedere ad un db, come minimo devi mettere dei controlli
poi abbandona le vecchie istruzioni mysql e passa a mysqli o alle pdo
 

fabio_198

Utente Attivo
8 Nov 2012
53
0
0
grazie Borgo funziona!

comunque non so neanche da dove iniziarci a usare il mysqli...questa select come la dovrei impostare con mysqli?
 

fabio_198

Utente Attivo
8 Nov 2012
53
0
0
In aggiunta a questo sopra ho aggiunto il campo oggetto (es. se voglio cercare un "pentium 4")


if(isset($_GET['oggetto'])){
$oggetto=" AND titolo LIKE '%".$_GET['oggetto']."%' OR testo LIKE '%".$_GET['oggetto']."%'";
}

funziona con una parola e più parole che esistono in un solo campo, ma se scrivo "pentium 4" e:
"pentium" si trova nel titolo dell'annuncio
mentre
"4" si trova nella descrizione (che io ho chiamato "testo")

praticamente non mi trova nulla.
come altra cosa ho visto che, se mettiamo il caso che chi ha inserito l'annuncio l'ha fatto con titolo "vendo......pentium4..." cioè tutto unito
l'acquirente che cerca lo andrà a cercare come "pentium 4" cioè staccato

come faccio a risolvere questo "concatenamento" di parole?
 
Discussioni simili
Autore Titolo Forum Risposte Data
L titolo del sito nella pagina di ricerca di google SEO e Posizionamento 2
M Ricerca di un txt all'interno di una pagina html HTML e CSS 1
pup3770 Ricerca da una pagina e visualizza in un'altra PHP 4
felino Pagina di ricerca: la paginazione non funziona WordPress 0
H Risultato pagina di profilo bianca dopo ricerca PHP 6
F motore di ricerca su una pagina PHP 0
G visualizzare risultati ricerca dopo form nella stessa pagina e mantenimento filtri PHP 1
L problema pagina di ricerca PHP 2
E impostazioni pagina risultati motore ricerca interno sito HTML e CSS 5
W pagina di ricerca Classic ASP 0
G Pagina html in stringa PHP 2
L Creare ancore interne alla pagina PHP 1
F Aiuto! cambio immagine di sfondo al cambio pagina HTML e CSS 2
Shyson Regex che trova la parola nella pagina jQuery 6
L Eliminazione di una pagina dalla gallery SEO e Posizionamento 0
D Apre il lightbox fuori pagina Javascript 0
K posizionare variabile da pagina html all'iframe. Javascript 1
R jquery che cambia css di un elemento non mi funziona sulla pagina caricata da ajax Ajax 5
U Link a pagina ed esecuzione file PHP 0
S Passare query o utm alla pagina successiva Domini 1
D [Cerco] Pagina Facebook settore calcio Annunci servizi di Social Media Marketing 0
napuleone div centrato alla pagina posto sopra ai contenuti HTML e CSS 1
G Eliminare l'effetto refresh di una pagina internet PHP 8
L Bing prima pagina prima riga; Google mi ignora SEO e Posizionamento 0
P Pagina modifica record che non funziona PHP 0
T Conferma reload pagina Javascript 4
A Submit senza ricaricare la pagina Ajax 2
L Problemi form Pagina php HTML e CSS 3
L php mysql cerca e visualizza pagina PHP 0
S Variabile in post su altra pagina PHP 2
D Visualizzazione pagina basata sul valore di un campo del database PHP 2
D Pagina non trovata Wordpress WordPress 7
E Pagina Cloudflare e captcha Domini 1
W Anomalia Pagina Facebook Social Media Marketing 9
A Aiuto per pagina php PHP 0
T Risolto Redirect a pagina esterna Javascript 2
M Questa pagina non carica correttamente Google Maps: aiuto!! HTML e CSS 1
T Offuscare link pagina web PHP 2
D Stampa a video in altra pagina html Database 3
Cosina script data aggiornamento pagina Javascript 1
Y cambiare sfondo di una pagina Javascript 1
Y Vorrei selezionare un colore di sfondo per una pagina web Javascript 0
S Apertura in una nuova pagina PHP 6
G creazione menu a tendina e invio a pagina php PHP 1
B Stampare una porzione della pagina PHP 0
D Pubblicità Instagram su pagina da 144 mila follower Vendere e Acquistare pubblicita' online 3
A Dare l'accesso ad una pagina solo ad un utente specifico PHP 0
F pagina dinamica PHP PHP 3
W Invio Dati ad un altra pagina Classic ASP 1
Samuele Ronzani Click e reload della pagina PHP 1

Discussioni simili