• 30-07-2009, 12:35:03
    #1
    Merhabalar ,

    Normal olarak kategori listeleme vs yapabiliyorum ürünlerimi listelerken velakin sistemi biraz daha değiştirip kategorinin birde alt kategorisini yapmam gerekiyor sorunda burada başlıyor.

    Bunu çözebilmek için tam olarak nasıl bir yol izlemeliyim gerek yönetim paneli konusunda gerekse kullanıcı arayüzü konusunda gereksede veritabanı konusunda ...

    Kategoriletme Örneğim

    <%
    Set rs = Server.CreateObjecT("ADODB.RecordSet")
    rSQL = "select * from urunler where kategori=" & request.QueryString("id") & " order by id desc"
    rs.open rSQL,Connection,3,3
    ya=1
    al=1
    for al=1 to 1000
    if rs.eof then exit for
    %>
                                  <td width="110" height="100" align="center"><table border="0" width="100%">
                                    <tr>
                                      <td><strong><a href="urundetay.asp?id=<%=rs("id")%>"><%=rs("isim")%></a></strong></td>
                                    </tr>
                                    <tr>
                                      <td><a href="urundetay.asp?id=<%=rs("id")%>"><img src="<%=rs("resim")%>" alt="<%=rs("resim")%>" width="248" height="153" border="0"></a></td>
                                    </tr>
                                  </table></td>
                                  <%
    rs.movenext
    ya=ya+1
    if ya=3 then
    ya=1
    %>
                                </tr>
                                <tr>
                                  <%
    end if
    next
    rs.close
    %>
                                </tr>
                              </table>
    Buradaki de Yönetim Panelindeki Ürünler ve Kategori Ekleme vs Ayarlarım

     
    <table align="center" border="0" cellpadding="0" cellspacing="0" width="820">
      <tbody>
        <tr>
          <td bgcolor="#ffffff" height="13"><!--#include file="ust.asp"-->
            <table align="center" border="0" cellpadding="0" cellspacing="0" width="860">
              <tbody>
                <tr>
                  <td bgcolor="#ffffff" height="269" valign="top" width="267"><table width="100%"  border="0">
                    <tr>
                      <td><table width="100%" border="0">
                        <tr>
                          <td width="18" height="13" align="center" valign="middle"><strong>&nbsp;&raquo;</strong></td>
                          <td width="158" align="left" valign="middle"><a href="urunler.asp?islem=urunekle"><strong>&Uuml;r&uuml;n Ekle</strong></a></td>
                          <td width="12" align="left" valign="middle"></td>
                        </tr>
                        <tr>
                          <td width="18" height="13" align="center" valign="middle"><strong>&nbsp;&raquo;</strong></td>
                          <td width="158" align="left" valign="middle"><a href="urunler.asp?islem=urunkatekle"><strong>&Uuml;r&uuml;n Kategori Ekle</strong></a></td>
                          <td width="12" align="left" valign="middle"></td>
                        </tr>
                      </table></td>
                    </tr>
                    <tr>
                      <td><hr></td>
                    </tr>
                  </table>
                    <br>
                    <!--#include file="sol.asp"--></td>
                  <td background="img/ara_bg.jpg" bgcolor="#ffffff" width="5">&nbsp;</td>
                  <td bgcolor="#ffffff" valign="top" width="550"><table align="center" border="0" cellpadding="0" cellspacing="0" width="100%">
                    <tbody>
                      <tr>
                        <td><%
    if request.QueryString("islem")="urunsil" then
    Set rec = Server.CreateObjecT("ADODB.RecordSet")
    rSQL = "Delete FROM urunler WHERE id=" & (request.QueryString("ID"))
    rec.open rSQL,Connection,3,3
    end if
    %>
                          <%
    if request.QueryString("islem")="urunkategorisil" then
    Set rec = Server.CreateObjecT("ADODB.RecordSet")
    rSQL = "Delete FROM urunkategoriler WHERE id=" & (request.QueryString("ID"))
    rec.open rSQL,Connection,3,3
    end if
    %>
                          <%
    if request.QueryString("islem")="urun2" and request.Form("isim")<>"" then
    Set rec = Server.CreateObjecT("ADODB.RecordSet")
    rSQL = "Select * FROM urunler Where id=" & request.QueryString("id")
    rec.open rSQL,Connection,3,3
    rec("isim")=request.Form("isim")
    rec("fiyat")=request.Form("fiyat")
    rec("aciklama")=request.Form("aciklama")
    rec("resim")=request.Form("resim")
    rec("kategori")=request.Form("kategori")
    rec.update
    durum="&Uuml;r&uuml;n Başarılı Bir Şekilde D&uuml;zenlendi."
    response.Redirect("urunler.asp")
    end if
    if request.QueryString("islem")="urun" then
    %>
                          <form method="post" action="urunler.asp?islem=urun2&id=<%=request.QueryString("id")%>">
                            <%
    Set rec = Server.CreateObjecT("ADODB.RecordSet")
    rSQL = "Select * FROM urunler Where id=" & request.QueryString("id")
    rec.open rSQL,Connection,3,3
    %>
                            <table border="0" width="100%">
                              <tr>
                                <td align="left">&Uuml;r&uuml;n Başlığı:</td>
                                <td width="442"><input style="font-family: verdana; font-size: 8pt; color: #000000; border: 1 solid #525454" value="<%=rec("isim")%>" name="isim" type="text" id="isim" size="42"></td>
                              </tr>
                              <tr>
                                <td align="left">&Uuml;r&uuml;n &Uuml;creti:</td>
                                <td width="442"><input style="font-family: verdana; font-size: 8pt; color: #000000; border: 1 solid #525454" value="<%=rec("fiyat")%>" name="fiyat" type="text" id="fiyat" size="42"></td>
                              </tr>
                              <tr>
                                <td align="left">&Uuml;r&uuml;n Resmi (url):</td>
                                <td width="442"><input style="font-family: verdana; font-size: 8pt; color: #000000; border: 1 solid #525454" value="<%=rec("resim")%>" name="resim" type="text" id="resim" size="42"></td>
                              </tr>
                              <tr>
                                <td align="left">&Uuml;r&uuml;n A&ccedil;ıklaması:</td>
                                <td width="442"><textarea style="font-family: verdana; font-size: 8pt; color: #000000; border: 1 solid #525454" name="aciklama" id="aciklama" rows="9" cols="40"><%=Server.HTMLEncode(rec("aciklama"))%></textarea></td>
                              </tr>
                              <tr>
                                <td align="left">Kategori:</td>
                                <td width="442"><select style="font-family: verdana; font-size: 8pt; color: #000000; border: 1 solid #525454" name="kategori" id="kategori">
                                  <option selected value="<%=rec("kategori")%>"><%=rec("kategori")%></option>
                                  <%
    Set rec = Server.CreateObjecT("ADODB.RecordSet")
    rSQL = "Select * FROM urunkategoriler ORDER BY id ASC"
    rec.open rSQL,Connection,3,3
    do while (not rec.eof)
    %>
                                  <option value="<%=rec("ID")%>"><%=rec("isim")%> (<%=rec("ID")%>)</option>
                                  <%
    rec.movenext
    Loop
    %>
                                </select></td>
                              </tr>
                              <tr>
                                <td align="right">&nbsp;</td>
                                <td width="442"><input style="font-family: verdana; font-size: 8pt; color: #000000; border: 1 solid #525454" type="submit" name="Submit" value="  Kaydet  "></td>
                              </tr>
                            </table>
                            <br>
                          </form>
                          <%end if%>
                          <%
    if request.QueryString("islem")="urunekle3" then
    %>
                          <%=durum%>
                          <%
    end if
    if request.QueryString("islem")="urunekle2" and request.Form("isim")<>"" then
    
    Set rec = Server.CreateObjecT("ADODB.RecordSet")
    rSQL = "Select * FROM urunler"
    rec.open rSQL,Connection,3,3
    rec.addnew
    rec("isim")=request.Form("isim")
    rec("fiyat")=request.Form("fiyat")
    rec("resim")=request.Form("resim")
    rec("aciklama")=request.Form("aciklama")
    rec("kategori")=request.Form("kategori")
    rec.update
    response.Redirect("urunler.asp?islem=urunekle3")
    end if
    
    if request.QueryString("islem")="urunekle" then
    %>
                          <form method="post" action="urunler.asp?islem=urunekle2">
                            <table border="0" width="100%">
                              <tr>
                                <td align="left">&Uuml;r&uuml;n Başlığı:</td>
                                <td width="442"><input style="font-family: verdana; font-size: 8pt; color: #000000; border: 1 solid #525454" name="isim2" type="text" id="isim" size="42"></td>
                              </tr>
                              <tr>
                                <td align="left">&Uuml;r&uuml;n &Uuml;creti:</td>
                                <td width="442"><input style="font-family: verdana; font-size: 8pt; color: #000000; border: 1 solid #525454" name="fiyat" type="text" id="fiyat" size="42"></td>
                              </tr>
                              <tr>
                                <td align="left">&Uuml;r&uuml;n Resmi (url):</td>
                                <td width="442"><input style="font-family: verdana; font-size: 8pt; color: #000000; border: 1 solid #525454" name="resim" type="text" id="resim" size="42">
                                  <script language="javascript" type="text/javascript">
    <!--
    function opendetailwindow() {
    window.open('','detailwindow','toolbar=no,scrollbars=yes,resizable=yes,width=400,height=150');
    }
    // -->
          </script>
                                  <a onClick="opendetailwindow()" target="detailwindow" href="resimyukle.asp">G&ouml;zat</a></td>
                              </tr>
                              <tr>
                                <td align="left">&Uuml;r&uuml;n A&ccedil;ıklaması:</td>
                                <td width="442"><textarea style="font-family: verdana; font-size: 8pt; color: #000000; border: 1 solid #525454" name="aciklama" id="aciklama" rows="9" cols="40"></textarea></td>
                              </tr>
                              <tr>
                                <td align="left">Kategori:</td>
                                <td width="442"><select style="font-family: verdana; font-size: 8pt; color: #000000; border: 1 solid #525454" name="kategori" id="kategori">
                                  <%
    Set rec = Server.CreateObjecT("ADODB.RecordSet")
    rSQL = "Select * FROM urunkategoriler ORDER BY id ASC"
    rec.open rSQL,Connection,3,3
    do while (not rec.eof)
    %>
                                  <option value="<%=rec("ID")%>"><%=rec("isim")%></option>
                                  <%
    rec.movenext
    Loop
    %>
                                </select></td>
                              </tr>
                              <tr>
                                <td align="right">&nbsp;</td>
                                <td width="442"><input style="font-family: verdana; font-size: 8pt; color: #000000; border: 1 solid #525454" type="submit" name="Submit" value="  Kaydet  "></td>
                              </tr>
                            </table>
                          </form>
                          <br>
                          <%end if%>
                          <%
    if request.QueryString("islem")="urunkat2" and request.Form("isim")<>"" then
    Set rec = Server.CreateObjecT("ADODB.RecordSet")
    rSQL = "Select * FROM urunkategoriler Where id=" & request.QueryString("id")
    rec.open rSQL,Connection,3,3
    rec("isim")=request.Form("isim")
    rec("resim")=request.Form("resim")
    rec("sira")=request.Form("sira")
    
    rec.update
    durum="Kategori Başarılı Bir Şekilde D&uuml;zenlendi."
    response.Redirect("urunler.asp")
    end if
    if request.QueryString("islem")="urunkat" then
    %>
                          <form method="post" action="urunler.asp?islem=urunkat2&id=<%=request.QueryString("id")%>">
                            <%
    Set rec = Server.CreateObjecT("ADODB.RecordSet")
    rSQL = "Select * FROM urunkategoriler Where id=" & request.QueryString("id")
    rec.open rSQL,Connection,3,3
    %>
                            <table border="0" width="100%">
                              <tr>
                                <td align="left">Kategori ismi:</td>
                                <td width="442"><input style="font-family: verdana; font-size: 8pt; color: #000000; border: 1 solid #525454" value="<%=rec("isim")%>" name="isim2" type="text" id="isim" size="42"></td>
                              </tr>
                              <tr>
                                <td align="left">Kategori resmii:</td>
                                <td><input style="font-family: verdana; font-size: 8pt; color: #000000; border: 1 solid #525454" value="<%=rec("resim")%>" name="resim2" type="text" id="resim4" size="42" /></td>
                              </tr>
                              <tr>
                                <td align="left">Sıra</td>
                                <td><select name="sira" id="sira">
                                  <option selected="selected" id="<%=rec("sira")%>"><%=rec("sira")%></option>
                                  <%for i=1 to 300%>
                                  <option id="<%=i%>2"><%=i%></option>
                                  <%next%>
                                </select>
                                  <br /></td>
                              </tr>
                              <tr>
                                <td align="right">&nbsp;</td>
                                <td width="442"><input style="font-family: verdana; font-size: 8pt; color: #000000; border: 1 solid #525454" type="submit" name="Submit" value="  Kaydet  "></td>
                              </tr>
                            </table>
                            <br>
                          </form>
                          <%end if%>
                          <%
    if request.QueryString("islem")="urunkatekle3" then
    %>
                          <%=durum%>
                          <%
    end if
    if request.QueryString("islem")="urunkatekle2" and request.Form("isim")<>"" then
    
    Set rec = Server.CreateObjecT("ADODB.RecordSet")
    rSQL = "Select * FROM urunkategoriler"
    rec.open rSQL,Connection,3,3
    rec.addnew
    rec("isim")=request.Form("isim")
    rec("sira")=request.Form("sira")
    
    rec("resim")=request.Form("resim")
    rec.update
    response.Redirect("urunler.asp?islem=urunkatekle3")
    end if
    
    if request.QueryString("islem")="urunkatekle" then
    %>
                          <form method="post" action="urunler.asp?islem=urunkatekle2">
                            <table border="0" width="100%">
                              <tr>
                                <td align="left">Kategori ismi:</td>
                                <td width="442"><input style="font-family: verdana; font-size: 8pt; color: #000000; border: 1 solid #525454" name="isim2" type="text" id="isim" size="42"></td>
                              </tr>
                              <tr>
                                <td align="left">Kategor resmi : :</td>
                                <td width="442"><input style="font-family: verdana; font-size: 8pt; color: #000000; border: 1 solid #525454" name="resim" type="text" id="resim" size="42"></td>
                              </tr>
                              <tr>
                                <td align="left">Sıra</td>
                                <td><select name="sira" id="sira">
                                  <%for i=1 to 300%>
                                  <option id="<%=i%>"><%=i%></option>
                                  <%next%>
                                </select>
                                  <br /></td>
                              </tr>
                              <tr>
                                <td align="right">&nbsp;</td>
                                <td width="442"><input style="font-family: verdana; font-size: 8pt; color: #000000; border: 1 solid #525454" type="submit" name="Submit" value="  Kaydet  "></td>
                              </tr>
                            </table>
                          </form>
                          <br>
                          <%end if%>
                          <b>&Uuml;r&uuml;nler</b>
                          <%
    Set rec = Server.CreateObjecT("ADODB.RecordSet")
    rSQL = "Select * FROM urunler ORDER BY id DESC"
    rec.open rSQL,Connection,3,3 
    If (not rec.eof) then
    sayfaduzlananurun = Request.QueryString("sayfaduzlananurun")
    If sayfaduzlananurun="" Then sayfaduzlananurun=1
    rec.pagesize = 5
    rec.absolutepage = sayfaduzlananurun
    sayfa_sayisi = rec.pagecount
    for i=1 to rec.pagesize
    if rec.eof then 
    exit for 
    end if
    %>
                          <table bgcolor="#FFFFFF" width="100%" border="0" cellpadding="0" cellspacing="0">
                            <tr>
                              <td width="863" height="26" align="left" valign="middle">&nbsp; <%=server.htmlencode(rec("isim"))%></td>
                              <td width="130" height="26" align="center" valign="middle"><a href="urunler.asp?islem=urun&id=<%=rec("id")%>">D&uuml;zenle</a></td>
                              <td width="119" align="center" valign="middle"><a href="urunler.asp?islem=urunsil&id=<%=rec("id")%>">Sil</a></td>
                            </tr>
                          </table>
                          <br>
                          <%
    rec.movenext 
    Next
    end if
    onceki = cint(sayfaduzlananurun) - 1
    sonraki = cint(sayfaduzlananurun) + 1
    if onceki < 1 then
    response.write ""
    else
    response.write "&nbsp;<a href=urunler.asp?sayfaduzlananurun=" & onceki & "&id=" & request.QueryString("id") & ">Geri </a>"
    end if
    for g = 1 to sayfa_sayisi
    if g = cint(sayfaduzlananurun ) then
    response.write "["
    response.write g& "]"
    else
    response.Write "<a href=urunler.asp?sayfaduzlananurun=" & g & "&id=" & request.QueryString("id") & ">" & g & "</a> "
    end if
    next
    if sonraki > sayfa_sayisi then
    response.write ""
    else
    response.write "<a href=urunler.asp?sayfaduzlananurun=" & sonraki & "&id=" & request.QueryString("id") & "> İleri</a>" 
    end if
    %>
                          <br>
                          <b>&Uuml;r&uuml;n Kategorileri</b>
                          <%
    Set rec = Server.CreateObjecT("ADODB.RecordSet")
    rSQL = "Select * FROM urunkategoriler ORDER BY id DESC"
    rec.open rSQL,Connection,3,3 
    If (not rec.eof) then
    sayfakatlananurun = Request.QueryString("sayfakatlananurun")
    If sayfakatlananurun="" Then sayfakatlananurun=1
    rec.pagesize = 5
    rec.absolutepage = sayfakatlananurun
    sayfa_sayisi = rec.pagecount
    for i=1 to rec.pagesize
    if rec.eof then 
    exit for 
    end if
    %>
                          <table bgcolor="#FFFFFF" width="100%" border="0" cellpadding="0" cellspacing="0">
                            <tr>
                              <td width="863" height="26" align="left" valign="middle">&nbsp; <%=server.htmlencode(rec("isim"))%></td>
                              <td width="130" height="26" align="center" valign="middle"><a href="urunler.asp?islem=urunkat&id=<%=rec("id")%>" class="sira">D&uuml;zenle</a></td>
                              <td width="119" align="center" valign="middle"><a href="urunler.asp?islem=urunkategorisil&id=<%=rec("id")%>">Sil</a></td>
                              <td width="119" align="center" valign="middle"><span class="sira">Sıra :</span> <%=rec("sira")%></td>
                            </tr>
                          </table>
                          <br>
                          <%
    rec.movenext 
    Next
    end if
    onceki = cint(sayfakatlananurun) - 1
    sonraki = cint(sayfakatlananurun) + 1
    if onceki < 1 then
    response.write ""
    else
    response.write "&nbsp;<a href=urunler.asp?sayfakatlananurun=" & onceki & "&id=" & request.QueryString("id") & ">Geri </a>"
    end if
    for g = 1 to sayfa_sayisi
    if g = cint(sayfakatlananurun ) then
    response.write "["
    response.write g& "]"
    else
    response.Write "<a href=urunler.asp?sayfakatlananurun=" & g & "&id=" & request.QueryString("id") & ">" & g & "</a> "
    end if
    next
    if sonraki > sayfa_sayisi then
    response.write ""
    else
    response.write "<a href=urunler.asp?sayfakatlananurun=" & sonraki & "&id=" & request.QueryString("id") & "> İleri</a>" 
    end if
    %></td>
                      </tr>
                    </tbody>
                  </table></td>
                </tr>
              </tbody>
            </table></td>
        </tr>
      </tbody>
    </table>

    Buna benzer veya bunun dışında örnek bir uygulama elinizde mevcutsa

    Kategori
    * Altkategori


    şeklinde bir uygulamanız mevcutsa örnek olarak ekleyebilirseniz sevinirim ...
  • 30-07-2009, 16:24:42
    #2
    şuanda yoğun oldugumdan örnek ekleyemiyorum fakat basit bir şekilde mantığını anlatıyım

    her kategorine bir katid vermelisin öncelikle

    daha sonra bir altkat adında tablo olusturup buraya alt kategolerini girmen gerekir.

    daha sonra alt kategorilerini listeletmen için bir sayfa işini görür.
    sayfa içeriği olarakta kategoriye tıklandıgında altkat tablosundan gelen katid sine uygun olanları kategori adının altında listeleteceksin.

    basit olarak mantığı bu şekilde çalışmaktadır.

    boş vakit bulduğumda bir örnek eklerim.
  • 30-07-2009, 20:19:50
    #3
    diray67 adlı üyeden alıntı: mesajı görüntüle
    şuanda yoğun oldugumdan örnek ekleyemiyorum fakat basit bir şekilde mantığını anlatıyım

    her kategorine bir katid vermelisin öncelikle

    daha sonra bir altkat adında tablo olusturup buraya alt kategolerini girmen gerekir.

    daha sonra alt kategorilerini listeletmen için bir sayfa işini görür.
    sayfa içeriği olarakta kategoriye tıklandıgında altkat tablosundan gelen katid sine uygun olanları kategori adının altında listeleteceksin.

    basit olarak mantığı bu şekilde çalışmaktadır.

    boş vakit bulduğumda bir örnek eklerim.
    ilgin için teşekkürler boş vaktinde örnek bir uygulama yazarsan sevinirim , bakalım bu akşam bir aksilik çıkmazsa mantığı programlamaya dökmeye çalışacağım ...
  • 04-08-2009, 01:11:21
    #4
    #kategori
    --------------------------------------
    id baslik anakatid
    -------------------------------------
    1 Macera 0
    2 Aksiyon 0
    3 Sonic 1


    Kategori tablonun içeriği yukarıdaki gibi olmalıdır. anakatid 0 ise anakategoridir. ama 0 dan büyükse altkategoridir. Ve anakatid değeri alt kategorinin bağlı oldupu ana kategorinin id değeridir.

    Örneğin; Sonic kategorisi Macera kategorisinin alt kategorisidir.