Visualizzazione dei risultati da 1 a 5 su 5

Discussione: Menu

  1. #1

    Menu

    Zao a tutti,
    ho scritto una sintassi per prelevare dei record posti all'interno della tabella del mio database ed ordinarli in modo da inserirli all'interno di un menu a tendina di un form. Purtroppo però viene eseguita male e i valori non vengono immessi nell'oggetto, sapete aiutarmi!

    codice:
                  <select name="categoriapre" class="menu">
                   <%
    			Set categele=Conn.Execute ("SELECT * FROM categoria WHERE sottocatv=0 order by data asc")
    			
    			if categele("sottocatv")<>"0" then
    			%> 
    			<option selected>-- seleziona --</option>
    			<%
    			do while not categele.eof
    			%>
    			<option  type="text" value=<%=categele("id")%>><%=categele("categ")%></option>
    			<%
    			categele.movenext
    			loop
    			categele.close
    			Set categele=Nothing
    			else
    			do while not categele.eof
    			%>		
    			<option  type="text" value=<%=categele("id")%> <% if categele("id")=categele("sottocatv") then %> selected <% end if %>></option><%=categele("categ")%></option>
    			<%
    			categele.movenext
    			loop
    			categele.close
    			Set categele=Nothing
    			end if 
    			%>
    			</select>

  2. #2
    Moderatore di ASP e MS Server L'avatar di Roby_72
    Registrato dal
    Aug 2001
    Messaggi
    19,559
    Non capisco questo

    if categele("sottocatv")<>"0" then

    e la successiva parte dopo l'else visto che già la query esclude il caso che sottocatv = 0, anche se non capisco se il campo sia numerico o meno...

    La option si scrive così:
    codice:
    <option value="<%=categele("id")%>"><%=categele("categ")%></option>
    Roby

  3. #3
    Ehmm si vero la sintassi era un tantinello incasinata l'ho modificata in questo modo
    codice:
                 <select name="categoriapre" class="menu">
                   
    			   <% 
    			spunz=rs2("categ")
    			   
    			if spunz="" then 
    			   
    			controlz1=rs2("sottocatv")
    			   
    			Set categele2=Conn.Execute ("SELECT * FROM categoria WHERE sottocatv=0 and id=sottocatv")
    			response.write"<option type=""text"" value='"& id &" selected>'"& categ &"'</option>"
    			categele2.close
    			Set categele2=Nothing
    			
    			Set categele=Conn.Execute ("SELECT * FROM categoria WHERE sottocatv=0 and id<>sottocatv order by data desc")
    			do while not categele.eof
    			%>
    			<option  type="text" value=<%=categele("id")%> selected ></option><%=categele("categ")%></option>
    			<%
    			categele.movenext
    			loop
    			categele.close
    			Set categele=Nothing
    			else
    			Set categele3=Conn.Execute ("SELECT * FROM categoria WHERE sottocatv=0 order by data desc")
    			%>
    			<option selected>-- seleziona --</option>
    			<%
    			do while not categele3.eof
    			%>
    			<option  type="text" value=<%=categele3("id")%>><%=categele3("categ")%></option>		
    			<%
    			categele3.movenext
    			loop
    			categele3.close
    			Set categele3=Nothing
    			end if 
    			%>
    mentre la struttura della mia tabella è di questo tipo
    codice:
    Campo		Tipo		Attributi	Null		Predefinito	Extra
    idtinyint(6)						no		auto_increment
    data				datetime		no		0000-00-00 00:00:00
    categchar(60)						si		0
    sottocatchar(60)					si		0
    sottocatvtinyint(6)					si		0
    La mia intenzione sarebbe praticamente quella di far apparire nel menu a tendina solo i recordset in cui il valore sottocatv=0 (ossia solo quelli in cui è compilata la categoria e non la sottocategoria). In particolare quando si tratterebbe di modificare il record di una sottocategoria la categoria di riferimento dovrebbe apparire come "selected" nel menu a tendina ... in alternativa, invece, dovrebbero semplicemente essere elencati tutti i valori di categoria (quindi sottocatv=0 e sottcat=0) presenti nella tabella però purtroppo la sintassi che ho scritto non va! Non mi visualizza nulla! Helpz me!

  4. #4
    Moderatore di ASP e MS Server L'avatar di Roby_72
    Registrato dal
    Aug 2001
    Messaggi
    19,559
    Sono sbaglaite le query.
    In questo esempio

    codice:
    Set categele=Conn.Execute ("SELECT * FROM categoria WHERE sottocatv=0 and id<>sottocatv order by data desc")
    id<>sottocatv

    sottocatv cosa è? Una variabile? Non caspisco.

    Roby

  5. #5
    sottocatv è un campo della tabella in cui, in pratica, viene inserito il valore di id della categoria di riferimento ed è quindi un campo numerico che se vuoto ha come di default 0

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.