tek formdan gelen 5-10 ayrı veriyi dbdeki ayrı satırlara veya tablolara nasıl yazdırabiliriz? - R10.net
  • 30-09-2010, 10:12:09
    #1
    aslında bunu sadece merak etmekteyim. bir haber grubunda bir arkadaş sormuş. 4 ayrı textbox var ve buraya girilen verileri tek sorguda alt alta dbnin 1'den 4'a kadar olan satırlarına yazdırmak istiyor. id'ler 1'den 4'e kadar. yani bir satıra yan yana yazdırmak yerine

    request.querystring("id1") i db.de 1 id'li satırın X sütununa yazdırmak istiyor
    aynı formdan gelen request.querystring("id2") yi db.de 2 id'li satırın X sütununa yazdırmak istiyor

    benim önerim 4 ayrı satır yerine tek satırda 4 sütuna yazdırması şeklinde oldu. ama merak da etmedim değil. tek seferde 4 kişinin bilgilerinin girildiği bir form düşünelim mesela. bunları nasıl bir kodla aşağıdaki gibi ekletebiliriz?

    id | adi | soyadi | meslegi
    1 | ahmet | yılmaz | gazeteci
    2 | mehmet | solmaz | yazar
    3 | levent | gelmez | çaycı
    4 | burcu | sağlam | serbest meslek

    ve diğer bir sorum, nasıl hangisinin hangi id'ye gidebileceğini belirleyebiliriz. mesela ilk yazılan 1 numaralı id'ye gitsin (id silinmeden), 2. yazılan 3 numaralı idli satırdaki bilgileri silip üstüne yazsın vb. gibi.

    saygılarımla.
    http://www.kitapdefter.com
  • 02-10-2010, 07:00:16
    #2
    Anladığım kadarını açıklayarak yazayım

    Giriş Sayfası:
    <%for i = 1 to 4%>
    <input type="text" name="deger<%=i%>">
    <%next%>

    Burda for döngüsü ile oluşturduğumuz 4 adet input olacak.

    Her bir input 'un değeri for döngüsünün içerisinde olduğundan " i " değerimiz;

    name="deger1"
    name="deger2"
    name="deger3"
    name="deger4"

    diye değerler alacaktır. Yani sayfamızda 4 adet textbox olacak.

    Gelelim kayıt sayfasına:

    <%
    for i = 1 to 4
    degisken = request.form("deger"&i&"")
    set rs = server.createobject("ADODB.recordset")
    sql="select * from tablon"
    rs.open sql,baglantin,1,3
    rs.addnew
    rs("sutunadin") = degisken
    rs.update
    next
    Response.write "Tüm Veriler Başarıyla Kaydedildi!"
    %>

    Aynı yukarıdaki gibi for next döngüsü kullandık burdada.

    Mantığı ise, Formdan gelen 1,2,3 ve 4. veriyi ayrı ayrı alıp yine ayrı ayrı tabloya bağlanıp kayıt ettirdik.

    kısaca özetlemek gerekirse:

    <input type="text" name="deger1"> bunu

    degisken = request.form("deger1") olarak aldı ve veritabanına kaydetti. Ardından deger2 yi, 3ü 4ü kayıt ederek kaydı tamamladı. For next 'in kullanım kolaylığı işte

    Test etmedim ama çalışması lazım. Kolay gelsin..
  • 02-10-2010, 12:29:43
    #3
    teşekkürler. yani tek sorgu içinde halledemiyoruz, her seferinde ayrı ayrı bağlanmış olmak gerekiyor.
    http://www.kitapdefter.com
  • 02-10-2010, 16:59:59
    #4
    Bildiğim kadarıyla hayır. Birden fazla Yeni kayıt eklemek için kaydederken döngü kullanmak gerekiyor.