![]() |
שאלה ב-PHP
אני רוצה לטעון לרשימה רק "אימיילים מאושרים"
כלומר - אני מריץ פונקציה שמאמתת כתובות אימייל קוד:
function is_email($email) קוד:
$myselect=mysql_query("SELECT `email`,`username`,`id` FROM `new_users` ORDER BY `id` DESC"); |
כלומר למסד אתה מכניס את כל הכתובות ללא קשר אם הם מאושרות או לא?
אתה עושה במסד עוד רשומה של authorized: 1 = מאושר, 0 = לא מאושר, 2 = בהמתנה (או משהו בסגנון) ועושה WHERE בSELECT... לפי הצורך. |
כרגע קיימות במסד 200 אלף כתובות אימייל,
המטרה שלי היא להציג את כל האימיילים שמאומתים. יש דרך לעשות את זה ללא שדה נוסף אלא עם הנתונים הקיימים והרצת פונקציה שבעצם תבדוק את האימות? |
אממ בגרסה הכי עדכנית של MYSQL או לפחות מגרסה 5 יש אפשרות להשתמש בפונקציה regexp לשליפת תוצאות שמתאימות לתבנית ביטוי רגולרי (:
תגגל קצת עשיתי את זה הרבה זה חמדמד ביותר |
תודה, אבל יש מישהו שיכול להיות יותר ספציפי? אני דיי גרוע בביטויים רגולריים...
|
אממ אם אפשר תציג כאן את המבנה של הטבלה שלך (את השאילתה שאיתה כתבת אותה)
כשיהיה לי זמן אני אכתוב לך שאילתה לשליפת כל המיילים התקינים |
קודם כל תודה,
דבר שני, נתתי למעלה את השאילתה... המבנה של הטבלה הוא בסיסי - ID, USERNAME, PASSWORD, EMAIL ועוד כמה... |
האם אתה רוצה להציג את כל הכתובות המורשות, או לבדוק אם כתובת ספציפית?
דבר נוסף, האם יש שדה מסויים שמכיל ערך מסויים לגבי כתובת שאומתה? למשל: PHP קוד:
|
ציטוט:
אני לא ממש בקיא בESCAPING של MYSQL בנוגע לאופרטור REGEXP אבל זה אמור לעבוד (לפחות בתאוריה D:) |
ציטוט:
רק שיניתי את הקטע הרגולרי שנתת לי ל- ^[a-z0-9._-]+@+[a-z0-9._-]+.+[a-z]{2,3}$ כי הוא פשוט נותן לי תוצאות רלוונטיות יותר, שהשני מפספס. |
חח תשחק עם זה
רק תזהר - במידה ואתה חוזר לPHP4 - תקבל הרבה תקלות בנוסף הייתי מציע לך ליצור טבלת ביניים שתכיל את התוצאות של השאילתה הזאת - הרצה של ביטוי רגולרי על מחרוזת - ועיבוד מחרוזות בכלל - אלו פעולות מאוד מאוד איטיות עדיף לאנדקס את התוצאות ככה שלא יהיה צורך לבצע את הפעולות בשנית אם יש לך עוד שאלות אתה מוזמן לשלוח למייל או פה ואני יעזור בשמחה |
ציטוט:
יש לי 200 אלף רשומים, הרבה לא עם כתובות אימייל אמיתיות (ההרשמה היתה דפוקה) אז אני אריץ את זה עכשיו בלילה כדי שהתהליך יהיה יחסית מהיר וללא תקלות. תודה רבה שוב, לילה טוב |
כל הזמנים הם GMT +2. הזמן כעת הוא 06:08. |
מופעל באמצעות VBulletin גרסה 3.8.6
כל הזכויות שמורות ©
כל הזכויות שמורות לסולל יבוא ורשתות (1997) בע"מ