Salve, ho una pagina che mi visualizza un elenco di prodotti con
id - localitā - descrizione - foto1 - foto2 - foto3
e tramite un pulsante elimino tutta la scheda del prodotto + il link della foto presente nel database...l'unica cosa che non riesco a fare č quello di utilizzare lo stesso pulsante per eliminare fisicamente dal server (contemporamente) le tre foto abbinate da un id.
in altre discussioni ho trovato del codice per eliminare i file dal server, ma non so integrarli nella mia pagina...
al massimo si potrebbe fare un pulsante per ogni foto e cancellarle una alla volta...ma come si abbina un comando ad un pulsante?
posto il codice della mia pagina:
vi ringrazio.codice:<%@LANGUAGE="JAVASCRIPT" CODEPAGE="1252"%> <% // *** Restrict Access To Page: Grant or deny access to this page var MM_authorizedUsers=""; var MM_authFailedURL="errore.asp"; var MM_grantAccess=false; if (String(Session("MM_Username")) != "undefined") { if (true || (String(Session("MM_UserAuthorization"))=="") || (MM_authorizedUsers.indexOf(String(Session("MM_UserAuthorization"))) >=0)) { MM_grantAccess = true; } } if (!MM_grantAccess) { var MM_qsChar = "?"; if (MM_authFailedURL.indexOf("?") >= 0) MM_qsChar = "&"; var MM_referrer = Request.ServerVariables("URL"); if (String(Request.QueryString()).length > 0) MM_referrer = MM_referrer + "?" + String(Request.QueryString()); MM_authFailedURL = MM_authFailedURL + MM_qsChar + "accessdenied=" + Server.URLEncode(MM_referrer); Response.Redirect(MM_authFailedURL); } %> <% // *** Edit Operations: declare variables // set the form action variable var MM_editAction = Request.ServerVariables("SCRIPT_NAME"); if (Request.QueryString) { MM_editAction += "?" + Server.HTMLEncode(Request.QueryString); } // boolean to abort record edit var MM_abortEdit = false; // query string to execute var MM_editQuery = ""; %> <% // *** Delete Record: declare variables if (String(Request("MM_delete")) == "form1" && String(Request("MM_recordId")) != "undefined") { var MM_editConnection = MM_miaConnessione2_STRING; var MM_editTable = "locali"; var MM_editColumn = "ID"; var MM_recordId = "" + Request.Form("MM_recordId") + ""; var MM_editRedirectUrl = ""; // append the query string to the redirect URL if (MM_editRedirectUrl && Request.QueryString && Request.QueryString.Count > 0) { MM_editRedirectUrl += ((MM_editRedirectUrl.indexOf('?') == -1)?"?":"&") + Request.QueryString; } } %> <% // *** Delete Record: construct a sql delete statement and execute it if (String(Request("MM_delete")) != "undefined" && String(Request("MM_recordId")) != "undefined") { // create the sql delete statement MM_editQuery = "delete from " + MM_editTable + " where " + MM_editColumn + " = " + MM_recordId; if (!MM_abortEdit) { // execute the delete var MM_editCmd = Server.CreateObject('ADODB.Command'); MM_editCmd.ActiveConnection = MM_editConnection; MM_editCmd.CommandText = MM_editQuery; MM_editCmd.Execute(); MM_editCmd.ActiveConnection.Close(); if (MM_editRedirectUrl) { Response.Redirect(MM_editRedirectUrl); } } } %> <% var elenco = Server.CreateObject("ADODB.Recordset"); elenco.ActiveConnection = MM_miaConnessione2_STRING; elenco.Source = "SELECT ID, localita, descrizione, foto FROM locali"; elenco.CursorType = 0; elenco.CursorLocation = 2; elenco.LockType = 1; elenco.Open(); var elenco_numRows = 0; %> <% var Repeat1__numRows = 10; var Repeat1__index = 0; elenco_numRows += Repeat1__numRows; %> <% // *** Recordset Stats, Move To Record, and Go To Record: declare stats variables // set the record count var elenco_total = elenco.RecordCount; // set the number of rows displayed on this page if (elenco_numRows < 0) { // if repeat region set to all records elenco_numRows = elenco_total; } else if (elenco_numRows == 0) { // if no repeat regions elenco_numRows = 1; } // set the first and last displayed record var elenco_first = 1; var elenco_last = elenco_first + elenco_numRows - 1; // if we have the correct record count, check the other stats if (elenco_total != -1) { elenco_numRows = Math.min(elenco_numRows, elenco_total); elenco_first = Math.min(elenco_first, elenco_total); elenco_last = Math.min(elenco_last, elenco_total); } %> <% // *** Recordset Stats: if we don't know the record count, manually count them if (elenco_total == -1) { // count the total records by iterating through the recordset for (elenco_total=0; !elenco.EOF; elenco.MoveNext()) { elenco_total++; } // reset the cursor to the beginning if (elenco.CursorType > 0) { if (!elenco.BOF) elenco.MoveFirst(); } else { elenco.Requery(); } // set the number of rows displayed on this page if (elenco_numRows < 0 || elenco_numRows > elenco_total) { elenco_numRows = elenco_total; } // set the first and last displayed record elenco_last = Math.min(elenco_first + elenco_numRows - 1, elenco_total); elenco_first = Math.min(elenco_first, elenco_total); } %> <% var MM_paramName = ""; %> <% // *** Move To Record and Go To Record: declare variables var MM_rs = elenco; var MM_rsCount = elenco_total; var MM_size = elenco_numRows; var MM_uniqueCol = ""; MM_paramName = ""; var MM_offset = 0; var MM_atTotal = false; var MM_paramIsDefined = (MM_paramName != "" && String(Request(MM_paramName)) != "undefined"); %> <% // *** Move To Record: handle 'index' or 'offset' parameter if (!MM_paramIsDefined && MM_rsCount != 0) { // use index parameter if defined, otherwise use offset parameter r = String(Request("index")); if (r == "undefined") r = String(Request("offset")); if (r && r != "undefined") MM_offset = parseInt(r); // if we have a record count, check if we are past the end of the recordset if (MM_rsCount != -1) { if (MM_offset >= MM_rsCount || MM_offset == -1) { // past end or move last if ((MM_rsCount % MM_size) != 0) { // last page not a full repeat region MM_offset = MM_rsCount - (MM_rsCount % MM_size); } else { MM_offset = MM_rsCount - MM_size; } } } // move the cursor to the selected record for (var i=0; !MM_rs.EOF && (i < MM_offset || MM_offset == -1); i++) { MM_rs.MoveNext(); } if (MM_rs.EOF) MM_offset = i; // set MM_offset to the last possible record } %> <% // *** Move To Record: if we dont know the record count, check the display range if (MM_rsCount == -1) { // walk to the end of the display range for this page for (var i=MM_offset; !MM_rs.EOF && (MM_size < 0 || i < MM_offset + MM_size); i++) { MM_rs.MoveNext(); } // if we walked off the end of the recordset, set MM_rsCount and MM_size if (MM_rs.EOF) { MM_rsCount = i; if (MM_size < 0 || MM_size > MM_rsCount) MM_size = MM_rsCount; } // if we walked off the end, set the offset based on page size if (MM_rs.EOF && !MM_paramIsDefined) { if ((MM_rsCount % MM_size) != 0) { // last page not a full repeat region MM_offset = MM_rsCount - (MM_rsCount % MM_size); } else { MM_offset = MM_rsCount - MM_size; } } // reset the cursor to the beginning if (MM_rs.CursorType > 0) { if (!MM_rs.BOF) MM_rs.MoveFirst(); } else { MM_rs.Requery(); } // move the cursor to the selected record for (var i=0; !MM_rs.EOF && i < MM_offset; i++) { MM_rs.MoveNext(); } } %> <% // *** Move To Record: update recordset stats // set the first and last displayed record elenco_first = MM_offset + 1; elenco_last = MM_offset + MM_size; if (MM_rsCount != -1) { elenco_first = Math.min(elenco_first, MM_rsCount); elenco_last = Math.min(elenco_last, MM_rsCount); } // set the boolean used by hide region to check if we are on the last record MM_atTotal = (MM_rsCount != -1 && MM_offset + MM_size >= MM_rsCount); %> <% // *** Go To Record and Move To Record: create strings for maintaining URL and Form parameters // create the list of parameters which should not be maintained var MM_removeList = "&index="; if (MM_paramName != "") MM_removeList += "&" + MM_paramName.toLowerCase() + "="; var MM_keepURL="",MM_keepForm="",MM_keepBoth="",MM_keepNone=""; // add the URL parameters to the MM_keepURL string for (var items=new Enumerator(Request.QueryString); !items.atEnd(); items.moveNext()) { var nextItem = "&" + items.item().toLowerCase() + "="; if (MM_removeList.indexOf(nextItem) == -1) { MM_keepURL += "&" + items.item() + "=" + Server.URLencode(Request.QueryString(items.item())); } } // add the Form variables to the MM_keepForm string for (var items=new Enumerator(Request.Form); !items.atEnd(); items.moveNext()) { var nextItem = "&" + items.item().toLowerCase() + "="; if (MM_removeList.indexOf(nextItem) == -1) { MM_keepForm += "&" + items.item() + "=" + Server.URLencode(Request.Form(items.item())); } } // create the Form + URL string and remove the intial '&' from each of the strings MM_keepBoth = MM_keepURL + MM_keepForm; if (MM_keepBoth.length > 0) MM_keepBoth = MM_keepBoth.substring(1); if (MM_keepURL.length > 0) MM_keepURL = MM_keepURL.substring(1); if (MM_keepForm.length > 0) MM_keepForm = MM_keepForm.substring(1); %> <% // *** Move To Record: set the strings for the first, last, next, and previous links var MM_moveFirst="",MM_moveLast="",MM_moveNext="",MM_movePrev=""; var MM_keepMove = MM_keepBoth; // keep both Form and URL parameters for moves var MM_moveParam = "index"; // if the page has a repeated region, remove 'offset' from the maintained parameters if (MM_size > 1) { MM_moveParam = "offset"; if (MM_keepMove.length > 0) { params = MM_keepMove.split("&"); MM_keepMove = ""; for (var i=0; i < params.length; i++) { var nextItem = params[i].substring(0,params[i].indexOf("=")); if (nextItem.toLowerCase() != MM_moveParam) { MM_keepMove += "&" + params[i]; } } if (MM_keepMove.length > 0) MM_keepMove = MM_keepMove.substring(1); } } // set the strings for the move to links if (MM_keepMove.length > 0) MM_keepMove += "&"; var urlStr = Request.ServerVariables("URL") + "?" + MM_keepMove + MM_moveParam + "="; MM_moveFirst = urlStr + "0"; MM_moveLast = urlStr + "-1"; MM_moveNext = urlStr + (MM_offset + MM_size); MM_movePrev = urlStr + Math.max(MM_offset - MM_size,0); %> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <title>cancella prodotto</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> <style type="text/css"> <!-- .Stile7 {font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; font-weight: bold; color: #FF6600; } .Stile12 {font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; color: #333333; } --> </style> </head> <body> <% while ((Repeat1__numRows-- != 0) && (!elenco.EOF)) { %> <table width="100%" border="0" cellspacing="0" cellpadding="0"> <tr class="Stile7"> <td width="10%">Codice</td> <td width="14%">Località</td> <td width="37%">Descrizione</td> <td width="24%">Foto</td> <td width="15%"></td> </tr> <tr valign="top" class="Stile12"> <td class="Stile12"><%=(elenco.Fields.Item("ID").Value)%></td> <td class="Stile12"><%=(elenco.Fields.Item("localita").Value)%></td> <td class="Stile12"><%=(elenco.Fields.Item("descrizione").Value)%></td> <td class="Stile12">" target="_blank">[img]<%=(elenco.Fields.Item([/img]" border="0" width="102" height="96"></td> <td align="center"><form ACTION="<%=MM_editAction%>" METHOD="POST" name="form1"> <input type="submit" name="Submit" value="Elimina"> <input type="hidden" name="MM_delete" value="form1"> <input type="hidden" name="MM_recordId" value="<%= elenco.Fields.Item("ID").Value %>"> </form></td> </tr> </table> <% Repeat1__index++; elenco.MoveNext(); } %> <span class="Stile12"> <% var TM_endCount=0; for (i = 1; i<=elenco_total; i=i+MM_size){ TM_endCount = i + MM_size - 1; if (TM_endCount > elenco_total) { TM_endCount = elenco_total; } if (i != MM_offset + 1) { Response.Write('<a href="' + urlStr + (i-1) + '">'); Response.Write(i + "-" + TM_endCount + "</a>"); }else{ Response.Write("" + i + "-" + TM_endCount + ""); } if(TM_endCount != elenco_total) Response.Write(" ") } %> </span> </body> </html> <% elenco.Close(); %>

Rispondi quotando