327 messaggi dal 06 settembre 2002
ciao,
ho realizzato un sito per un negozio che vende prodotti hadweare, premetto che i dati sono stati inseriti con poca(per non dire alcuna) coerenza ma su questo non posso interferire.
ho una home di partenza dal quale l'utente seziona la categoria di partenza da una tabella, l'sql è questo:
"SELECT * FROM cat ORDER BY cat"
------------------------------------------------
poi continua e va a leggere su una query access:

sqlString = " SELECT DISTINCT idcat, tipocat FROM Qprodotti2 Where idcat ="& cat
-----------------------------------
poi fa un'ultima selezione per marca o modello, considerate che il campo corrispondente a modello non è obbigatorio, quindi faccio 2 recordset su 2 tabelle e le mostro sulla stessa pagina:

tip = request.querystring ("tip")
strSQL = "SELECT DISTINCT marca FROM Qprodotti2 WHERE tipocat = '"&tip&"'"
strSql2 = "SELECT Distinct t_scat FROM Qprodotti2 WHERE tipocat= '"&tip&"'"
-------------------------------------------------------------
infine mostro i risultati della scelta estratti con questa query:

sqlString = "SELECT id, Immagine, prezzo, articolo, descrizione, tipocat, marca " &_
"FROM QProdotti2 WHERE (t_scat='" & model & "' or Marca = '" & marca & "')" &_
"AND tipocat= '" & Request.QueryString("tip") & "'AND stato=1 " &_
"ORDER BY articolo "
--------------------------------------------------------------------------
Succede che quando il campo corrispondente a modello("t_scat") è vuoto gli articoli non vengono visualizzati correttamente, per es: se scelgo "Stampanti laser > epson mi mostra anche le altre marche.
Per provare:
http://www.oasismarket.it/vetrine/default.asp?tip=Stampanti+laser
se selezionate una marca qualsiasi o un modello ve le mostra tutte.
grazie a tutti
ciao
327 messaggi dal 06 settembre 2002
Hemmm....ragazziiiii......dove siete???...fatevi sentire non riuscite a capire? chiedete se è così.
scusate GRZ ciao
Modificato da lobax il 10 novembre 2002 13.47 -
4 messaggi dal 20 maggio 2002
puoi postare la struttura della tabella qprodotti2?

Bobore
879 messaggi dal 09 luglio 2002
www.i-studio.it
ciao,
puoi farti stampare il valore della variabile sqlString quando non selezioni un modello?
Credo che il problema sia nell'OR che hai inserito nell'SQL. Al posto dell'OR dovresti rendere dinamica la costruzione dell'istruzione SQL:

sqlString = "SELECT id, Immagine, prezzo, articolo, descrizione, tipocat, marca FROM QProdotti2 WHERE ("

if model <> "" then
sqlString = sqlString & "t_scat='" & model & "' or "
end if

if marca <> "" then
sqlString = sqlString & "Marca = '" & marca & "'"
end if

sqlString = sqlString & ") AND tipocat= '" & Request.QueryString("tip") & "'AND stato=1 ORDER BY articolo "

Ciao
Alex


Internetworking Studio Srl
www.i-studio.it
327 messaggi dal 06 settembre 2002
yep ok grazie, avevo provato ance io ma mi dava un errore di parentesi chiusa in eccesso cmq è bastato togliere al prep "OR".
sqlString = "SELECT id, Immagine, prezzo, articolo, descrizione, tipocat, marca "
sqlString = sqlString & "FROM QProdotti2 WHERE ("
if model <> "" then
sqlString = sqlString & "t_scat='" & model & "' "
end if
if marca <> "" then
sqlString = sqlString & " Marca = '" & marca & "'"
end if
sqlString = sqlString & ") AND tipocat= '" & Request.QueryString("tip") & "'AND stato=1 " &_
"ORDER BY articolo "

questo funziona grazie ancora ciao
lobax

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.