implant


  Aktif KonularAktif Konular  Forum Üyelerini GösterÜye Listesi  Forumu AraArama  YardımYardım
  Kayıt OlKayıt Ol  GirişGiriş
ASP
 ASPTurkiye.com Forum : ASP
Konu Konu: split ile bölmek Yanıt YazYeni Konu Gönder
Yazanlarda
Mesaj << Önceki Konu | Sonraki Konu >>
jeton
Yeni Üye
Yeni Üye


Kayıt Tarihi: 30-Ocak-2006
Gönderilenler: 11
Gönderen: 14-Mayıs-2012 Saat 14:50 | Kayıtlı IP Alıntı jeton

aslında arkadaslar forumda baska konu acmıstım ama mevcut
mantıktan vazgectim... yerine baska birsey yapmaya karar
verdim o sebeple yeni baslık acmam gerektiğini dusundum


veritabanında siparisler isimli tablomda

uyead
urunadi
adet
kargo
gibi sutunlar var

bunların herbiri içinde birbirinden virgulle ayrılmıs
urun adı , adet, kargo

bilgileri kayıtlı

örnek:


bunları asagıdaki kodlamaya göre split ile nasıl bölüp
duzenli listeleyebilirim
--------------------------

b_sql = Empty
b_sql = b_sql & " SELECT * FROM siparisler"
b_sql = b_sql & " ORDER BY ID desc"


<td height="90">
<table width="944">
<tr>
<td width="201"><%=Rec("uyead")%></td>
<td width="526"><%=Rec("urunad")%></td>
<td width="152"><%=Rec("adet")%></td>
<td width="260"><%=Rec("kargo")%></td>
</tr>
</table></td>


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



teşekkürler
Yukarı Dön Göster jeton's Özellikler Diğer Mesajlarını Ara: jeton
 
fanatik
Üye
Üye


Kayıt Tarihi: 11-Nisan-2012
Gönderilenler: 81
Gönderen: 14-Mayıs-2012 Saat 22:11 | Kayıtlı IP Alıntı fanatik

Diğer konuya cevap veriştim. Normalizasyon kuralı ile yapılması profosyonel yazılımcı olmak için şarttır.

buna da cevap verelim.

<%
Dim UrunlerSplit
Dim AdetSplit
Dim UrunlerSplit
'değişkenlerin en üste tanımlanması fonksiyon dısında değişkenlere erray olarak erişebilmeni sağlamaktadır.

'Class/function/method tanımlamak da bir yazılım kuralıdır.
'fonksiyon kodunu sayfanın en üstüne yerleştir.


 Function SatisSplit(RsUrun,RsAdet,RsKargo)
  UrunlerSplit     = Split((RsUrunler),",")
  AdetSplit      = Split((RsAdet),",")
  KargoSplit      = Split((RsKargo),",")
   For i = 0 to Ubount(UrunlerSplit)
    SatisSplit = SatisSplit & UrunlerSplit(i) & "Adlı urunden "& AdetSplit(i) & " Adet" & KargoSplit(i) & " Kargoya<br />"
   Next
 End Function
%>

'Kullanımı

b_sql = Empty
b_sql = b_sql & " SELECT * FROM siparisler"
b_sql = b_sql & " ORDER BY ID desc"
'BU ARADA SQL Sorguları bu şekilde kullanılmaz.

<%= SatisSplit(Rec("urunad"),Rec("adet"),Rec("kargo")) %>



__________________
http://www.googledostu.com
Türk Sosyal İmleme Sitesi
Yukarı Dön Göster fanatik's Özellikler Diğer Mesajlarını Ara: fanatik Ziyaret fanatik's Ana Sayfa
 
jeton
Yeni Üye
Yeni Üye


Kayıt Tarihi: 30-Ocak-2006
Gönderilenler: 11
Gönderen: 15-Mayıs-2012 Saat 13:16 | Kayıtlı IP Alıntı jeton

fanatik hocam dediğinizi yaptı ama sonuc degismedi

daha iyi izah edebilmem icin örnegi göstermek istiyorum
bu siparisler isimli tablo





buda siparisler.asp nin nasıl göründüğü




buda siparisler.asp kodları


---------------------------------------------
<%
Dim UrunlerSplit
Dim AdetSplit


Function SatisSplit(RsUrun,RsAdet,RsKargo)
UrunlerSplit     = Split((RsUrunler),",")
AdetSplit      = Split((RsAdet),",")
KargoSplit      = Split((RsKargo),",")
   For i = 0 to Ubount(UrunlerSplit)
    SatisSplit = SatisSplit & UrunlerSplit(i) & "Adlı
urunden "& AdetSplit(i) & " Adet" & KargoSplit(i) & "
Kargoya<br />"
   Next
End Function
%>
<%
b_sql = Empty
b_sql = b_sql & " SELECT * FROM siparisler"
b_sql = b_sql & " ORDER BY ID desc"
Set Rec = Server.CreateObject("ADODB.RecordSet")
Rec.Open b_sql,Conn,1,3
If Not Rec.EOF Then
pg = Trim(Request.QueryString("pg"))
If pg = "" Or IsNumeric(pg) = False Then pg = 1
Rec.PageSize = 8
Rec.AbsolutePage = pg
%>

   
<p> </p>
<div align="center">
<table width="83%" cellpadding="0" cellspacing="0"
align="center">
<tr>
          
<%
For I = 1 to Rec.PageSize
%>
   
<table width="800">
<tr>
    <td width="270"> <%=Rec("uyead")%> </td>
    <td width="329"><%=Rec("urunad")%> </td>
    <td width="235"><%=Rec("adet")%> </td>
    <td width="179"><%=Rec("kargo")%> </td>
</tr>
</table>


<%
IF (I MOD 4) = 0 Then Response.Write "</tr><tr><td
height=""1"" colpspan=""5""></td></tr><tr>"
Rec.MoveNext
If Rec.EOF Then Exit For
Next
%>
</tr>
</table>

<% if not pg-1 <= 0 Then%>
<a href="?pg=<%=pg-1%>&islem=urunler&KatID=
<%=KatID%>" style="color:666666"> <img
src="images/geri.jpg" align="absmiddle" /></a>
<%End if %>
<% For i =1 to Rec.PageCount%>
<a href="?pg=<%=i%>&islem=urunler&KatID=
<%=KatID%>" style="color:666666"><b><%=i & " "%></b>
</a>
<%Next%>
<% if not pg+1 > Rec.PageCount Then%>
<a href="?pg=<%=pg+1%>&islem=urunler&KatID=
<%=KatID%>" style="color:666666"><img
src="images/ileri.jpg" align="absmiddle" /></a>
<%end if%>
</div>
<p align="center">
Sayfa Numarası: <b><%=pg%>.</b> Sayfadasınız...
                   
<%
Else
Response.Write "Siparis Yok"     
End IF
Set Rec = Nothing
%>

---------------------------------------------
ben istiyorum ki uyenin adı yazsın yanına siparis ettiği
urunler alt alta görünsün karsılarında da kac adet
siparis vermis ve kargo bedavamı ücretlimi o yazsın...

yardımcı olursanız sevinirim..

tesekkurler
Yukarı Dön Göster jeton's Özellikler Diğer Mesajlarını Ara: jeton
 
fanatik
Üye
Üye


Kayıt Tarihi: 11-Nisan-2012
Gönderilenler: 81
Gönderen: 15-Mayıs-2012 Saat 15:47 | Kayıtlı IP Alıntı fanatik

<%= SatisSplit(Rec("urunad"),Rec("adet"),Rec("kargo")) %>

 

Fonksiyonu bu sekilde kullanacaksın

 

1- )Tanımlamada Dim UrunlerSplit satırı eksik
2-)Fonksiyonu bu sekilde kullanacaksın <%= SatisSplit(Rec("urunad"),Rec("adet"),Rec("kargo")) %>

3-)
<table width="800">
<tr>
<td width="270"> <%=Rec("uyead")%> </td>
<td width="329"><%=Rec("urunad")%> </td>
<td width="235"><%=Rec("adet")%> </td>
<td width="179"><%=Rec("kargo")%> </td>
</tr>


</table>


Yerine

<table width="800">
<tr>
<td width="270"> <%=Rec("uyead")%> </td>
<td width=""><%= SatisSplit(Rec("urunad"),Rec("adet"),Rec("kargo")) %></td>
</tr>
</table>

4-) virgul sayısına göre işlem yapıldıgı için ürün,adet ve kargo bilgileri virgulle kaydedilmeli
örnek olarak bir adet x malı y kargosuna
urunler = x,
adet = 1,
kargo = y,
şeklinde kayıt yapılmalı.



Düzenleyen fanatik 15-Mayıs-2012 Saat 15:52


__________________
http://www.googledostu.com
Türk Sosyal İmleme Sitesi
Yukarı Dön Göster fanatik's Özellikler Diğer Mesajlarını Ara: fanatik Ziyaret fanatik's Ana Sayfa
 
jeton
Yeni Üye
Yeni Üye


Kayıt Tarihi: 30-Ocak-2006
Gönderilenler: 11
Gönderen: 15-Mayıs-2012 Saat 16:24 | Kayıtlı IP Alıntı jeton

önce tesekkur ederim fakat şimdi şu hatayı verdi



Microsoft VBScript runtime error '800a000d'

Type mismatch: 'Ubount'

siparisler.asp, line 11

-----------------
şu satır

For i = 0 to Ubount(UrunlerSplit)
-----------------


nette baktım net birşey bulamadım
Yukarı Dön Göster jeton's Özellikler Diğer Mesajlarını Ara: jeton
 
fanatik
Üye
Üye


Kayıt Tarihi: 11-Nisan-2012
Gönderilenler: 81
Gönderen: 15-Mayıs-2012 Saat 19:23 | Kayıtlı IP Alıntı fanatik

4-) virgul sayısına göre işlem yapıldıgı için ürün,adet ve kargo bilgileri virgulle kaydedilmeli
örnek olarak bir adet x malı y kargosuna
urunler = x,
adet = 1,
kargo = y,
şeklinde kayıt yapılmalı.

Virgul bulamadı diyor.



__________________
http://www.googledostu.com
Türk Sosyal İmleme Sitesi
Yukarı Dön Göster fanatik's Özellikler Diğer Mesajlarını Ara: fanatik Ziyaret fanatik's Ana Sayfa
 
jeton
Yeni Üye
Yeni Üye


Kayıt Tarihi: 30-Ocak-2006
Gönderilenler: 11
Gönderen: 15-Mayıs-2012 Saat 22:29 | Kayıtlı IP Alıntı jeton

virgül bulamadı demissiniz ancak siparisler
tablosunda(yukarıda resmi var) verilerin arasında virgül
var .. ben mi yanlış anladım durumu bilemiyorum???!!
Yukarı Dön Göster jeton's Özellikler Diğer Mesajlarını Ara: jeton
 
fanatik
Üye
Üye


Kayıt Tarihi: 11-Nisan-2012
Gönderilenler: 81
Gönderen: 16-Mayıs-2012 Saat 00:00 | Kayıtlı IP Alıntı fanatik

4 kez cevap yazıyorum 4 ünde de aynı cumleler var.
kopyala yapıştır yapmak yerine anlamak için çaba göster.
Bu son cevabım.


virgul sayısına göre işlem yapıldıgı için ürün,adet ve kargo bilgileri virgulle kaydedilmeli
örnek olarak bir adet x malı y kargosuna
urunler = x,
adet = 1,
kargo = y,
şeklinde kayıt yapılmalı.

156 kayıtta UrunAd adet ve kargo alanlarında irgul yok. kayıtların sonuna virgül gelmeli.

157. kayıtta 2 adet ürün kaydedilmiş oysa 1 virgül var gene aynı sekilde kayıtların sonuna virgül gelecek
yani virgüller aralarda ve sonlarda olacak.

 



Düzenleyen fanatik 16-Mayıs-2012 Saat 00:02


__________________
http://www.googledostu.com
Türk Sosyal İmleme Sitesi
Yukarı Dön Göster fanatik's Özellikler Diğer Mesajlarını Ara: fanatik Ziyaret fanatik's Ana Sayfa
 
jeton
Yeni Üye
Yeni Üye


Kayıt Tarihi: 30-Ocak-2006
Gönderilenler: 11
Gönderen: 16-Mayıs-2012 Saat 00:45 | Kayıtlı IP Alıntı jeton

fanatik hocam son mesajım demişsiniz ben yinede teşekkür
ederim.. dediğinizi anladım ve siparisler tablosunda her
siparisin her adedin her kargo durumunun sonuna virgül
koydum ancak yine aynı satırda aynı hatayı verdi...

dediğim gibi yinede zahmet edip yardım etmeye
calıstıgınız icin tesekkur ederim...

not1: derdim hic kopyala yapıstır olmadı anlamaya gayret
ettim , mantıgını anlamadan
bisey yapmak istemedim.. kendi basıma ögrenmeye gayret
ediyorum bu nedenle bu kadar cok sorup yardım istedim...

not2:verdiği hatanın sebebi virgül degil Ubound
kelimesiini yazılımındaymıs bende cok sonra farkettim
ancak kelimeyi düzgün yazınca hata vermemesine ragmen
halen sonuc alamadım uzerinde calısacagım


tesekkurler.....

Düzenleyen jeton 16-Mayıs-2012 Saat 09:29
Yukarı Dön Göster jeton's Özellikler Diğer Mesajlarını Ara: jeton
 
fanatik
Üye
Üye


Kayıt Tarihi: 11-Nisan-2012
Gönderilenler: 81
Gönderen: 16-Mayıs-2012 Saat 12:15 | Kayıtlı IP Alıntı fanatik

For i = 0 to int(Ubound(UrunlerSplit))-1

şu şekilde düzenlersen sorun düzelir.

 

ornek veriyorum 2 virgul bulundu.

0 dan basladığı için 0 - 1 - 2  değerleri için işlem yapacaktır.
Yani yapmaya calıştığı işlem sayısı 3 olacaktır.

-1 dediğimizde 2 virgül için 2 işlem yapacaktır. böylece virgülün bulunmama sorun u ortadan kalkacaktır.

 



Düzenleyen fanatik 16-Mayıs-2012 Saat 12:19


__________________
http://www.googledostu.com
Türk Sosyal İmleme Sitesi
Yukarı Dön Göster fanatik's Özellikler Diğer Mesajlarını Ara: fanatik Ziyaret fanatik's Ana Sayfa
 

Eğer Bu Konuya Cevap Yazmak İstiyorsanız İlk Önce Giriş
Eğer Kayıtlı Bir Kullanıcı Değilseniz İlk Önce Kayıt Olmalısınız

  Yanıt YazYeni Konu Gönder
Yazıcı Sürümü Yazıcı Sürümü

Forum Atla
Kapalı Foruma Yeni Konu Gönderme
Kapalı Forumdaki Konulara Cevap Yazma
Kapalı Forumda Cevapları Silme
Kapalı Forumdaki Cevapları Düzenleme
Kapalı Forumda Anket Açma
Açık Forumda Anketlerde Oy Kullanma

Powered by Web Wiz Forums version 7.91
Copyright ©2001-2004 Web Wiz Guide

Bu Sayfa 0,1094 Saniyede Yüklendi.