הוסטס - פורום אחסון האתרים הגדול בישראל

הוסטס - פורום אחסון האתרים הגדול בישראל (https://hosts.co.il/forums/index.php)
-   פורום תיכנות (https://hosts.co.il/forums/forumdisplay.php?f=14)
-   -   צריך עזרה בASP (https://hosts.co.il/forums/showthread.php?t=32770)

idan43 12-10-06 16:07

צריך עזרה בASP
 
איך אני עושה שתהיה טבלה בACCESS עם מאמרים
ותהיה טבלה עם תגובות
וכשנכנסים למאמר כלשהו התגובות שמתאימות למאמר שנכנסו אליו יופיעו

eyalk7 12-10-06 16:09

תעשה עוד טבלת תיאום שבה תשים את ה-ID של התגובה בעמודה אחת ואת ה-ID של הכתבה שאליה התגובה משתייכת בעמודה אחרת. ואז תשלוף את הנתונים בעזרת שאילתה מתאימה.

idan43 12-10-06 16:14

אני לא מבין איך לעשות את זה..

eyalk7 12-10-06 16:29

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

הקוד של שליפת הנתונים צריך להיות ככה בערך:

קוד:

article_id="SELECT article_id FROM articlestable"
אחר כך תעשה

קוד:

response_id="SELECT response_id FROM linktable WHERE article_id=" &
article_id

ובסוף תעשה

קוד:

sql="SELECT * FROM responsetable where response_id=" & response_id

אני מקווה שזה היה מספיק ברור, כ אני לא טוב בהסברים

Balrog 12-10-06 16:54

למה צריך 3 טבלאות?
כל תגובה משוייכת הרי רק למאמר אחד, אז תהיה לך טבלת מאמרים (שמכילה בין הייתר article_id),
ותהיה טבלת תגובות, שהיא תכיל לכל תגובה reply_id, וגם תכיל שדה שיכיל את ה-id של הכתבה שהתגובה שייכת אליו - כלומר article_id.

idan43 12-10-06 17:07

עשיתי שתי טבלאות אבל
במשפט
sql="select * from comments where comment_id=" & article_id
זה לא עובד לי זה פשוט לא מראה תגובות

eyalk7 12-10-06 17:35

במקום comment_id תכתוב את העמודה שבה כתוב את ה-ID של המאמר שהתגובה משתייכת אליו.

Balrog 12-10-06 17:35

שים לב שיש לך בלבול
במשפט
sql="select * from comments where comment_id=" & article_id

השיוך אמור להתבצע על פי מספר הכתבה, ככה שאמו רלהיות לך משהו כמו:
קוד:

sql="select * from comments where article_id=" & article_id

idan43 12-10-06 17:56

אוףף..זה לא עובד לי
הנה הקוד
:
<code align="left"><html>
<style>
a:link{
underline:none;
}
</style>
<%@ Language=VBScript%>

<body link=white vlink=white alink=white background=back.jpg>

<%
dim article_id
article_id=Request.QueryString("id")

dim conn, rs

set conn = Server.CreateObject("ADODB.Connection")
set rs = Server.CreateObject("ADODB.Recordset")

DSNName = "DRIVER=Microsoft Access Driver (*.mdb);DBQ="
DSNName = DSNName & Server.MapPath("piano.mdb")
conn.Open DSNName

sql = "SELECT * FROM [articles] where article_id=" & article_id
rs.Open sql, conn, 3, 3


%>

<table bgcolor=lightblue><th><%=rs("title")%></th>
<tr><td><font face=arial size=3><%=rs("context")%></td><td><img src=<%=rs("IMG")%>></tr>
<Tr><TD><%=rs("date")%></td></tr>




</table>



<%
rs.close
set rs=nothing
conn.close
set conn=nothing


dim conn2, rs2
dim article_id2
article_id2=article_id
set conn2 = Server.CreateObject("ADODB.Connection")
set rs2 = Server.CreateObject("ADODB.Recordset")

DSNName = "DRIVER=Microsoft Access Driver (*.mdb);DBQ="
DSNName = DSNName & Server.MapPath("piano.mdb")
conn2.Open DSNName

sql = "SELECT * FROM [comments] where article_id='article_id2'"
rs2.Open sql, conn2, 3, 3

do while rs2.EOF
Response.write rs2("context")

rs2.movenext
loop







rs2.close
set rs2=nothing
conn2.close
set conn2=nothing

%>




<table><th>
Comments:</th><tr><td>
<FORM action="addc.asp" method=POST id=form1 name=form1>
Name:</td><td><INPUT type="text" id=text1 name=name></tr><tr><Td>
Context:</td><td><TEXTAREA rows=2 cols=20 id=textarea1 name=context>
</TEXTAREA></tr><tr><td>
<INPUT type="submit" value="Submit" id=submit1 name=submit1>
</td></tr></table></FORM>
[code]


השמות של השדות הם:article_id בשניהם
context(תוכן התגובה)

Balrog 12-10-06 18:02

שים את הקוד בתגיות של קוד, כדי שנוכל להבין.

ואני חושב שחשוב שנדע איך בנויות 2 הטבלאות הרלוונטיות -כלומר בדיוק מה השמות ומה השדות שבהן.


כל הזמנים הם GMT +2. הזמן כעת הוא 21:08.

מופעל באמצעות VBulletin גרסה 3.8.6
כל הזכויות שמורות ©
כל הזכויות שמורות לסולל יבוא ורשתות (1997) בע"מ