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{
        }   
  }
?>
			
				Последнее редактирование: 
			
		
	
								
								
									
	
		
			
		
		
	
	
	
		
			
		
		
	
								
							
							 
				 
 
		



 
 
		