Visualizzazione dei risultati da 1 a 6 su 6
  1. #1
    Utente di HTML.it L'avatar di Renyp
    Registrato dal
    Nov 2004
    Messaggi
    304

    problemi con paginazione e valori select

    Innanzitutto spero che il titolo del 3d sia adatto, perchè non ho ancora capito che errore c'è..vi posto il codice, ma prima vi spiego cosa fa questa pagina.
    Pubblica degli annunci immobiliari. Si può fare una ricerca tra gli annunci mediante due select (località + quartieri).
    Gli annunci vengono caricati e ordinati con una paginazione.
    L'errore frequente è:
    Impossibile trovare l'oggetto nell'insieme corrispondente al nome o al numero richiesto.
    L'altro:
    Il record corrente corrisponde all'inizio o alla fine del file oppure è stato eliminato. Per eseguire l'operazione richiesta è necessario disporre di un record corrente.
    Spero sia solo un problema di codice, una svista, anche se ho paura in qualcosa di peggiore, visto che è da troppo che controllo e ricontrollo.


    codice:
    <form action="annunci.asp?orderby=yes" method="post" name="cercaannunci">
    Ricerca annunci per località:<select name="localita" onchange="window.location.href='annunci.asp?zona='+this.value;">
    																
    																<% 
    	dim rsLocalita, sqlLocalita
    	set rsLocalita = server.CreateObject("ADODB.recordset")
    	sqlLocalita = "SELECT * FROM Localita"
    	rsLocalita.open sqlLocalita, objConn										%>
    																<% DO UNTIL rsLocalita.eof %>
    																<option value="<%= rsLocalita("localita")%>"><%= rsLocalita("localita")%></option>
    																<% 
    	rsLocalita.movenext 
    	loop 
    %>
    															  </select>														<select name="quartieri">												  
    <%
    	dim zona
    	zona = request.QueryString("zona")
    	if zona <> "" then
    	dim rs1, sql1
    	set rs1 = server.CreateObject("ADODB.recordset")
    	sql1 = "SELECT Quartieri.* FROM Localita INNER JOIN Quartieri ON Localita.ID = Quartieri.id_localita Where Localita.localita = '" & zona & "'"
    																	rs1.open sql1, objConn
    															  %>
    															  <% DO UNTIL rs1.eof %>
    															  <option value="<%= rs1("quartiere")%>" selected><%= rs1("quartiere")%></option>
    															  <% 
    	rs1.movenext 
    	loop 
    %>
    																<% else 
    																	dim rs2,sql2
    	set rs2 = server.CreateObject("ADODB.recordset")
    	sql2 = "SELECT * FROM Quartieri" 
    	rs2.open sql2, objConn												%>
    																<% DO UNTIL rs2.eof %>
    																<option value="<%= rs2("quartiere")%>"><%= rs2("quartiere")%></option>
    																 <% 
    	rs2.movenext 
    	loop 
    %>
    																<% end if %>														  </select>
    <input type="image" src="images/freccia_vai2.gif" name="invia" value="invia"> 
    <input type="hidden" value="invia" name="invia">
    </form>
    												
    
    
    <%  dim idannuncio
           idannuncio = Request.QueryString("ID")
           if  idannuncio <> "" then
    	Dim RsAnnunci, sqlAnnunci
    	
    	set RsAnnunci = server.CreateObject("ADODB.recordset")
    	sqlAnnunci = "SELECT AnnunciPrivati.*, Inserzionisti.*, Quartieri.*, Localita.* FROM ((Inserzionisti INNER JOIN AnnunciPrivati ON Inserzionisti.ID = AnnunciPrivati.id_utente) INNER JOIN Quartieri ON AnnunciPrivati.id_quartiere = Quartieri.ID) INNER JOIN Localita ON (AnnunciPrivati.id_localita = Localita.ID) AND (Quartieri.id_localita = Localita.ID) WHERE AnnunciPrivati.ID = " & idannuncio
    	RsAnnunci.open sqlAnnunci, objConn
    	'response.Write(sqlAnnunci)
    	'response.End()
    %>
    <%
    if not RsAnnunci.EOF then %>
    
    		<% if RsAnnunci("agenzia") <> "" then %>
    		<span style="float: right; width: 230px; height: 50px; border: 1px solid black; text-align: right;">
    		<%  
    			dim rsLogo,sqlLogo
    			set rsLogo = server.CreateObject("ADODB.recordset")
    			sqlLogo = "SELECT Loghi.* FROM Loghi INNER JOIN AnnunciPrivati ON Loghi.id_annuncio=AnnunciPrivati.ID WHERE AnnunciPrivati.ID = " & idannuncio
    			rsLogo.open sqlLogo, objConn
    		%>
    		<% if rsLogo.eof <> true then %>
    		[img]<%= rsLogo([/img]">
    		<% else %>
    		[img]logogoogle2.gif[/img]</span>
    		<% end if %>
    		Agenzia: <%= (RsAnnunci("agenzia"))%> 
    
    		tutti gli annunci di " title="vai agli annunci dell'agenzia"> <%= (RsAnnunci("agenzia"))%> 
    		<%else%>
                    Inserzionista: <%= (RsAnnunci("Inserzionisti.nome"))%>
                    <%=(RsAnnunci("Inserzionisti.cognome"))%><%end if%> 
    		
    		Contatti: <%= (RsAnnunci("telefono"))%>,
                    <%= (RsAnnunci("mail"))%>
                   <%= (RsAnnunci("tipologia"))%> a 
                  <%= (RsAnnunci("AnnunciPrivati.citta"))%>
    		<%= (RsAnnunci("abstract"))%>
    </div>
    Contratto: <%= (RsAnnunci("contratto"))%>  
    		Uso: <%= (RsAnnunci("uso"))%> 
    		Località: <%= (RsAnnunci("localita"))%> 
    		Indirizzo: via <%= (RsAnnunci("via"))%> 
                     <%= (RsAnnunci("numero"))%>, 
                   <%= (RsAnnunci("AnnunciPrivati.cap"))%>, 
                  <%= (RsAnnunci("AnnunciPrivati.citta"))%>
    	    Stato: <%= (RsAnnunci("stato"))%> 
    	    Piano: <%= (RsAnnunci("piano"))%> 
    	    Vani: <%= (RsAnnunci("numvani"))%> 
    	    Servizi[/b]: <%= (RsAnnunci("numservizi"))%> 
    	    Ascensore: <%= (RsAnnunci("ascensore"))%> 
    	    Piscina: <%= (RsAnnunci("piscina"))%> 
    	    Parco: <%= (RsAnnunci("parco"))%> 
    	    Parcheggio aperto: <%= (RsAnnunci("parcheggioaperto"))%> 
    	    Parcheggio chiuso: <%= (RsAnnunci("parcheggiochiuso"))%>
    	    Box: <%= (RsAnnunci("box"))%> 
    	    Cantina: <%= (RsAnnunci("cantina"))%> 
    	    Soffitta: <%= (RsAnnunci("soffitta"))%> 
    	    Portinaio: <%= (RsAnnunci("portinaio"))%> 
    
    <a class="link-admin" href="pop_richiesta.asp?ID=<%=RsAnnunci("AnnunciPrivati.ID")%>" title="Invia richiesta" onclick="apririchiesta('<%= RsAnnunci("AnnunciPrivati.ID") %>'); return false;">
    Invia richiesta</a>
    
    
    <%else
    Response.Write("Siamo spiacenti, annuncio non trovato.")
    end if 
    %>
    <%
    	else
    %>
    <%
    AnnunciPerPagina = 5
    page = Request("page")
    set Rs = server.CreateObject("ADODB.recordset")
    if page="" then page="1"
    	orderby = Request.QueryString("orderby")
    	'ag è la variabile che passo dal link poco sopra, ossia il nome agenzia
    	ag = Request.QueryString("ag")	
    	localita = Request.Form("localita")
    	quartieri = Request.Form("quartieri")
    	if ag = "" then
    		if orderby = "" then
    			strSql = "SELECT AnnunciPrivati.*, Inserzionisti.*, Quartieri.*, Localita.* FROM ((Inserzionisti INNER JOIN AnnunciPrivati ON Inserzionisti.ID = AnnunciPrivati.id_utente) INNER JOIN Quartieri ON AnnunciPrivati.id_quartiere = Quartieri.ID) INNER JOIN Localita ON (AnnunciPrivati.id_localita = Localita.ID) AND (Quartieri.id_localita = Localita.ID)"' WHERE AnnunciPrivati.ID = " & idannuncio
    			'response.write strSql
    			'response.end
    		else 
    			'effettuo una o più scelte dalle select e faccio i seguenti confronti
    			if quartieri <> "" then
    			strSql = "SELECT AnnunciPrivati.* FROM (AnnunciPrivati INNER JOIN Localita ON AnnunciPrivati.id_localita = Localita.ID) INNER JOIN Quartieri ON AnnunciPrivati.id_quartiere = Quartieri.ID WHERE (Quartieri.quartiere)='" & quartieri & "'"
    			'response.write strSql
    			'response.end
    			else if localita <> "" then
    			strSql = "SELECT AnnunciPrivati.* FROM AnnunciPrivati INNER JOIN Localita ON AnnunciPrivati.id_localita = Localita.ID WHERE Localita.localita = '" & localita & "'"
    			else 
    			end if
    			'response.write strSql
    			'esponse.end
    			end if
    		end if
    	else 
    		strSql = "SELECT AnnunciPrivati.*, Inserzionisti.* FROM Inserzionisti INNER JOIN AnnunciPrivati ON Inserzionisti.ID=AnnunciPrivati.id_utente WHERE Inserzionisti.agenzia = '" & ag & "'"
    	end if
    Rs.open strSql, objConn, 1
    Rs.PageSize = AnnunciPerPagina
    Rs.AbsolutePage = page           ------------------------------> linea 229
    
    If Rs.Eof=True or Rs.Bof=True then %>
    <P style="font: 12px Verdana #111111; left: 200px;">Spiacenti, nessun risultato trovato</P>
    <%Else%>
    
    <%For i=1 to AnnunciPerPagina
    if Not Rs.EOF then %>
    
    <div class="container-news"> 
    <div class="annuncio">
    Annuncio: <%= Rs("tipologia") %> a <%= Rs("citta") %></div>---------->linea 240
    			<div class="abstract"> <%= Rs("abstract") %></div>
    			<div class="abstract">Mq: <%= Rs("mqtot") %></div>
    			<div id="vai-a-news">">continua...</div> 
    </div>
    </div>			
    
    	
    <% Rs.MoveNext %>
    <%end if
    Next %>
    </div>
    <%End if%>
    
    <div class="pagine">Pagine: 
      <%
      if ag = "" then
      For pag=1 to Rs.PageCount
      if pag = cint(page) then %>
      <span id="paginazione2"><%= pag %> </span> 
      <% else %>
      <span id="paginazione"><%= pag %></span> 
      <% End if
      Next%><span id="tutti"> Tutti gli annunci  </span>
      <% else
      For pag=1 to Rs.PageCount
      if pag = cint(page) then %>
      <span id="paginazione2"><%= pag %> </span> 
      <% else %>
      <span id="paginazione"><%= pag %></span> 
      <% End if
      Next%><span id="tutti"> Tutti gli annunci  </span><% end if %>
    </div>
    </div>
    
    </body>
    </html>
    <% end if %>

    questo è il beta-sito. Se avete voglia, provate a farci un giro..link

  2. #2
    Moderatore di ASP e MS Server L'avatar di Roby_72
    Registrato dal
    Aug 2001
    Messaggi
    19,559
    ADODB.Recordset error '800a0bcd'

    Either BOF or EOF is True, or the current record has been deleted. Requested operation requires a current record.

    /annunci.asp, line 229


    Stai cercando di utilizzare un recordset che è finito o è vuoto.
    Devi testare sempre l'EOF.

    Roby

  3. #3
    Utente di HTML.it L'avatar di Renyp
    Registrato dal
    Nov 2004
    Messaggi
    304
    ok...
    il problema è che adesso mi sto perdendo un po'..
    il recordset in questione dovrebbe essere Rs, giusto? Gli errori risalgono a righe dove c'è Rs.
    L'errore nella riga 240 é successivo a quel codice
    codice:
    <%For i=1 to AnnunciPerPagina
    if Not Rs.EOF then %>
    devo modificare questo ciclo oppure capire cosa manca ad Rs in base alla pagina ed ai link da cui provengo?
    Spero sia la prima....

  4. #4
    Moderatore di ASP e MS Server L'avatar di Roby_72
    Registrato dal
    Aug 2001
    Messaggi
    19,559
    Correggi un errore alla volta.
    Ho fatto una semplice ricerca ed è apparso quell'errore...

    Roby

  5. #5
    Utente di HTML.it L'avatar di Renyp
    Registrato dal
    Nov 2004
    Messaggi
    304
    Allora, un errore, ad esempio , lo da quando entro nei dettagli di un annuncio, clicco per vedere tutti gli annunci dell'inserzionista e infine vado nella parte di pagina che dovrebbe "paginare" tutti gli annunci.

    codice:
    <%For i=1 to AnnunciPerPagina
    if Not Rs.EOF then %>
    
    <div class="container-news"> 
    <div class="annuncio">
    Annuncio: <%= Rs("tipologia") %> a <%= Rs("citta") %></div>---------->linea 240
    			<div class="abstract"> <%= Rs("abstract") %></div>
    			<div class="abstract">Mq: <%= Rs("mqtot") %></div>
    			<div id="vai-a-news">">continua...</div> 
    </div>
    </div>


    A questo punto, tramite il link <a href="annunci.asp?ID=<%= Rs("ID")%>"> gli passo un ID, e ricaricando la pagina passa alla parte di codice in alto. che dovrebbe funzionare...
    codice:
    <%  dim idannuncio
           idannuncio = Request.QueryString("ID")
           if  idannuncio <> "" then
    	Dim RsAnnunci, sqlAnnunci
    	
    	set RsAnnunci = server.CreateObject("ADODB.recordset")
    	sqlAnnunci = "SELECT AnnunciPrivati.*, Inserzionisti.*, Quartieri.*, Localita.* FROM ((Inserzionisti INNER JOIN AnnunciPrivati ON Inserzionisti.ID = AnnunciPrivati.id_utente) INNER JOIN Quartieri ON AnnunciPrivati.id_quartiere = Quartieri.ID) INNER JOIN Localita ON (AnnunciPrivati.id_localita = Localita.ID) AND (Quartieri.id_localita = Localita.ID) WHERE AnnunciPrivati.ID = " & idannuncio
    	RsAnnunci.open sqlAnnunci, objConn
    	'response.Write(sqlAnnunci)
    	'response.End()
    %>
    quindi? Forse sbaglio proprio concettualmente...

  6. #6
    Utente di HTML.it L'avatar di Lino80
    Registrato dal
    Oct 2005
    Messaggi
    1,560
    ciao, Renyp puoi postare la soluzione e il codice di come hai risolto la ricerca + paginazione?

    grazie

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.