PDA

View Full Version : سوال: مشکل با update



aria17
پنج شنبه 08 اسفند 1387, 11:28 صبح
سلام
کسی می تواند کمک کند که مشکل کد زیر چیه؟
هیچ خطایی نمی گیرد ولی رکوردها update نمی شوند



<?php
//connet to MySQL server
$db = mysql_connect("localhost", "test1", "123456");
mysql_select_db('test');
$dt=date('Y-m-d',time()-0.5*3600);
$tt=time()-(45*60);
$sh=date('Hi',$tt);
$query = "select * from jos_chronoforms_1 inner join jos_chronoforms_6 on
jos_chronoforms_1.cf_id=jos_chronoforms_6.cfid and jos_chronoforms_1.status=0";
$result = mysql_query($query);

define("A","A");
define("B","B");
$num = mysql_num_rows($result);


for($i=0; $i<$num; $i++)
{
$row = mysql_fetch_row($result);


$odd=$row[44];

if ($odd>0)
{

$win=$row[47];
$loss=$row[46];

}
else
{

$win=$row[46];
$loss=$row[47];

}
$ftdif=($row[14])-($row[15]);
$htdif=($row[20])-($row[21]);
$ftover=($row[14])+($row[15]);
$line=$row[43];
$userid=$row[40];
$ccredit=$row[37]-$loss;
$tip=$row[42];
$halfwin=0.5*$win;
$halfloss=0.5*$loss;
echo "win.$win";echo "<br>";
echo $loss;echo "<br>";
echo $ccredit;echo "<br>";
echo $ftdif;echo "<br>";



if ($tip=="بازي کامل")
{
switch ($line)
{
case '-0.25':
{
if ($ftdif==0)
{
echo "zero";echo "<br>";
echo $ccredit;echo "<br>";
echo $halfloss;echo "<br>";
$credit=$ccredit+$halfloss;
echo "user.$row[40]";echo "<br>";
echo $credit;echo "<br>";
$update = "update jos_comprofiler set cb_credit='$credit' WHERE user_id = '$userid'";
$results = mysql_query($update)
or die(mysql_error());

}
elseif ($ftdif>0)
{
echo "over";echo "<br>";

$ss=$ccredit+$loss+$win;
echo $ss;
$update = "UPDATE jos_comprofiler set cb_credit='155' WHERE user_id = '$userid'";
$results = mysql_query($update);
}
else
{
echo "under";
$update = "UPDATE jos_comprofiler set cb_credit='$ccredit' WHERE user_id = '$userid'";
$results = mysql_query($update);
}
}

case '0.25':
{
if ($ftdif==0)
{
$credit=$ccredit+$loss+$halfwin;
$update = "UPDATE jos_comprofiler set cb_credit='$credit' WHERE user_id = '$userid'";
$results = mysql_query($update);
}
elseif ($ftdif>0)
{
$update = "UPDATE jos_comprofiler set cb_credit='$ccredit' WHERE user_id = '$userid'";
$results = mysql_query($update);
}
else
{
$credit=$ccredit+$loss+$win;
$update = "UPDATE jos_comprofiler set cb_credit='$credit' WHERE user_id = '$userid'";
$results = mysql_query($update);
}
}
?>

smhnaji
پنج شنبه 08 اسفند 1387, 11:56 صبح
سلام
قبل از این که کوئری‌های آپدیت رو execute کنی، همه رو echo کن تا ببینی مشکل چیه.

یه پیشنهاد: بهتره برای خواناتر شدن این کد، به‌جای تگ CODE، از تگ PHP استفاده کنی دوست خوبم.

aria17
پنج شنبه 08 اسفند 1387, 12:11 عصر
سلام
این از کد اولیه



?php
//connet to MySQL server
$db = mysql_connect("localhost", "test1", "123456");
mysql_select_db('test');
$dt=date('Y-m-d',time()-0.5*3600);
$tt=time()-(45*60);
$sh=date('Hi',$tt);
$query = "select * from jos_chronoforms_1 inner join jos_chronoforms_6 on
jos_chronoforms_1.cf_id=jos_chronoforms_6.cfid and jos_chronoforms_1.status=0";
$result = mysql_query($query);

define("A","A");
define("B","B");
$num = mysql_num_rows($result);


for($i=0; $i<$num; $i++)
{
$row = mysql_fetch_row($result);


$odd=$row[44];

if ($odd>0)
{

$win=$row[47];
$loss=$row[46];

}
else
{

$win=$row[46];
$loss=$row[47];

}
$ftdif=($row[14])-($row[15]);
$htdif=($row[20])-($row[21]);
$ftover=($row[14])+($row[15]);
$line=$row[43];
$userid=$row[40];
$ccredit=$row[37]-$loss;
$tip=$row[42];
$halfwin=0.5*$win;
$halfloss=0.5*$loss;
echo "win.$win";echo "<br>";
echo $loss;echo "<br>";
echo $ccredit;echo "<br>";
echo $ftdif;echo "<br>";



if ($tip=="بازي کامل")
{
switch ($line)
{
case '-0.25':
{
if ($ftdif==0)
{
echo "zero";echo "<br>";
echo $ccredit;echo "<br>";
echo $halfloss;echo "<br>";
$credit=$ccredit+$halfloss;
echo "user.$row[40]";echo "<br>";
echo $credit;echo "<br>";
$update = "update jos_comprofiler set cb_credit='$credit' WHERE user_id = '$userid'";
$results = mysql_query($update)
or die(mysql_error());

}
elseif ($ftdif>0)
{
echo "over";echo "<br>";

$ss=$ccredit+$loss+$win;
echo $ss;
$update = "UPDATE jos_comprofiler set cb_credit='155' WHERE user_id = '$userid'";
$results = mysql_query($update);
}
else
{
echo "under";
$update = "UPDATE jos_comprofiler set cb_credit='$ccredit' WHERE user_id = '$userid'";
$results = mysql_query($update);
}
}

case '0.25':
{
if ($ftdif==0)
{
$credit=$ccredit+$loss+$halfwin;
$update = "UPDATE jos_comprofiler set cb_credit='$credit' WHERE user_id = '$userid'";
$results = mysql_query($update);
}
elseif ($ftdif>0)
{
$update = "UPDATE jos_comprofiler set cb_credit='$ccredit' WHERE user_id = '$userid'";
$results = mysql_query($update);
}
else
{
$credit=$ccredit+$loss+$win;
$update = "UPDATE jos_comprofiler set cb_credit='$credit' WHERE user_id = '$userid'";
$results = mysql_query($update);
}
}
?>
منظور شما این بود که $results را echo کنم
با این کار عدد یک به دست آمده که نمی دانم چه معنی می دهد؟
متشکرم

smhnaji
پنج شنبه 08 اسفند 1387, 12:36 عصر
[aria17=QUOTE]منظور شما این بود که $results را echo کنم
با این کار عدد یک به دست آمده که نمی دانم چه معنی می دهد؟
متشکرم [/QUOTE]
نه نه، خود کوئری رو اکو کن دوست خوبم ($update ها رو منظورم هست)

که بفهمیم دقیقا چه کوئری‌یی به دیتابیس فرستاده می‌شه و متغیرهای توی کوئری چه مقداری دارن