Помогите вставить условия и формулу

moradin

Постоялец
Регистрация
11 Фев 2016
Сообщения
76
Реакции
14
Помогите в скрипт
$inp=curl($url);
$dd=date("Y-m-d H:i:s");
$inp = new SimpleXMLElement($inp);
foreach($inp->stat as $a){
$sqlw['transaction_id']=$a->order_id;
$sql['transaction_id']=$a->order_id;
$sql['transaction_amount']=$a->cart;
$sql['transaction_commision']=$a->payment;
$sql['user_id']=$a->subid;
$sql['program_id']=$a->advcampaign_id;
$sql['retailer']=$a->advcampaign_name;
$sql['status']=$a->status;

$sql_ret['program_id']=$a->advcampaign_id;
$x=db_read('cashbackengine_retailers',$sql_ret);
$b=str_replace('%','',$x[0]['cashback']);
$sql['amount']=round($b*strval($sql['transaction_amount'])/100,2);
$x=db_read($tbl,$sqlw);
if(!$x){
$sql['created']=$dd;
$sql['updated']=$dd;
db_ins($tbl,$sql);
}else{
$sql['updated']=$dd;
db_up($tbl,$sql,$sqlw);
}
}
вставить условие, что если amount > transaction_commision, то вместо amount должна выводиться цифра из transaction_commision - 5%.
 
Последнее редактирование:
Так и я могу. А как правильно вставить, чтобы работало?
Есть еще один скрипт от такой же cms, но она полностью переделана.
<?php

session_start();

require_once("../inc/config.inc.php");
set_time_limit(0);
$cDevKey = '';
//Read id of linkshare from the database starts
$query_nw_id = "SELECT network_id FROM cashbackengine_affnetworks WHERE network_name = 'Commission Junction'";
$rs = smart_mysql_query($query_nw_id);
$total = mysql_num_rows($rs);
if($total > 0)
{
$row_nw = mysql_fetch_assoc($rs);
$network_id = $row_nw['network_id'];
}//Read id of commision junction from the database ends

if((isset($_GET['start_date'])) && ($_GET['start_date']!="")&& (isset($_GET['end_date'])) && ($_GET['end_date']!=""))
{
$start_date = $_GET['start_date'];
$end_date = $_GET['end_date'];
}
else {
//Current date and time
$current_date = date('Ymd'); // SETTING THESE VARIABLES pending
$current_time = date('His');
//Conditions to check and set start and end date for the query
if(($current_time>000000)&&($current_time<010000))
{
$start_date = $current_date - 1;
}
else
{
$start_date = $current_date;
}
//Computing start and end date for the cURL
$end_date = date("Y-m-d", strtotime($current_date));
$start_date = date("Y-m-d", strtotime($start_date));
}

$cURL = "https://";
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $cURL);
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
'Authorization: ' . $cDevKey,
'User-Agent: "Mozilla/5.0 (Windows; U; Windows NT 6.0; en-US; rv:1.9.0.15) Gecko/2009101601 Firefox/3.0.15 GTB6 (.NET CLR 3.5.30729)"'
));

curl_setopt($ch, CURLOPT_HEADER, false);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 10);
curl_setopt($ch, CURLOPT_TIMEOUT, 10);

$cHTML = curl_exec($ch);
if (curl_error($ch)) {
echo "Curl error: " . curl_error($ch);
}
else {
$cXML = simplexml_load_string($cHTML);
for ($i = 0; $i < count($cXML->commissions->commission); $i++) {
$insert_flg = 1;
$single = $cXML->commissions->commission[$i];
$program_id = $single->cid;
$transaction_id = $single->{'order-id'};
$user_id =$single->sid;
$transaction_amount = $single->{'sale-amount'};
$commission = $single->{'commission-amount'};
$status = $single->{'action-status'};
$original_action_id = $single->{'original-action-id'};
$retailer = $single->{'advertiser-name'};
$transaction_date = $single->{'event-date'};
$transaction_date= date('Y-m-d h:i:s',strtotime($transaction_date));
//$transaction_date = explode('T',$transaction_date);
//$transaction_date = $transaction_date[0].' 00:00:00';
//Query to check whether the transaction already exists in database
$query_chk_ref = "SELECT program_id,transaction_id,user_id,amount,transaction_amount,transaction_commision,transaction_date,original_action_id FROM cashbackengine_transactions WHERE original_action_id = '$original_action_id'";

$rs = smart_mysql_query($query_chk_ref);
$total = mysql_num_rows($rs);
if($total > 0)
{
while($rows = mysql_fetch_array($rs))
{

if(// If any match then nothing will happen otherwise - new record will be inserted
($program_id == $rows['program_id']) &&
($user_id == $rows['user_id']) &&
($transaction_amount == $rows['transaction_amount']) &&
($commission == $rows['transaction_commision']) &&
($original_action_id == $rows['original_action_id'])
)
{
$insert_flg = 0;
}
}

}

if($insert_flg == 1)
{
//Calculating the amount to be cashback from the cashback % given using network_id and program_id
$query = "SELECT cashback FROM cashbackengine_retailers WHERE network_id='$network_id' AND program_id='$program_id' LIMIT 1";

$cashback_result = smart_mysql_query($query);
$cashback_row = mysql_fetch_array($cashback_result);

$cashback_store = mysql_real_escape_string($cashback_row['title']);
$cashback = $cashback_row['cashback'];

if ($cashback != "")
{
if (strstr($cashback, '%'))
{
$cashback_percent = str_replace('%','',$cashback);
$member_money = CalculatePercentage($transaction_amount, $cashback_percent);
}
else
{
if ($commission < $cashback)
{
$member_money = $cashback;
$cashbackengine_status = "incomplete";
$reason = "too high cashback value";
}
else
{
$member_money = $cashback;
}
}
}
//status of the transaction by default : pending

$status = 'pending';


$query = "INSERT INTO cashbackengine_transactions SET
network_id = '$network_id',
program_id ='$program_id',
reference_id='$transaction_id',
user_id ='$user_id',
transaction_amount = '$transaction_amount',
transaction_commision = '$commission',
status = '$status',
created = NOW(),
amount = '$member_money',
original_action_id = '$original_action_id',
payment_type ='cashback',
transaction_date = '$transaction_date',
retailer = '$retailer'
";

$result = smart_mysql_query($query);

//If commission is less than the amount then fire an email to the
if($commission < $member_money && $result==1)
{
$insert_id = mysql_insert_id();
$to = SITE_MAIL;
$subject = 'Cashback amount is more than commision';
$message = 'Please check the transaction with id : '.$insert_id.'\n
The commision of this particular transaction is :'.$commission.'\n
Money for the member is :'.$member_money.' ,Which is more than the commision, Which seems like
a conflict, please resolve this issue';

$headers = 'From: '.SITE_TITLE.' <'.NOREPLY_MAIL.'>' . "\r\n";

mail($to, $subject, $message, $headers);
$insert_id = 0;
}
}
} // ends for ($i = 0; $i < count($cXML->commissions->commission); $i++)
} // ends else from if (curl_error($ch))
?>
 
Так это потому, что я подсказал;)
А как правильно вставить, чтобы работало?
Второй скрипт выкладываю не полностью.
Поиграть в экстрасенсов предлагаете?
А вообще, откуда нам знать, КАК должен работать результат?
Вы вообще что собираетесь делать этим скриптом?
 
Так это потому, что я подсказал;)


Поиграть в экстрасенсов предлагаете?
А вообще, откуда нам знать, КАК должен работать результат?
Вы вообще что собираетесь делать этим скриптом?
Первый скрипт рабочий, но формула по другому считает. И только высчитывает кэшбэк в процентах, а если за покупку определенную сумму поставить, то не правильно, вот во втором скрипте (это оригинал csv-import с cms) это все есть, и в третьем - тоже переделан под импорт из xml,тоже это все работает.
 
Назад
Сверху