ASP de Split Fonksiyonu ile hotmaildekideki gibi seçilen maillerin silinmesine benzer bir örnek uygulama yapıyoruz

Split ASP ye yeni başlayanların genellikle yabancı oldukalrı bir Fonksiyondur olup bir çok yerde  çok işimize yarar.

Şimdi örnek uygulamda  sitemizin anasayfasında kullanıcıların mail listesine  kayıt olduğu senaryosuna göre hareket edeceğiz.  .

Database Ms Access olsun ve mailleri tutacağımız Tablomuzun adı da     Posta olsun. tablodaki alanlar da aşağıdaki gibi..

Posta :

id :   otomatikSayı
ad:   metin
soyad: metin
eposta : metin
tel : metin
tarih : metin

Şimdi bu mailleri alt alt alta listeleyip yanlarına da birer checkbox koyacağız ancak  bunların hepsini bir While döngüsü içinde yapacağız ,formun action  hedefi olarak da  eposta_sil.asp  ve  method da post yapacağız.

Kodlar :


-----------------------------------------

Split ASP ye yeni başlayanların genellikle yabancı oldukalrı bir Fonksiyondur olup bir çok yerde  çok işimize yarar.
Örnek kullanım :
dim isimler as string
isimler ="ilhan,tuncay,ilkay,meftun,gökahan "

For Each x in Split(isimler,",") // burda isimleri virügle göre ayırdık ve elimizde bir nevi bir dizi  oluşmuş oldu

Response.write (x)&"<br>"

next

yukarıdaki kodun çıktısı :

ilhan           ' // dizinin 0. elemanı
tuncay        '// diziin 1.Elamanı
ilkay        '//dizinin 2.elemanı
meftun    ' //dizinin 3.elemanı
gökhan    '   //dizinin 4.elemanı 

 şeklinde olacaktır.

 

 

Şimdiki  örnek uygulamamızda  sitemizin anasayfasında kullanıcıların mail listesine  kayıt olduğu senaryosuna göre hareket edeceğiz. ,. bu mailleri listeleyip sonra yanlarındaki CheckBox laradan seçikitlerimizi sileceğiz.

Database Ms Access olsun ve mailleri tutacağımız Tablomuzun adı da     posta    olsun. tablodaki alanlar da aşağıdaki gibi..

posta :

id :   otomatikSayı
ad:   metin
soyad: metin
eposta : metin
tel : metin
tarih : metin

Şimdi bu mailleri alt alt alta listeleyip yanlarına da birer checkbox koyacağız ancak  bunların hepsini bir While döngüsü içinde yapacağız ,formun action  hedefi olarak da  eposta_sil.asp  ve  method da post yapacağız.

Kodlar :


   
    <!-- #include File="dbbag.asp"-->

<% set rs=Server.CreateObject("Adodb.Recordset")
rs.Open "Select * from posta order by tarih desc",Baglanti,1,3 %>


<form action="eposta_sil.asp" method="post">
    <table width="90%" border="0" align="center" cellpadding="2" cellspacing="2" bgcolor="#CCCCCC">

      <tr align="center" bgcolor="#0099FF">
        <th colspan="6" bgcolor="#0099FF"><span class="style9">E-Posta Listesi        </span></th>
      </tr>
     
      <% x=1%>
  
   <% while not rs.eof  %>
     
      <tr align="center" bgcolor="#0099FF">
     
  
        <td><%=rs("ad")%></td>
        <td><%=rs("soyad")%></td>
        <td align="center"><%
=rs("eposta")%> </td>
        <td><%=rs("tel")%></td>
        <td><%=rs("tarih")%></td>
        <td>
        <label>
        
  <input name="sil" type="checkbox" id="sil" value="<%=rs("id")%>" /><!--  olayın 1. önemli bölümü bu satır checkbox ın value değerei  epostanın  id si olarak belirtiliyor  , -->
        </label></td>
      </tr>
    
      <%rs.movenext:Wend%>
  </table>
  <table width="90%" border="0" align="center" cellpadding="0" cellspacing="0">
   <tr align="right"><td>
   <input name="silbuton" type="submit" id="silbuton" value="Seçilenleri Sil" /></td></tr></table>
</form>

------------------
ŞİMDİ seçilen maillerin silinceği   eposta_sil.asp  sayfasına geçiyoruz

Kodlar:


<!-- #include File="dbbag.asp"-->

<% sil=Request.Form("sil")

 

For Each x in Split(sil,",")

Baglanti.Execute("delete from posta where id="&x&" ")

next
Response.Redirect("eposta_liste.asp")

------------------------------------------------

 ' eposta sayfamızdan gelen checkbox değerini alıyoruz gelen değer strin ifade şeklinde olacaktır
' örneğin  2,3,4,5,6 gibi . yani her mail adresinin id değeri aralarında (,)virgül olacak şekilde geldi.
' Bizim yapmamız gereken  bu sayıları teker teker alde etmek .
' İşte burda SPLİT fonksiyonu yetişiyor. Slip ile gelen string ifadeyi virgüllere göre ayırıp bir diziye atayacağız
' ve bu dizini eleman sayısını bilmediğimz içinde for Each dönügüsü kullanıyorum.
'Split kullanımı : Split(parçalancakDeger, " Parçalamada kullanılacak karakter ")
'Yani yukarıda  da görüldüğü gibi QuerString den gelen  2,5,6,9,10,23   gibi değerlei virgüllere göre parçalayıp bir dizi elte ediyoruz
' sonuçta  dizi oluşuyor ve dizini elemanaları 2 5 6 9 10 23  oluyor.
'son olarak For Each döngüsü içerisinde veritabanındaki kayıtlarımızdan  kirtere uygun olanları siliyoruz

Kolay Gelsin.

 

 

Bunu beğen
Paylaş

Yorumlar
Yorum Yaz
İsim : (*)
E-mail :
Web Adresi:
:
(*)
 
Kapat