שלח תשובה

זירת השאלות

1610
צפיות
4
תשובות

מערכת ASP ניהול אתר

,‏ 28 ביולי, 2008

יש לי בעיה ואם מישהו יכול לעזור לי

אז ככה יש לי מערכת מין חדשות שהיא מערכת עידכון

של האתר שלי עשיתי מערכת ניהול אם קוד אבל הוא מציג לי

את זה שורה שורה ואני רוצה שהוא יציג לפחות שתיים שלוש בשורה הנה הקוד שלי:

<% @ Language=VBScript codepage = "1255" %>


<html dir=rtl>
<head>









<meta http-equiv="Content-Language" content="he">
<meta name="GENERATOR" content="Microsoft FrontPage 6.0">
<meta name="ProgId" content="FrontPage.Editor.Document">
<meta http-equiv="Content-Type" content="text/html; charset=windows-1255">



<title>Journal</title>
<link rel="stylesheet" type="text/css" href="view.css">
</head>

<body>
                                                                           
 <br>
<div align="center">
  <center>
  <table border="1" cellpadding="3" cellspacing="0" width="377" bordercolor="#000000">
    <tr>
      <td width="367">
        <p align="center"><font face="Arial" size="2">Στπ∙σ· ≥π ≥δ∙Θσ</font></td>
    </tr>
<%
DSNtemp="DRIVER={Microsoft Access Driver (*.mdb)}; "
          DSNtemp=dsntemp & "DBQ=" & server.mappath("admin/journal.mdb")
          sqlstmt = "SELECT * FROM journal ORDER BY id DESC"
          Set rs = Server.CreateObject("ADODB.Recordset")
          rs.Open sqlstmt, DSNtemp, 3, 3
TotalRecs = rs.recordcount
x = 0
For x = 1 to 9999
    If rs.eof then
        Exit For
    Else
        date1 = rs("pdate")
        id = rs("ID")
        name1 = rs("pname")
          link = "<a href='view.asp?id=" & id & "'>" & date1 & "</a>"
        description = name1
   %>

    <tr>
      <td width="367" bgcolor="#C0C0C0"><font face="Arial" size="2"><div align=left> <% =link%></div> <div align=right><% =description%></div></font></td>
    </tr>
    
    <%
rs.MoveNext
End If
Next%>
    
  </table>
  

תגיות:

4 תשובות

  1. BuildHome הגיב:

    תשובה
    זה לא יעיל, ממש לא יעיל.
    קודם כל, אם אתה עושה לולאת FOR על RS, תשלוף הכל לתוך מערך GETROWS (יש מאמר על כך באתר) ואז תשתמש בלולאה כמו שצריך, ביעילות מקסימאלית.

    אתה יכול להשתמש ב-DO WHILE, למשל:

    <table><tr>
    <%
    i = 1
    If not rs.EOF Then
        Do while not rs.EOF
            date1 = rs("pdate")
            id = rs("ID")
            name1 = rs("pname")
            link = "<a href='view.asp?id=" & id & "'>" & date1 & "</a>"
            description = name1
    %>
    <td width="367" bgcolor="#C0C0C0"><font face="Arial" size="2"><div align=left> <% =link%></div> <div align=right><% =description%></div></font></td>
    <%
        If i = 3 Then Response.Write "</tr><tr>" : i = 1
        rs.MoveNext : Loop
    End If
    %>
    </tr></table>

    זה יציג לך 3 תאים בשורה.
    תשנה את ה-3 בחלק של  i = 3 למספר התאים שתרצה שיהיו בשורה.

    מקווה שעזרתי; לא בדקתי את הקוד כך שמקווה שיעבוד לך

    בהצלחה!


    "החיים הם רק הדרך במסע הנפש", בילד 2004-2008 <img src='/images/6.gif'>
    http://Www.Torec.Net &nbsp;* http://Www.Torec.In

  2. mc2win הגיב:

    הוספתי
    <%

    set rs = nothing
    ID = request.form("ID")
            set conn = server.createobject("adodb.connection")
            DSNtemp="DRIVER={Microsoft Access Driver (*.mdb)}; "
            DSNtemp=dsntemp & "DBQ=" & server.mappath("admin/journal.mdb")
            conn.Open DSNtemp
            For each record in request("ID")
                sqlstmt = "DELETE * from journal WHERE ID=" & record
                Set RS = conn.execute(sqlstmt)
            Next

    i = 1
    If not rs.EOF Then
        Do while not rs.EOF
            date1 = rs("pdate")
            id = rs("ID")
            name1 = rs("pname")
            link = "<a href='view.asp?id=" & id & "'>" & date1 & "</a>"
            description = name1
    %>
    <td width="367" bgcolor="#C0C0C0"><font face="Arial" size="2"><div align=left> <% =link%></div> <div align=right><% =description%></div></font></td>
    <%
        If i = 3 Then Response.Write "</tr><tr>" : i = 1
        rs.MoveNext : Loop
    End If
    %>

    הוספתי התחברות לבסיס נתונים וזה מה יוצא:

    Microsoft VBScript runtime error '800a01a8'

    Object required: 'rs

  3. BuildHome הגיב:

    תשובה
    מה הקשר בין הקוד העליון לבין הקוד שהבאתי לך?
    הקוד העליון שלך הוא למחיקת רשומה ממסד הנתונים ולא לשליפה (אגב, למה יש לך על זה לולאה??).

    הקוד העליון צריך להיות זה, כמו בקוד המקורי שלך:
    DSNtemp="DRIVER={Microsoft Access Driver (*.mdb)}; "
              DSNtemp=dsntemp & "DBQ=" & server.mappath("admin/journal.mdb")
              sqlstmt = "SELECT * FROM journal ORDER BY id DESC"
              Set rs = Server.CreateObject("ADODB.Recordset")
              rs.Open sqlstmt, DSNtemp, 3, 3

    בהצלחה.


    "החיים הם רק הדרך במסע הנפש", בילד 2004-2008 <img src='/images/6.gif'>
    http://Www.Torec.Net &nbsp;* http://Www.Torec.In

שלח תשובה