bene ci sono riuscito
riesco a caricare nel database tutto il testuale del prodotto, ( le varie caratteristiche ) la foto , e visualizzare la relativa scheda.
ora passo al motore di ricerca... grazie un sacco per l'aiuto che mi stai dando![]()
![]()
bene ci sono riuscito
riesco a caricare nel database tutto il testuale del prodotto, ( le varie caratteristiche ) la foto , e visualizzare la relativa scheda.
ora passo al motore di ricerca... grazie un sacco per l'aiuto che mi stai dando![]()
![]()
dunque il problema del motore di ricerca è forse piu semplice di quel che credevo, nel senso che ottengo dei risultati e sono riuscito a correggere gli errori, ma ora non so come mai, ottengo sempre come risultato il numero " 1 " il che è strano, il codice che uso ( da un form che rimanda a questo ... ) ma 1 non esiste nemmeno nel mio databse
<?
include("top_foot.inc.php");
include("config.inc.php");
top();
$db = mysql_connect($db_host, $db_user, $db_password);
if ($db == FALSE)
die ("Errore nella connessione. Verificare i parametri nel file config.inc.php");
mysql_select_db($db_name, $db)
or die ("Errore nella selezione del database. Verificare i parametri nel file config.inc.php");
$keys = explode (",", $chiave);
$query = "";
reset ($keys);
while (list(,$parola) = each ($keys))
{ $parola = trim($parola);
if ($parola != "")
$query .= "tipo LIKE '%$parola%' OR classe LIKE '%$parola%' OR assi LIKE '%$parola%' OR ";
}
$query .= "0";
$query = "SELECT id, tipo, classe FROM camion1 WHERE " . $query;
$result = mysql_query($query, $db);
while ($row = mysql_fetch_array($result));
{ echo "<a href=\"view.php?id=$row[id]">" - $row[tipo] - $row[anno] </a>
"; }
//echo "<a href=\"view.php?id=$row[id]\"> - $row[tipo] - $row[anno] - $row[classe] - $row[assi] - $row[descrizione] </a>
";
foot()
?>
<?
echo "
";
?>
<?
echo "<a href=\"insert.php\"> inserisci nuovo prodotto</a>
";
echo "<a href=\"all.php\"> tutto</a>
";
echo "<a href=\"search.php\"> cerca</a>
";
?>
ok il motore funziona il codice usato è questo :
il problema è che mi limita la ricerca a 3 campi ( quelli della query ) io in tabella ho 6 campi e vorrei cercare fra tutti quanti, se modifico la query con i campi e la sintassi, lui li ignora
<?
include("top_foot.inc.php");
include("config.inc.php");
top();
$db = mysql_connect($db_host, $db_user, $db_password);
if ($db == FALSE)
die ("Errore nella connessione. Verificare i parametri nel file config.inc.php");
mysql_select_db($db_name, $db)
or die ("Errore nella selezione del database. Verificare i parametri nel file config.inc.php");
$keys = explode (",", $chiave);
$query = "";
reset ($keys);
while (list(,$parola) = each ($keys))
{ $parola = trim($parola);
if ($parola != "")
$query .= "tipo LIKE '%$parola%' OR descrizione LIKE '%$parola%' OR classe LIKE ' %$parola%' OR ";
}
$query .= "0";
$query = "SELECT id, tipo, anno, classe, assi, descrizione, filename FROM camion1 WHERE " . $query;
$result = mysql_query($query, $db);
while ($row = mysql_fetch_array($result))
echo "<a href=\"view.php?id=$row[id]\"> - $row[tipo] $row[anno] $row[classe] $row[assi] </a>
";
foot()
?>
vedi tutto
cerca
inserisci nuovo
Credo proprio che sarai costretto a compilarti la querystring a mano con tutti e sei i campi!
Onestamente non vedo altre soluzioni, ma magari se c'è qualcuno più bravo di me con i DB potrebbe aiutarti meglio!
Senti, un'ultima cosaa: a me non piace troppo la conclusione della clausola WHERE della query.
Quel OR 0 potrebbe creare problemi..... secondo me andrebbe scritto OR 0 = 0.
Almeno sei sicuro che questa uguaglianza è sempre vera e non hai problemi di sorta.
![]()
ho un problemino con questo script... qualcuno ha un idea per cortesia?
ehm scusa mi sono mangiato parte del post....
si due problemi stupido sono convinto che siano solo accortezze che da buon principiante ho trascurat
1) il campo descrizione è un campo di testo, ma mi "mozza" le parole dopo una 15 di caratteri
2) se il nome dell'immagine ha spazi, il file non viene " trovato" sul server che aggiunge il %20
da cosa possono dipendere?
ok per la lunghezza era davero banale, mysql era impostato a 20 caratteri....
Significa che il server rimpiazza automaticamente i nomi delle immagini quando questi presnetano uno spazio nel nome del file?2) se il nome dell'immagine ha spazi, il file non viene " trovato" sul server che aggiunge il %20
Se sì, non devi fare altro che fare uno string replace del tuo testo e sostituire gli spazi con il corrispettivo carattere.
Codice PHP:
$stringa = str_replace(" ", "%20", $stringa);
![]()
provo.... grazie per l'aiuto, ti dico :-)