Newageman
Создатель
- Регистрация
- 3 Янв 2012
- Сообщения
- 45
- Реакции
- 5
- Автор темы
- #1
Всем здравствуйте. Сайт на Wordpress. Есть 4 таблицы в БД Mysql которые надо как-то связать.
Значения referrals.affiliate_id и affiliates.id совпадают. Например: 12 и 12
Таблица affiliates содержит в себе значения и 14 и 12 (возможно это как-то поможет в связке этих таблиц/столбцов).
Все эти значения относятся к одному пользователю.
Сейчас написан такой код (код хоть и кривой, но свою функцию выполняет. Всё выводит и считает в личном кабинете для каждого пользователя) В нём используются только первые две таблицы:
Вопрос: Как связать все эти столбцы между собой чтобы скрипт понял что это относится к одному пользователю? В соответствии с этим прибавить значение из referrals.amount к $amount (из кода выше) для пользователя к которому относятся эти столбцы. Ковыряю, ковыряю, а толка 0. Знаний совсем не хватает. Заранее большое спасибо.
- orders со столбцами uid, lid, amount_value, status, create_date
- users со столбцом id
- referrals со столбцами affiliate_id, amount, status
- affiliates со столбцами id, uid
Значения referrals.affiliate_id и affiliates.id совпадают. Например: 12 и 12
Таблица affiliates содержит в себе значения и 14 и 12 (возможно это как-то поможет в связке этих таблиц/столбцов).
Все эти значения относятся к одному пользователю.
Сейчас написан такой код (код хоть и кривой, но свою функцию выполняет. Всё выводит и считает в личном кабинете для каждого пользователя) В нём используются только первые две таблицы:
Код:
<?php
require_once 'connection.php';
$link = mysqli_connect($host, $user, $password, $database);
if (!$link) {
echo 'Не могу соединиться с БД. Код ошибки: ' . mysqli_connect_errno() . ', ошибка: ' . mysqli_connect_error();
exit;
}
global $wpdb;
$cur_user = wp_get_current_user()->user_login;
$cur_id = get_current_user_id();
$now = time();
$sql = mysqli_query($link, "SELECT " . $wpdb->base_prefix . "orders.create_date, " . $wpdb->base_prefix . "orders.uid, " . $wpdb->base_prefix . "orders.status , " . $wpdb->base_prefix . "orders.amount_value, " . $wpdb->base_prefix . "orders.lid, " . $wpdb->base_prefix . "users.id FROM " . $wpdb->base_prefix . "orders, " . $wpdb->base_prefix . "users WHERE " . $wpdb->base_prefix . "orders.uid=" . $wpdb->base_prefix . "users.id AND status= 'Completed'");
while ($result = mysqli_fetch_array($sql)) {
$start=($result['create_date']);
$user_uid=($result['uid']);
$user_id=($result['id']);
$stat=($result['status']);
$reg_lid=($result['lid']);
$amount=($result['amount_value']);
$datediff = date('d.m.Y') - date("d.m.Y", strtotime($result['create_date']));
if ($user_uid==$cur_id&&($reg_lid['lid']==1)) {
/* Начисляем процент для lid=1*/
$proc = 25; //Процентов за всё время
$proc_d =0.25*$datediff; //Процентов в день
$proc = $amount/100*$proc; // высчитываем процент от числа
$proc_d = $amount/100*$proc_d; // высчитываем процент в день от числа
$amountWithPct_all = $amount + $proc; // суммируем число с процентами от этого числа
$amountWithPct_d = $amount + $proc_d; // суммируем число с процентами в день от этого числа
round ($amountWithPct_all); // округляем
round ($amountWithPct_d); // округляем
echo "Дата оплаты: {$start}<br/>";
echo "Прошло дней: {$datediff}<br/>";
echo "Внесено: {$amount} ₽<br/>";
echo "Заработано на данный момент: $proc_d ₽<br/>";
echo "Cумма на конец периода: $amountWithPct_all ₽<br/><br/>";
}
elseif($user_uid==$cur_id&&($reg_lid['lid']==2)){
/* Начисляем процент для lid=2*/
$proc = 60; //Процентов за всё время
$proc_d =0.6*$datediff; //Процентов в день
$proc = $amount/100*$proc; // высчитываем процент от числа
$proc_d = $amount/200*$proc_d; // высчитываем процент в день от числа
$amountWithPct_all = $amount + $proc; // суммируем число с процентами от этого числа
$amountWithPct_d = $amount + $proc_d; // суммируем число с процентами в день от этого числа
round ($amountWithPct_all); // округляем
round ($amountWithPct_d); // округляем
echo "Дата оплаты: {$start}<br/>";
echo "Прошло дней: {$datediff}<br/>";
echo "Внесено: {$amount} ₽<br/>";
echo "Заработано на данный момент: $proc_d ₽<br/>";
echo "Cумма на конец периода: $amountWithPct_all ₽<br/><br/>";
}
elseif ($user_uid==$cur_id&&($reg_lid['lid']==3)){
/* Начисляем процент для lid=3*/
$proc = 89; //Процентов за всё время
$proc_d =0.89*$datediff; //Процентов в день
$proc = $amount/100*$proc; // высчитываем процент от числа
$proc_d = $amount/300*$proc_d; // высчитываем процент в день от числа
$amountWithPct_all = $amount + $proc; // суммируем число с процентами от этого числа
$amountWithPct_d = $amount + $proc_d; // суммируем число с процентами в день от этого числа
round ($amountWithPct_all); // округляем
round ($amountWithPct_d); // округляем
echo "Дата оплаты: {$start}<br/>";
echo "Прошло дней: {$datediff}<br/>";
echo "Внесено: {$amount} ₽<br/>";
echo "Заработано на данный момент: $proc_d ₽<br/>";
echo "Cумма на конец периода: $amountWithPct_all ₽<br/><br/>";
}
else{
}
}
?>
Последнее редактирование: