381
צפיות
צפיות
16
תשובות
תשובות
עזרה בתכנות פורום
התחלתי לתכנת פורום ונתקעתי בבעיה..
אני רוצה לחלק את הפורומים לקטגריות ופשוט אני לא מצליח ..
למי שיש רעיון בבקשה שירשום פה
רק במילים לא קוד מוכן.!
התחלתי לתכנת פורום ונתקעתי בבעיה..
אני רוצה לחלק את הפורומים לקטגריות ופשוט אני לא מצליח ..
למי שיש רעיון בבקשה שירשום פה
רק במילים לא קוד מוכן.!
16 תשובות
ככה
אתה משייך טבלה של הפורומים את הפורומים לפי קטגוריות, לדוגמא יש לך שני טבלאות:
forums
cats
בטבלה של ה cat יש לך
id
name
ובforums יש
id
cat_id
name
אז ב cat_id אתה שם את מספר ה id של הקטגוריה ומציג לפי הסדר.
מה בדיוק הבעיה?
מה הקושי?
לכל פורום צריך להיות שדה מספר בשם catID (למשל) שמכיל את ID הקטגוריה אליו שייך הפורום.
table Category
—————————
ID
Name
table Forum
———————–
ID
catID
Name
בין הערכים האדומים צריך להיות קשר גומלין.
אני עשיתי ככה במסד
השאלה שלי איך אני מציג את זה שהפורומים יהיו מתחת לכל קטגוריה..
גם פשוט
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
צריך להיות משהו כזה.
אתה המלך.!
אממ יש לי בעיה
הקוד שלי הוא כזה
<%
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;
——————————————–^
לאן החץ מצביע?
על הנקודה כפי שרואים בקוד או על מקום אחר?
לפי מה שאני רואה, החיבור שלך לגמרי תקין.
לא הבנתי אותך אחי..
סידרתי את זה אבל יש לי בעיה אחרת
Microsoft VBScript compilation error '800a0400'
Expected statement
/zombie123/index.asp, line 13
Do while not rs.EOF Then
——————–^
תראה את הקוד שלך…
הנה
<%
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
%>
לולאה חיצונית שגויה
מאיפה בא ה-Then??
Do while not rs.EOF Then => Do while not rs.EOF
תודה בילד סיימתי תדף הזה אבל יש לי
בעיה בדף אחר
<% 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
היכן השגיאה?
אתה חייב לסמן את השורה שגורמת לשגיאה.
אני מניח שזו השורה בה אתה מנסה להציג את הקטגוריה.
הנה קוד מתוקן:
<td>קטגוריה</td><td><select name=catid><option value="1"><%=rscats("name")%></option></select ></td>
אחי תודה אבל עכשיו יש בעיה נוספת
החיבור שלי תקין ולא יודע מה הבעיה פה
%>
<% 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
תודה מראש
השאילתה תקינה
אך העניין הוא מה אתה מנסה לעשות לאחר מכן.
על מנת לבדוק היכן יכולה להיות הטעות שלך (עם סימני נעילה).