Visualizzazione dei risultati da 1 a 7 su 7
  1. #1

    Categorie e Sottocategorie

    Salve ragazzi,
    ho creato una tabella nel mio db che memorizza le categorie e le sottocategorie dei prodotti, in pratica per identificare le sottocategorie ho creato un campo (sottocatv) in cui inserisco il valore dell'id della categoria a cui è riferito. Ho scritto poi lo script sotto riportato per leggere le categorie ed elencare subito, sotto di esse, le sottocategorie. Purtroppo però viene eseguito ma non vengono visualizzati i valori della tabella! Dove erro?!


    codice:
    			<%
    			SQL = "SELECT * FROM categoria WHERE sottocatv=0"
    			Set categele=Conn.Execute(SQL)
    			
    			while not categele.eof and categele.bof<>true then
    			
    			response.write "<table width=""500"" height=""18"" border=""0"" align=""center"" cellpadding=""0"" cellspacing=""0"" bgcolor=""#DBEDF2"">"
    			response.write "<tr>"
    			response.write "<td width=""5""></td>"
    			response.write "<td class=""link4"">" & categ & "</td>"
    			response.write "</tr>"
    			response.write "</table>"
    			
    			if categele.eof="" then
    			%>
    			<script>
    			alert ("Non sono presenti Categorie!")
    			location.href = "pannello.asp?user=<%=request("user")%>&pwd=<%=request("pwd")%>&sid=<%=request("sid")%>"
    			</script> 
    			<%
    			categele.close
    			conn.close
    			Set categele=Nothing 
    			Set conn=Nothing 
    			
    			end if
    			
    			sottocatele=categele("id")
    			if sottocatele>0 then
    			
    			SQLL = "SELECT * FROM categoria WHERE sottocatv=" & sottocatele &
    			Set sottocategele=Conn.Execute(SQLL)
    
    				response.write "<table width=""50"" height=""5"" border=""0"" align=""center"" cellpadding=""0"" cellspacing=""0"">"
    				response.write "<tr>"
    				response.write "<td></td>"
    				response.write "</tr>"
    				response.write "</table>"
    				response.write "<table width=""500"" height=""18"" border=""0"" align=""center"" cellpadding=""0"" cellspacing=""0"" bgcolor=""EFEFEF"">"
    				response.write "<tr>"
    				response.write "<td width=""20""></td>"
    				response.write "<td class=""link4"">" & categ & "</td>"
    				response.write "</tr>"
    				response.write "</table>"
    				response.write "<table width=""50"" height=""5"" border=""0"" align=""center"" cellpadding=""0"" cellspacing=""0"">"
    				response.write "<tr>"
    				response.write "<td></td>"
    				response.write "</tr>"
    				response.write "</table>"
    			
    			else
    			
    				response.write "<table width=""50"" height=""5"" border=""0"" align=""center"" cellpadding=""0"" cellspacing=""0"">"
    				response.write "<tr>"
    				response.write "<td></td>"
    				response.write "</tr>"
    				response.write "</table>"
    			
    			end if
    			
    			
    			categele.movenext()
    			
    			Wend
    			
    			categele.close
    			sottocategele.close
    			conn.close
    			Set categele=Nothing 
    			Set sottocategele=Nothing 
    			Set conn=Nothing 
    			%>

  2. #2
    il campo id_categoria (per intenderci quello nella tabella delle sottocategorie) dove fai la join con l'id delle categorie è di tipo numerico? spero di si

  3. #3
    si si certo è un campo di tipo numerico per, forse mi sono espresso male, non si trova in una tabella sottocategorie a parte ma nella stessa tabella in cui sono inserite le categorie.

  4. #4
    una relazione logica quindi... mi puoi elencare la struttura della tabella?

  5. #5
    Originariamente inviato da lukeonweb
    una relazione logica quindi... mi puoi elencare la struttura della tabella?
    Certo:
    codice:
    Campo		Tipo 		Attributi	Null	Predefinito		Extra
    id		tinyint(6)			no	auto_increment
    data		datetime			no	0000-00-00 00:00:00
    categ		char(60)			si	0
    sottocat	char(60)			si	0
    sottocatv	tinyint(6)			si	0

  6. #6
    > SELECT * FROM categoria WHERE sottocatv=0

    se la relazione logica è tra l'id contatore e sottocateg non troverai mai dati se imposti la condizione su 0

  7. #7
    IO ho impostato l'upload in questo modo: se l'utente sceglie di inserire una nuova categoria il campo sottocat (che contiene il nome della sottocategoria) e sottocatv (che contiene il valore id della categoria di riferimento) restano vuote. Quindi avevo pensato la sintassi in questo modo: per selezionare prima le categorie bastaca prendere i campi in cui il campo sottocatv aveva valore=0. Successivamente, dopo aver selezionato una categoira, l'elenco delle relative sottocategorie. Ho modificato la sintassi in questo modo ma cmq nulla da fare, non va!
    codice:
                
    			<%
    			SQL = "SELECT * FROM categoria WHERE sottocatv='0' "
    			Set categele=Conn.Execute(SQL)
    			
    			while not categele.eof and categele.bof<>true
    			
    			response.write "<table width=""500"" height=""18"" border=""0"" align=""center"" cellpadding=""0"" cellspacing=""0"" bgcolor=""#DBEDF2"">"
    			response.write "<tr>"
    			response.write "<td width=""5""></td>"
    			response.write "<td class=""link4"">" & categ & "</td>"
    			response.write "</tr>"
    			response.write "</table>"
    			
    			sottocatele=categele("id")
    			SQLL = "SELECT * FROM categoria WHERE sottocatv ='" & sottocatele & "'"
    			Set sottocategele=Conn.Execute(SQLL)
    			
    			if sottocategele.eof= false then
    			for x = 1 to sottocategele.eof
    				response.write "<table width=""50"" height=""5"" border=""0"" align=""center"" cellpadding=""0"" cellspacing=""0"">"
    				response.write "<tr>"
    				response.write "<td></td>"
    				response.write "</tr>"
    				response.write "</table>"
    				response.write "<table width=""500"" height=""18"" border=""0"" align=""center"" cellpadding=""0"" cellspacing=""0"" bgcolor=""EFEFEF"">"
    				response.write "<tr>"
    				response.write "<td width=""20""></td>"
    				response.write "<td class=""link4"">" & categ & "</td>"
    				response.write "</tr>"
    				response.write "</table>"
    				response.write "<table width=""50"" height=""5"" border=""0"" align=""center"" cellpadding=""0"" cellspacing=""0"">"
    				response.write "<tr>"
    				response.write "<td></td>"
    				response.write "</tr>"
    				response.write "</table>"
    				
    				sottocategele.movenext
    				if sottocategele.eof then exit for
    				next
    				end if
    			
    			categele.movenext
    			Wend
    			sottocategele.close
    			conn.close
    			Set sottocategele=Nothing 
    			Set conn=Nothing 
    			%>

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.