View Single Post
ישן 14-08-07, 15:31   # 1
daMn
הוסטסניון
 
מיני פרופיל
תאריך הצטרפות: Mar 2007
גיל: 35
הודעות: 2,050

daMn לא מחובר  

[SQL+PHP] בעיה בעיה בIF והכנסה לטבלה

אז ככה אני בונה מין מערכת ססטיסטיקה קטנה.

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

עד כאן בסדר,
ניקח דוגמא שיש לי למשל בשורה הראשונה ככה:
IP = 1.1.1.1
DATE = 13/08/2007

לאחר מכן עוד שורה שהיא
IP = 1.1.1.1
DATE = 14/08/2007

(*שימו לב לשינוי תאריך)

עכשיו למשל הIP הזה נכנס היום (14/08/2007) פעם שנייה כבר, אז המערכת שלי משום מה בודקת רק את השורה הראשונה ואז היא מוסיפה עוד פעם, ככה שיש לי פעמיים את הIP באותו תאריך.

הנה הקוד:

PHP קוד:
<?php 
include "../connection.php"; 

$ip_client       =   $_SERVER['REMOTE_ADDR'];
$refer           =   $_SERVER['HTTP_REFERER']; 
$current_date    =   date ("d/m/Y");


$sql = mysql_query("SELECT * FROM statistics");
$num_rows = mysql_num_rows($sql);
if (
$num_rows == 0 ) {
mysql_query("INSERT INTO statistics (ip, date) VALUES ('$ip_client', '$current_date')"); 
} 


$ips = mysql_query("SELECT * FROM statistics WHERE ip='$ip_client'");
$row = mysql_fetch_array($ips);

if (
$ip_client == $row['ip'] AND $current_date != $row['date']) {
mysql_query("INSERT INTO statistics (ip, date) VALUES ('$ip_client', '$current_date')");
}

if (
$ip_client != $row['ip']) { 
mysql_query("INSERT INTO statistics (ip, date) VALUES ('$ip_client', '$current_date')");
}  

?>
אני צריך שהיא תבדוק את כל השורות ואם יש באחת השורות אותו איפי ואותו תאריך אז זה לא מוסיף, ואני לא ממש מצליח...
__________________
"חינוך למדעי המחשב לא יכול להפוך אף אחד למתכנת מומחה יותר מאשר לימוד על מברשות וצבעים יכול להפוך מישהו לצייר מיומן."
(אריק ס. ריימונד)
  Reply With Quote