motore di ricerca interno con campi ricerca multipli

Buonasera,

da poco sto usando il php unito con il database mysql.

Sto progettando un sito per un'agenzia immobialiare che ha un motore di ricerca interno per gli annunci.

Questo motore di ricerca composto da pi campi opzioni in cui si possono decidere i criteri di ricerca.

E' formato dai campi tipologia, zona, numero camere, numero bagni, prezzo e metri quadri.

Quando scelgo un unica opzione, i risultati restituiti sono giusti.

Quando si cerca una casa usando pi campi opzione: per esempio scelgo una tipologia, un prezzo e un numero di camere, i risultati che ottengo sono sbagliati in quanto si visualizzano gli annunci che hanno almeno una caratteristica corrispondente ai valori inseriti nei campi opzioni del motore di ricerca .

Io devo visualizzare solamente gli annunci che hanno le caratteristiche tutte corrispondenti ai campi opzioni del motore. Quindi in parole povere una ricerca pi selettiva.

Dal punto di vista di mysql s che devo creare una query con la clausola WHERE e AND,

ma non ho idea di come costruirla con il PHP.

Non s come impostare i controlli sui campi inseriti e su quelli vuoti e non so come creare la query dinamicamente.

Resto in attesa di un aiuto!

Grazie mille in anticipo

inviato 4 anni fa
bobgil
X 0 X

Puoi ricevere i dati tramite un form con l'invio tramite $_POST, puoi leggere questa guida.

Quando ricevi il form metti una serie di if e cotruisci mano a mano la tua query:

<?php

$sql = '';
if($_POST['valore1']=='qualcosa')
    $sql .= 'WHERE valore1 = ' . $_POST['valore1'];

elseif($_POST['valore2']=='qualcosa')
    $sql .= 'WHERE valore2= ' . $_POST['valore2'];

E continui su questa falsa riga.

risposto 4 anni fa
Mario Santagiuliana
X 0 X
Effettua l'accesso o registrati per rispondere a questa domanda