שלח תשובה

זירת השאלות

381
צפיות
16
תשובות

עזרה בתכנות פורום

,‏ 17 בספטמבר, 2004

התחלתי לתכנת פורום ונתקעתי בבעיה..
אני רוצה לחלק את הפורומים לקטגריות ופשוט אני לא מצליח ..
למי שיש רעיון בבקשה שירשום פה
רק במילים לא קוד מוכן.!

תגיות:

16 תשובות

  1. jonatan44 הגיב:

    ככה
    אתה משייך טבלה של הפורומים את הפורומים לפי קטגוריות, לדוגמא יש לך שני טבלאות:
    forums
    cats
    בטבלה של ה cat יש לך
    id
    name
    ובforums יש
    id
    cat_id
    name
    אז ב cat_id אתה שם את מספר ה id של הקטגוריה ומציג לפי הסדר.

  2. BuildHome הגיב:

    מה בדיוק הבעיה?
    מה הקושי?

    לכל פורום צריך להיות שדה מספר בשם catID (למשל) שמכיל את ID הקטגוריה אליו שייך הפורום.
    table Category
    —————————
    ID
    Name

    table Forum
    ———————–
    ID
    catID
    Name
    בין הערכים האדומים צריך להיות קשר גומלין.

  3. 0mri הגיב:

    אני עשיתי ככה במסד
    השאלה שלי איך אני מציג את זה שהפורומים יהיו מתחת לכל קטגוריה..

  4. BuildHome הגיב:

    גם פשוט
    SQL = "SELECT id,name FROM category"
    rs.Open SQL, Conn
    If not rs.EOF Then
            Do while not rs.EOF Then
                    fSQL = "SELECT id,name FROM forum WHERE catID="&rs("id")
                    rs2.Open fSQL, Conn
                    If not rs2.EOF Then
                            Do while not rs2.EOF
                                    Response.Write "<a href=""forum.asp?id="&rs2("id")&""">"&rs2("name")&"</a><br>"
                            rs2.MoveNext
                            Loop
                    End If
                    rs2.Close
            rs.MoveNext
            Loop
    End If
    rs.Close

    צריך להיות משהו כזה.

  5. 0mri הגיב:

    אממ יש לי בעיה
    הקוד שלי הוא כזה


    <%
    dim conn, rs, rs2, sql, fsql
    Set conn = Server.CreateObject("ADODB.Connection")
    conn.Open "Provider=Microsoft.Jet.OLEDB.4.0; Data Source =" & Server.MapPath("catdb.mdb")

    set rs=server.createobject("adodb.recordset")

    set rs2=server.createobject("adodb.recordset")

    SQL = "SELECT id,name FROM cats"
    rs.Open SQL, Conn
    If not rs.EOF Then
            Do while not rs.EOF Then
                    fSQL = "SELECT id,name FROM subjects WHERE catID="&rs("id")
                    rs2.Open fSQL, Conn
                    If not rs2.EOF Then
                            Do while not rs2.EOF
                                    Response.Write "<a href=""subject.asp?id="&rs2("id")&""">"&rs2("name")&"</a><br>"
                            rs2.MoveNext
                            Loop
                    End If
                    rs2.Close
            rs.MoveNext
            Loop
    End If
    rs.Close
    %>

    והשגיאה


    Microsoft VBScript compilation error '800a0409'

    Unterminated string constant

    /zombie123/index.asp, line 4

    conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;
    ——————————————–^

  6. BuildHome הגיב:

    לאן החץ מצביע?
    על הנקודה כפי שרואים בקוד או על מקום אחר?

    לפי מה שאני רואה, החיבור שלך לגמרי תקין.

  7. 0mri הגיב:

    סידרתי את זה אבל יש לי בעיה אחרת


    Microsoft VBScript compilation error '800a0400'

    Expected statement

    /zombie123/index.asp, line 13

    Do while not rs.EOF Then
    ——————–^

  8. 0mri הגיב:

    הנה


    <%
    dim conn, rs, rs2, sql, fsql
    Set conn = Server.CreateObject("ADODB.Connection")
    conn.Open "Provider=Microsoft.Jet.OLEDB.4.0; Data Source =" & Server.MapPath("catdb.mdb")

    set rs=server.createobject("adodb.recordset")

    set rs2=server.createobject("adodb.recordset")

    SQL = "SELECT id,name FROM cats"
    rs.Open SQL, Conn
    If not rs.EOF Then
            Do while not rs.EOF Then
                    fSQL = "SELECT id,name FROM subjects WHERE catID="&rs("id")
                    rs2.Open fSQL, Conn
                    If not rs2.EOF Then
                            Do while not rs2.EOF
                                    Response.Write "<a href=""subject.asp?id="&rs2("id")&""">"&rs2("name")&"</a><br>"
                            rs2.MoveNext
                            Loop
                    End If
                    rs2.Close
            rs.MoveNext
            Loop
    End If
    rs.Close
    %>

  9. BuildHome הגיב:

    לולאה חיצונית שגויה
    מאיפה בא ה-Then??
    Do while not rs.EOF Then => Do while not rs.EOF

  10. 0mri הגיב:

    תודה בילד סיימתי תדף הזה אבל יש לי
    בעיה בדף אחר


    <% set rscats=server.createobject("adodb.recordset")
    sql="select id,name from cats"
    rscats.open sql, conn
    %>
    <%while not rscats.EOF %>
    <html>
    <head>
    <title>הוספת נושא</title>
    </head>
    <form action="insertcats.asp">
    <table align=center>
    <tr>
    <td>שם הנושא</td><td><input type="text" name="name" size="20">
    </tr>
    <tr>
    <td>קטגוריה</td><td><select name=catid><option value="1"><% rscats("name")&""%></option></select ></td>
    </tr>
    </table>
    <% rscats.movenext
        wend
    %>

    השגיאה


    ADODB.Recordset error '800a0bb9'

    Arguments are of the wrong type, are out of acceptable range, or are in conflict with one another.

    /zombie123/insertcats.asp, line 19

  11. BuildHome הגיב:

    היכן השגיאה?
    אתה חייב לסמן את השורה שגורמת לשגיאה.

    אני מניח שזו השורה בה אתה מנסה להציג את הקטגוריה.
    הנה קוד מתוקן:
    <td>קטגוריה</td><td><select name=catid><option value="1"><%=rscats("name")%></option></select ></td>

  12. 0mri הגיב:

    אחי תודה אבל עכשיו יש בעיה נוספת
    החיבור שלי תקין ולא יודע מה הבעיה פה

    %>
    <% set rscats=server.createobject("adodb.recordset")
    sql="select id,name from cats"
    rscats.open sql, conn
    %>

    השגיאה


    ADODB.Recordset error '800a0bb9'

    Arguments are of the wrong type, are out of acceptable range, or are in conflict with one another.

    /zombie123/insertcats.asp, line 19

    שורה 19


    rscats.open sql, conn

    תודה מראש

  13. BuildHome הגיב:

    השאילתה תקינה
    אך העניין הוא מה אתה מנסה לעשות לאחר מכן.

    כנס לכאן על מנת לבדוק היכן יכולה להיות הטעות שלך (עם סימני נעילה).

שלח תשובה