9 messaggi dal 24 marzo 2006
Avendo questo script

<%@LANGUAGE = JScript%>
<html>
<head>
<title>Motore di ricerca Cadutipolizia.it</title>
</head>
<body background="../images/sfondocentrogiallo2.jpg">

<h3><center><img border="0" src="../images/bannercaduti2.jpg"><p class="MsoNormal">
<u><i><font face="Verdana" color="#CC0000" size="4">
<style="text-decoration: none">
<b>Inserisci qui di seguito il Caduto da Ricercare</b></font></i></u>
</center>

<form method="POST" action="ricerca.asp?cerca=OK">
<p align="center">
<input type="text" name="stringa" size="20">
<input type="submit" value="Cerca"> </p>
</form>

<%
var cerca = new String(Request.QueryString("cerca"));
var testo = new String(Request.Form("stringa"));
var apice = testo.replace(/'/g,"''");
var stringa = apice.split(" ");
if (cerca == "OK")
{
if (testo == "" || testo == "undefined")
{
Response.Write("<p><center><FONT FACE=verdana>Inserire almeno una parola per effettuare una ricerca</center></p>");
}
else
{
var Cn = new ActiveXObject("ADODB.Connection");
Cn.Open("driver={Microsoft Access Driver (*.mdb)};dbq=" + Server.MapPath("/mdb-database/archivio.mdb"));
var sql = "SELECT * FROM pagineweb WHERE";
for (var i=0; i<stringa.length; i++)
{
if (i > 0)
{
sql += " AND";
}
sql += " keywords LIKE '%" + stringa + "%'";
}
var Mostra = Cn.Execute(sql);
if (Mostra.EOF)
{
Response.Write("<p><center><FONT FACE=verdana>Ricerca effettuata con esito negativo</center></p>");
}
else
{
while (!Mostra.EOF)
{
with (Response)
{
Write("<p>" +"<center>");
Write("<a href='" + Mostra("url") + "'>" + "<br>" + "<br>");
Write(Mostra("descrizione")+ "<br>" +"<center>" + "<br>");
Write("<img src='" +Mostra("foto") + "'>" + "<br>" +"<center>" + "<br>" );
Write(Mostra ("keywords") + "<br>" +"<center>");
Write("</p>" + "</a>");
Mostra.MoveNext();
}
}
}
Cn.Close();
}
}
%>

</h3>
<p align="center">&nbsp;</p>
<p align="center"><a href="../index.asp">
<img border="0" src="../images/Bottoni/Homepage_link.jpg"></a></p>

</body>
</html>



[i]Vorrei far visualizzare in fondo una stringa che mi dichiari che ha effettuatlo la ricerca sul numero ID massimo di record solo che non riesco a farlo visualizzare

Modificandolo così:




<%@LANGUAGE = JScript%>
<html>
<head>
<title>Motore di ricerca Cadutipolizia.it</title>
</head>
<body background="../images/sfondocentrogiallo2.jpg">

<h3><center><img border="0" src="../images/bannercaduti2.jpg"><p class="MsoNormal">
<u><i><font face="Verdana" color="#CC0000" size="4">
<style="text-decoration: none">
<b>Inserisci qui di seguito il Caduto da Ricercare</b></font></i></u>
</center>

<form method="POST" action="ricerca.asp?cerca=OK">
<p align="center">
<input type="text" name="stringa" size="20">
<input type="submit" value="Cerca"> </p>
</form>

<%
var cerca = new String(Request.QueryString("cerca"));
var testo = new String(Request.Form("stringa"));
var apice = testo.replace(/'/g,"''");
var stringa = apice.split(" ");
if (cerca == "OK")
{
if (testo == "" || testo == "undefined")
{
Response.Write("<p><center><FONT FACE=verdana>Inserire almeno una parola per effettuare una ricerca</center></p>");
}
else
{
var Cn = new ActiveXObject("ADODB.Connection");
Cn.Open("driver={Microsoft Access Driver (*.mdb)};dbq=" + Server.MapPath("/mdb-database/archivio.mdb"));
var sql = "SELECT *, MAX(id) as massimo FROM pagineweb WHERE";
for (var i=0; i<stringa.length; i++)
{
if (i > 0)
{
sql += " AND";
}
sql += " keywords LIKE '%" + stringa + "%'";
}
var Mostra = Cn.Execute(sql);
if (Mostra.EOF)
{
Response.Write("<p><center><FONT FACE=verdana>Ricerca effettuata con esito negativo</center></p>");
}
else
{
while (!Mostra.EOF)
{
with (Response)
{
Write("<p>" +"<center>");
Write("<a href='" + Mostra("url") + "'>" + "<br>" + "<br>");
Write(Mostra("descrizione")+ "<br>" +"<center>" + "<br>");
Write("<img src='" +Mostra("foto") + "'>" + "<br>" +"<center>" + "<br>" );
Write(Mostra ("keywords") + "<br>" +"<center>");
Write("</p>" + "</a>");
Write(Mostra ("massimo");
Mostra.MoveNext();
}
}
}
Cn.Close();
}
}
%>

</h3>
<p align="center">&nbsp;</p>
<p align="center"><a href="../index.asp">
<img border="0" src="../images/Bottoni/Homepage_link.jpg"></a></p>

</body>
</html>

Modificandolo così non riesco a ottenere il numero max di ID presenti, non mi segnala nemmeno errore di sintassi, non lo considera e basta. Come posso fare?[i]
575 messaggi dal 23 giugno 2003
www.padovaboy.it
Strano che non ti dia un errore!
Almeno in sintassi: guarda questa linea:

Write(Mostra ("massimo");
Manca una parentesi...dovrebbe essere:
Write(Mostra("massimo"));

E a parte questo non capisco cosa vuoi fare con MAX.
MAX è una funzione di aggregazione che ti permette di restituire il valore massimo di un campo dato da una selezione fatta con group...
di GROUP non ne fai ...quindi proprio non capisco cosa vuoi far ritornare.

www.padovaboy.it dal 2001 con furore :D
9 messaggi dal 24 marzo 2006
PadovaBoy ha scritto:
Strano che non ti dia un errore!
Almeno in sintassi: guarda questa linea:

Write(Mostra ("massimo");
Manca una parentesi...dovrebbe essere:
Write(Mostra("massimo"));

E a parte questo non capisco cosa vuoi fare con MAX.
MAX è una funzione di aggregazione che ti permette di restituire il valore massimo di un campo dato da una selezione fatta con group...
di GROUP non ne fai ...quindi proprio non capisco cosa vuoi far ritornare.


con max(ID) vorrei visualizzare l'ultimo valore di chiave primaria nella tabella a cui fa riferimento lo script, max ID per quel che ho capito mi sarebbe dovuto servire per indicare allo script il valore ID di chiave primaria equivalnete all'ultimo record inserito, spero di essere stato chiaro
575 messaggi dal 23 giugno 2003
www.padovaboy.it
Hmmm non è che vuoi ordinare il risultato della tua query dall'ultimo utente (id alto) al primo (id basso)???
No perchè se è così devi lasciar stare MAX e aggiungere alla fine della query un ORDER BY ID
Nel tuo caso:

SELECT pagineweb .* FROM pagineweb ORDER BY ID DESC

www.padovaboy.it dal 2001 con furore :D
9 messaggi dal 24 marzo 2006
PadovaBoy ha scritto:
Hmmm non è che vuoi ordinare il risultato della tua query dall'ultimo utente (id alto) al primo (id basso)???
No perchè se è così devi lasciar stare MAX e aggiungere alla fine della query un ORDER BY ID
Nel tuo caso:

SELECT pagineweb .* FROM pagineweb ORDER BY ID DESC


Nessun ordine voglio solo visualizzare il valore ID di chiave primario più alto della tabella equivalente all'ultimo inserimento.
575 messaggi dal 23 giugno 2003
www.padovaboy.it
Hmmmm
ma te stai facendo un ciclo sui risultati...e quello che recuperi semplicemente con MOSTRA("id") ti da l'id del record corrente.

Se vuoi ottenere SOLO l'ultimo recordo con l'ID più alto devi togliere il ciclo e fare una query del tipo:

SELECT TOP 1 pagineweb .* FROM pagineweb ORDER BY ID DESC

Questa query ti restituisce solo 1 recordset contenete i dati di paginaweb con l'id più alto (presumibilmente l'ultimo inserito).

www.padovaboy.it dal 2001 con furore :D

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.