לוגו אתר Fresh          
 
 
  אפשרות תפריט  ראשי     אפשרות תפריט  צ'אט     אפשרות תפריט  מבזקים     אפשרות תפריט  צור קשר     חץ שמאלה ‎print ‎"Hello World!"; if‎ ‎not rules.‎know ‎then rules.‎read(); חץ ימינה  

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



  #1  
ישן 24-11-2007, 13:27
  Xpein Xpein אינו מחובר  
 
חבר מתאריך: 21.01.06
הודעות: 813
שאלה | שליפה מתאריך מסויים

נתקלתי בבעיה קטנה כשתיכנתתי בפאנל ניהול מערכת של הודעות פרטיות (שדומה
מאוד למערכת שפה בפורום)..
המערכת עצמה עובדת, אפשר לשלוח הודעות אחד לשני, לקרוא אותן, למחוק וכו'
עשיתי גם הודעה שמקבלים כאשר מתווספים למערכת וגם יש אפשרות של הודעה גלובאלית לכולם
בטבלה בmysql עשיתי ככה טור stat שבו יש ככה:
1. pmsg (הודעה פרטית - הודעה רגילה)
2. gmsg (הודעה גלובאלית - הודעה לכולם)
3. smsg (הודעה שמתקבלת כאשר נרשמים האיידי שלה הוא 1 כמובן..)
ככה פחות או יותר נראת השליפה בהודעות נכנסות:
קוד PHP:
<?php
require ("config.php");
$user $_COOKIE['users'];
$q mysql_query ("SELECT * FROM msg_inbox WHERE `whogets`='$user' || `stat`='gmsg' || `stat`='smsg' ORDER BY `ID` DESC") or die ("EROR WITH GETTING THE MESSAGES: "mysql_error() . ")");
while (
$inmsg mysql_fetch_array ($q)) {

יש אחרי זה כמובן את ההמשך של ההדפסה..
הבעיה שלי היא שאני שולף את כל ההודעות הגלובאלית (gmsg) וגם אם המשתמש נוצר היום
וההודעה הגלובאלית נשלחה אתמול הוא מקבל אותה..
יש בירשותי את הנתונים הבאים: זמן שליחת ההודעה והתאריך וזמן הירשמות המשתמש והתאריך
איך אני יכול בעזרת הנתונים האלה לשלוף רק את ההודעות שהוא היה "קיים" בהם?
תודה רבה לעוזרים ושבת שלום
_____________________________________
--- ! Area Close ! ---

תגובה ללא ציטוט תגובה עם ציטוט חזרה לפורום
  #8  
ישן 27-11-2007, 14:14
  Xpein Xpein אינו מחובר  
 
חבר מתאריך: 21.01.06
הודעות: 813
עדיין נתקלתי בבעיה=\
בתגובה להודעה מספר 7 שנכתבה על ידי Nati323 שמתחילה ב "לא שאלתי מה זה הודעה..."

ניסיתי לעשות ככה:
קוד PHP:
 $user $_COOKIE['users'];
$array mysql_query ("SELECT * FROM cpusers WHERE `nick`='$user'");
$selecta mysql_fetch_array ($array);
$user_date_reg $selecta['user_date_reg']; // for example the value can be 18/11/05
$user_time_reg $selecta['user_time_reg']; //for example the value can be 13:22:33
$q mysql_query ("SELECT * FROM msg_inbox WHERE `whogets`='$user' || `stat`='gmsg' || `stat`='smsg' AND 'date'<'$user_date_reg' AND 'time'<='$user_time_reg' ORDER BY `ID` DESC") or die ("EROR WITH GETTING MSG: "mysql_error() . ")");
while (
$inmsg mysql_fetch_array ($q)) { 


לאחר ששלחתי את הgmsg יצרתי משתמש חדש והתוצאה הייתה כזאת:
1. ההודעה כן התקבלה למרות שהמשתמש לא היה קיים שהיא נוצרה
2. ההודעות התחיליות שמקבלים כשנרשמים (smsg) לא התקבלו
3. הודעות רגילות כן התקבלו

מה הבעיה?
וד"א לא הבנתי מה הכוונה בזמן יוניקס? ז"א אני שולף את הזמן שהמשתמש נוצר
איך אני הופך את זה ליוניקס? (אם צריך)

תודה מראש!!!!!!
_____________________________________
--- ! Area Close ! ---

תגובה ללא ציטוט תגובה עם ציטוט חזרה לפורום
  #10  
ישן 28-11-2007, 17:33
צלמית המשתמש של Nati323
  משתמש זכר Nati323 Nati323 אינו מחובר  
 
חבר מתאריך: 25.10.05
הודעות: 1,508
בתגובה להודעה מספר 8 שנכתבה על ידי Xpein שמתחילה ב "עדיין נתקלתי בבעיה=\"

אתה לא צריך לעשות במקרה הזה בדיקה על stat במילא אתה צריך את כל ההודעות
הבעיה בשאילתא שלך היא שאתה שמת || איפה שלא צריך
וגם אתה יכול לחסוך לעצמך תא אחד אם תשתמש ב unixtime , פשוט שהמשתמש נרשם תכניס את הערך שמתקבל מtime() ולאחר שתעשה את זה
תנסה ככה:
קוד PHP:
 $user $_COOKIE['users'];
$query mysql_query("SELECT * from `msg_inbox' WHERE `whogets`='$user' AND `send_time` >= (SELECT `register_time` FROM `cpusers` WHERE `nick`='$user') ORDER by id desc); 
_____________________________________
חתימתי העצומה בגודלה הוסרה ע"י השליט הבלתי מעורער שימי, למי שיש בעיה שיפנה אליו.


ד אַל תַּעַן כְּסִיל כְּאִוַּלְתּוֹ פֶּן תִּשְׁוֶה לּוֹ גַם אָתָּה. ה עֲנֵה כְסִיל כְּאִוַּלְתּוֹ פֶּן יִהְיֶה חָכָם בְּעֵינָיו

תגובה ללא ציטוט תגובה עם ציטוט חזרה לפורום
  #11  
ישן 29-11-2007, 15:30
  Xpein Xpein אינו מחובר  
 
חבר מתאריך: 21.01.06
הודעות: 813
אוקי, הוספתי הכל
בתגובה להודעה מספר 10 שנכתבה על ידי Nati323 שמתחילה ב "אתה לא צריך לעשות במקרה הזה..."

הוספתי את הטור של timeunix ושיניתי בהוספת משתמשים ובהוספת הודעה שזה יוסיף את הזמן הזה
עדיין נשארתי עם הבעיה..
עשיתי ככה:
קוד PHP:
 $q mysql_query ("SELECT * FROM msg_inbox WHERE `whogets`='$user' AND `timeunix` >= (SELECT `time_unix` FROM cpusers WHERE `nick`='$user') ORDER BY `ID` DESC") or die ("EROR: "mysql_error() . ")"); 

יש כמה בעיות
1. זה לא מציג את הודעה הפתיחה (smsg) וז"א שיש בעיה בתנאי של הזמן יוניקס
2. זה לא מציג הודעות גלובאליות בכלל

מה שכן זה מציג זה את ההודעות האחרות שנשלחות ע"י משתמשים רגילים אליו..
את הבדיקות שציינתי למעלה עשיתי במשתמש שנוצר לפני ששלחתי את ההודעה הגלובאלית
ז"א זמן היווצרות ע"פ יוניקס: 1196341972
זמן שליחת ההודעה הגלובאלית: 1196343088

והמשתמש לא קיבל גם את ההודעת הפתיחה (1196342800) וגם לא את ההודעה הגלובאלית (1196343088) אז מה הבעיה הפעם?

ושוב תודה!
_____________________________________
--- ! Area Close ! ---


נערך לאחרונה ע"י Xpein בתאריך 29-11-2007 בשעה 15:32.
תגובה ללא ציטוט תגובה עם ציטוט חזרה לפורום
תגובה

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

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

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

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



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

הדף נוצר ב 0.06 שניות עם 12 שאילתות

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

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