לוגו אתר Fresh          
 
 
  אפשרות תפריט  ראשי     אפשרות תפריט  צ'אט     אפשרות תפריט  מבזקים     אפשרות תפריט  צור קשר     חץ שמאלה ברוכים הבאים לפורום ASP חץ ימינה  

לך אחורה   לובי הפורומים > מחשבים > ASP
שמור לעצמך קישור לדף זה באתרי שמירת קישורים חברתיים
 
כלי אשכול חפש באשכול זה



  #2  
ישן 05-05-2005, 22:11
  VuV VuV אינו מחובר  
 
חבר מתאריך: 06.04.05
הודעות: 1,465
שלח הודעה דרך MSN אל VuV
בתגובה להודעה מספר 1 שנכתבה על ידי jackb שמתחילה ב "זקוק לעזרה בחלק מסוים בבנית אתר לבגרות"

אין יותר פשוט מזה
משתמשים בשאילתת WHERE.
הנה דוגמא:
בטופס חיפוש אתה עושה דבר כזה: תיבת טקסט עבור השאילתה וSELECT עבור שיטת החיפוש(ע"פ שם, חברה או גיל)
בהנחה ובטופס נשלח בשיטת GET אז ככה צריך להראות הASP:

קוד PHP:
 <%
connSTR "your connection string"
set conn server.createobject("adodb.connection")
set rs server.createobject("adodb.recordset")
conn.open (connSTR)
qry request.qeurystring("query")
method request.querystring("method")
if 
method "name" then
sql 
"select * from models where name='"&qry&"'"
end if
if 
method "age" then
sql 
"select * from models where age='"&qry&"'"
'אם שדה הגיל הוא מסוג מספר ולא טקסט אז החלף את השאילתה בשאילת הזאת:
sql = "select * from models where age="&cINT(qry)
end if
if method = "sochnut" then
sql = "select * from models where sochnut='"&qry&"'"
end if
rs.open sql, conn, 3, 3
if rs.eof and rs.bof then
response.write "לא נמצאו תוצאות לשאילתת החיפוש: "&qry
else
response.write "נמצאו "&rs.recordcount&" תוצאות העונות לשאילת: "&qry&"<br>"
do until rs.eof
response.write rs("name")&" - "&rs("sochnut")&" - "&rs("age")&"<br><hr><br>"
rs.movenext
loop
end if
rs.close
set rs = nothing
conn.close
set conn= nothing
%> 

הסבר:
קודם פתחנו חיבור למסד הנתונים. אח"כ בדקנו איזה שיטת חיפוש אנחנו רוצים: לפי גיל, סוכנות או שם.
ד"א, אם יש יותר קריטריונים אז אפשר להשתמש בSELECT CASE.
אח"כ פתחנו את הRS והמשכנו כרגיל. כמובן שסגרנו את הRS ואת החיבור(ע"מ לחסוך משאבים)
לגבי השאילתה, פשוט משתמשים בשאילתת SELECא עם WHERE בסוף. מה שהשאילתה עושה זה לבחור את כל העמודות(*, לא חייב להיות כולן) מהטבלה איפה(where) שהקריטריון מתאים.
שים לב שגם בדקנו האם נמצאו תשובות או לא.
בהצלחה, יואב
חזרה לפורום
  #3  
ישן 06-05-2005, 08:11
  jackb jackb אינו מחובר  
 
חבר מתאריך: 27.11.04
הודעות: 16
אוכל לבקש ממך טובה, הנה דוגמה לקוד asp שלי
בתגובה להודעה מספר 2 שנכתבה על ידי VuV שמתחילה ב "אין יותר פשוט מזה משתמשים..."

קוד PHP:
 <html dir="rtl">
<
head>
<
title>עדכון נתוני משתמשים</title>
<
meta http-equiv="Content-Type" content="text/html;charset=windows-1255"/>
</
head>
<
body bgcolor="#4267AE" link="black" vlink="darkblue" alink="white">
<
font size="4">
<
div align="center">
    <% 
Set oConn Server.CreateObject("ADODB.Connection")
 
     
oConn.Open "Driver={Microsoft Access Driver (*.mdb)};" _
                 
"Dbq=C:\DataBase\DataBase.mdb;" _
                 
"Uid=admin;" _
                 
"Pwd=;"
 
     
Set oDataBaseRS Server.CreateObject("ADODB.Recordset"
 
     
mySQL "SELECT * FROM MyDataBase WHERE UserName="
     
mySQL mySQL "'"
     
mySQL mySQL Request.Form("UserName")
     
mySQL mySQL "'"
 
     
oDataBaseRS.Open mySQLoConn3
 
     
If Not(oDataBaseRS.BOFThen
         oConn
.Execute "UPDATE MyDataBase SET UserName='" _
                        Request
.Form("UserName1") & _
                        
"' WHERE UserName='" _
                        Request
.Form("UserName") & _
                        
"'"
 
     
oDataBaseRS.Close
     Set oDataBaseRS 
Nothing
     oConn
.Close
     Set oConn 
Nothing
    
%>
 
     <
br /><br />
     <
font color="darkblue" size="5">
     <
b>נתוני שם המשתמש שונו בהצלחה</b>
     </
font>
 
     <
br /><br />
     <
font color="black" size="4">
     <
b>כדי לחזור לדף כלי המנהלאנא לחצו בתפריט על הכפתור כלי מנהל.</b
     </
font>
 
    <% Else %>
 
     <
br /><br />
     <
font color="darkblue" size="5">
     
התרחשה שגיאה בניסיון לעדכן את הנתונים
        
<br />
         
שם המשתמש שאותו ניסית לשנות לא קיים במאגר הנתונים
     
</font>
 
     <
br /><br />
     <
font color="black" size="4">
     <
b>כדי לחזור לדף כלי המנהלאנא לחצו בתפריט על הכפתור כלי מנהל.</b
     </
font>
</
div>
 
    <% 
End If %>
</
body>
</
html


אל תתייחס למה שרשום בקוד עצמו, כי זה טבלה שמעדכנת את הנתונים במסד נתונים.
מה שאני רוצה שתסתכל זה על ההתחלה של הקוד, אני משתמש בmysql, ובaccess, האם תוכל לכתוב לי שוב את הקוד שלך, רק עם המאפייניים וסוג הכתיבה שמופיעים כאן ?
חזרה לפורום
  #4  
ישן 06-05-2005, 15:15
  VuV VuV אינו מחובר  
 
חבר מתאריך: 06.04.05
הודעות: 1,465
שלח הודעה דרך MSN אל VuV
בתגובה להודעה מספר 3 שנכתבה על ידי jackb שמתחילה ב "אוכל לבקש ממך טובה, הנה דוגמה לקוד asp שלי"

מאחר ומדובר על ACCESS ולא MYSQL אז הייתי עובד בשיטות של אובייקט RS.

פירוט אחרי הדוגמא:



קוד PHP:
 <html dir="rtl">
<
head>
<
title>עדכון נתוני משתמשים</title>
<
meta http-equiv="Content-Type" content="text/html;charset=windows-1255"/>
</
head>
<
body bgcolor="#4267AE" link="black" vlink="darkblue" alink="white">
<
font size="4">
<
div align="center">
    <% 
Set oConn Server.CreateObject("ADODB.Connection")

     
oConn.Open "Driver={Microsoft Access Driver (*.mdb)};" _
                 
"Dbq=C:\DataBase\DataBase.mdb;" _
                 
"Uid=admin;" _
                 
"Pwd=;"

     
Set oDataBaseRS Server.CreateObject("ADODB.Recordset"
 
un request.form("username")
 
sql "SELECT * FROM MyDataBase WHERE username='"&un&"'"
    ' mySQL = "SELECT * FROM MyDataBase WHERE UserName="
    ' 
mySQL mySQL "'"
    ' mySQL = mySQL & Request.Form("UserName")
    ' 
mySQL mySQL "'"

     
oDataBaseRS.Open sqloConn3
     
'If Not(oDataBaseRS.BOF) Then
     If oDataBaseRS.BOF AND oDataBaseRS.EOF Then
     '    
oConn.Execute "UPDATE MyDataBase SET UserName='" _
     
'                   Request.Form("UserName1") & _
     '                   "' WHERE UserName='" 
_
     
'                   Request.Form("UserName") & _
     '                   "'"
 
unToChange Request.Form("UserName1")
 
rs(username) = unToChange
 rs
.update

     oDataBaseRS
.Close
     Set oDataBaseRS 
Nothing
     oConn
.Close
     Set oConn 
Nothing
    
%>

     <
br /><br />
     <
font color="darkblue" size="5">
     <
b>נתוני שם המשתמש שונו בהצלחה</b>
     </
font>

     <
br /><br />
     <
font color="black" size="4">
     <
b>כדי לחזור לדף כלי המנהלאנא לחצו בתפריט על הכפתור כלי מנהל.</b
     </
font>

    <% Else %>

     <
br /><br />
     <
font color="darkblue" size="5">
     
התרחשה שגיאה בניסיון לעדכן את הנתונים
        
<br />
         
שם המשתמש שאותו ניסית לשנות לא קיים במאגר הנתונים
     
</font>

     <
br /><br />
     <
font color="black" size="4">
     <
b>כדי לחזור לדף כלי המנהלאנא לחצו בתפריט על הכפתור כלי מנהל.</b
     </
font>
</
div>

    <% 
 Else
  
response.write "בעיה בלה בלה בלה"
End If %>
</
body>
</
html


מה שעשית בעצם היה שינוי משפט הSQL למשהו שלי יותר נוח לעבוד איתו ובשיטת העידכון מידע - במקום להשתמש העידכון ע"י משפט SQL עשיתי את זה דרך שיטות של הRS:
update - מעדכן את הטבלה(בלי זה אמנם הדף יוצג אך לא יקרה כלום)
בגדול התחביר הנכון יותר ל:
קוד PHP:
 rs(username) = unToChange 

הוא
קוד PHP:
 rs.fields(username).value unToChange 

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

כלי אשכול חפש באשכול זה
חפש באשכול זה:

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

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

קוד vB פעיל
קוד [IMG] פעיל
קוד HTML כבוי
מעבר לפורום



כל הזמנים המוצגים בדף זה הם לפי איזור זמן GMT +2. השעה כעת היא 04:53

הדף נוצר ב 0.13 שניות עם 10 שאילתות

הפורום מבוסס על vBulletin, גירסא 3.0.6
כל הזכויות לתוכנת הפורומים שמורות © 2024 - 2000 לחברת Jelsoft Enterprises.
כל הזכויות שמורות ל Fresh.co.il ©

צור קשר | תקנון האתר