זה מאד תלוי מה אתה רוצה לעשות ואילו פרטים אתה רוצה לאחזר. בעקרון השיטה היא: 1. זיהוי הקוקייה אצל המשתמש 2. אימות שם המשתמש והסיסמה מול ה DB (או כל דבר אחר..) 3. שאיבת הפרטים שאתה רוצה "לזכור" לאורך כל הגלישה באתר ושמירתם במשתנה סשן.
visa = fixStr(request.form("visa")) continent = fixStr(request.form("continent")) gender = fixStr(request.form("gender"))
If visa <> "" Then SQLvisa = " WHERE visa='" & visa & "'" Else SQLvisa = "" End If
If continent <> "" Then SQLcontinent = " AND continent='" & continent & "'" If visa = "" Then SQLcontinent = " WHERE continent='" & continent & "'" End If Else SQLContinent = "" End If
If gender <> "" Then SQLgender= " AND gender='" & gender & "'" If continent = "" Then SQLgender = " WHERE gender='" & gender & "'" End If Else SQLgender= "" End If
SQL = "SELECT FirstName,LastName,email,PhoneNumber1,PhoneNumber2 FROM members" & SQLUSVisa & SQLgender & SQLContinent & " ORDER BY id"
זה קוד למנוע חיפוש עם שלושה אפשרויות חיפוש. העייה מתעוררת אני רוצה לחפש רק עם הפרמטר השני או השלישי. אני מקבל שגיאה…
נסה כך: visa = fixStr(request.form("visa")) continent = fixStr(request.form("continent")) gender = fixStr(request.form("gender")) SQL = "SELECT FirstName,LastName,email,PhoneNumber1,PhoneNumber2" &_ "FROM members" &_ "WHERE 1=1" If visa <> "" Then SQL = SQL & " AND visa='" & visa & "'" End If
If continent <> "" Then SQL = SQL & " AND continent='" & continent & "'" End If
If gender <> "" Then SQL = SQL & " AND gender='" & gender & "'" End If
מנוע חיפוש וצ'ק בוקסים… יש לי בסיס נתונים פשוט עם 3 עמודות: שם, גיל וצבעים. עמודת הצבעים יכולה להכיל עד 5 צבעים שהמשתמש בחר מופרדים בפסיק.
הבעייה מתעוררת כשאני מנסה לחפש צבעים דרך מנוע חיפוש שבניתי. המנוע מורכב מתיבת חיפוש חופשי ומ 20 צ'קבוקסים.
האם אני בוחר את הצבעים ירוק ואדום אני מקבל בתוצאות את כל המשתמשים שבחרו את הצירוף הזה בלבד ואני רוצה שהמנוע יציג לי את כל המשתמשים שבחרו את הצבע אדום ואת כל המשתמשים שבחרו את הצבע ירוק.
הנה הקוד שלי: If color <> "" Then SQL = SQL & " AND color='" & color & "'" End If
מתכנתים עלאק… אף אחד לא שם לב שהשימוש ב AND כאן הוא שגוי? במקום AND צריך להיות שימוש ב OR… sql = "SELECT …. WHERE …." . . colorsArray = split(color,",") for i=0 to uBound(colorsArray); sql = sql & " OR color LIKE '%"& colorsArray(i) & "%'" next
22 תשובות
הייתי משתמש בקוקייה
נראה הכי סביר. אין שום דבר אבסולוטי שיעבוד תמיד – אבל רוב המשתמשים יסכימו לקוקיות.
אוריקס אתה מסכים ל"קוקיות"? חח 😛
מה מצחיק?
קוקיות עוגיות. 🙂 אפשר להשתמש גם בס
יישן (סיישן)
אתם יכולים לפרט קצת יותר?
מה לעשות ואיך?
-לא נכון-
ככה בפעם הבאה שהגולש יכנס לאתר כלום לא יזכור אותו, כי הסשן פשוט לא בנוי לזה.
זה מאד תלוי מה אתה רוצה לעשות
ואילו פרטים אתה רוצה לאחזר. בעקרון השיטה היא:
1. זיהוי הקוקייה אצל המשתמש
2. אימות שם המשתמש והסיסמה מול ה DB (או כל דבר אחר..)
3. שאיבת הפרטים שאתה רוצה "לזכור" לאורך כל הגלישה באתר ושמירתם במשתנה סשן.
שאלה לגבי מנוע חיפוש של תאריכים…
יש לי את הקוד הבא:
SELECT FirstName,LastName FROM members WHERE registrationDate BETWEEN '5/5/2004' AND '6/5/2004' ORDER BY id
אני מקבל את ההודעה שגיאה הבאה:
Microsoft OLE DB Provider for ODBC Drivers error '80040e14'
[Microsoft][ODBC Microsoft Access Driver] Syntax error in FROM clause.
מה זה יכול להיות?!
תודה –
פפר
נסה להקיף את התאריכים ב-#
השגיאה שוגה 😛
סבבה, תודה!
שאלה לגבי מנוע חיפוש…
יש לי את הקוד הבא:
visa = fixStr(request.form("visa"))
continent = fixStr(request.form("continent"))
gender = fixStr(request.form("gender"))
If visa <> "" Then
SQLvisa = " WHERE visa='" & visa & "'"
Else
SQLvisa = ""
End If
If continent <> "" Then
SQLcontinent = " AND continent='" & continent & "'"
If visa = "" Then
SQLcontinent = " WHERE continent='" & continent & "'"
End If
Else
SQLContinent = ""
End If
If gender <> "" Then
SQLgender= " AND gender='" & gender & "'"
If continent = "" Then
SQLgender = " WHERE gender='" & gender & "'"
End If
Else
SQLgender= ""
End If
SQL = "SELECT FirstName,LastName,email,PhoneNumber1,PhoneNumber2
FROM members" & SQLUSVisa & SQLgender & SQLContinent & " ORDER BY id"
זה קוד למנוע חיפוש עם שלושה אפשרויות חיפוש. העייה מתעוררת אני רוצה לחפש רק עם הפרמטר השני או השלישי. אני מקבל שגיאה…
מה לעשות?
תודה מהפפר
נסה כך:
visa = fixStr(request.form("visa"))
continent = fixStr(request.form("continent"))
gender = fixStr(request.form("gender"))
SQL = "SELECT FirstName,LastName,email,PhoneNumber1,PhoneNumber2" &_
"FROM members" &_
"WHERE 1=1"
If visa <> "" Then
SQL = SQL & " AND visa='" & visa & "'"
End If
If continent <> "" Then
SQL = SQL & " AND continent='" & continent & "'"
End If
If gender <> "" Then
SQL = SQL & " AND gender='" & gender & "'"
End If
SQL = SQL & " ORDER BY id DESC"
תודה ניר
מנוע חיפוש וצ'ק בוקסים…
יש לי בסיס נתונים פשוט עם 3 עמודות: שם, גיל וצבעים.
עמודת הצבעים יכולה להכיל עד 5 צבעים שהמשתמש בחר מופרדים בפסיק.
הבעייה מתעוררת כשאני מנסה לחפש צבעים דרך מנוע חיפוש שבניתי.
המנוע מורכב מתיבת חיפוש חופשי ומ 20 צ'קבוקסים.
האם אני בוחר את הצבעים ירוק ואדום אני מקבל בתוצאות את כל המשתמשים שבחרו את הצירוף הזה בלבד ואני רוצה שהמנוע יציג לי את כל המשתמשים שבחרו את הצבע אדום ואת כל המשתמשים שבחרו את הצבע ירוק.
הנה הקוד שלי:
If color <> "" Then
SQL = SQL & " AND color='" & color & "'"
End If
מה לא נכון בו?
(כמעט נואש)
בתודה –
פפר
תשתמש ב-LIKE במקום ב-"="
הכוונה שתעשה עוד טבלה
עזוב את תוכן ההודעה
באתי לכתוב משהו והתחרטתי. תתייחס רק לכותרת.
לא עזר…
עשיתי:
If color <> "" Then
SQL = SQL & " AND color LIKE '" & color & "'"
End If
החזיר את אותן התוצאות. למה זה?
תקיף את color ב-*
או ב %
ורצוי לקרוא איך עובדים עם LIKE…
זה לא עובד…
הבעייה היא שיש בטבלה עמודה אחת שיש בה משהו כזה:
צהוב, ירוק, אדום, כחול
כך שאם אני מבקש לראות את צהוב ואדום הוא ייתן לי את כל מי שבחר את 2 הצירופים האלו יחד.
איך אני מתגבר על זה?
אתה צריך לשרשר את זה ככה:
קודם כל אתה צריך לדעת צבעים יש לך:
color = split(color,",")
for i=0 to uBound(color)
sql=sql & " and color like %'"&color(i)&"'%"
loop
מתכנתים עלאק…
אף אחד לא שם לב שהשימוש ב AND כאן הוא שגוי?
במקום AND צריך להיות שימוש ב OR…
sql = "SELECT …. WHERE …."
.
.
colorsArray = split(color,",")
for i=0 to uBound(colorsArray);
sql = sql & " OR color LIKE '%"& colorsArray(i) & "%'"
next