var_dump (getRecommendation ($ matrix, $ getName)) возвращает ноль. Извлеченные значения получаются в порядке - PullRequest
0 голосов
/ 03 мая 2020

Я пытаюсь создать систему рекомендаций, сейчас я просто хочу, чтобы функция getRecommendation не возвращала ноль. Я проверил все восстановленные данные из sql, и эти данные получены, нет проблем с восстановленными данными все еще учатся php, обратная связь очень ценится

<?php 
        require('connection.inc.php');
        require('recommend.php');
        $matrix=array();
        $userID=$_SESSION['USER_ID'];
        $reco=mysqli_query($con,"select userrating.*,product.id,product.productName from userrating inner join product ON userrating.userID='$userID' AND userrating.productID=product.id");


            while($rec=mysqli_fetch_array($reco))
            {

                $users=mysqli_query($con,"select users.name from users where users.id=$rec[userID]");
                $username=mysqli_fetch_array($users);

                $matrix[$username['name']][$rec['productName']]=$rec['rating'];
                $getName= $username['name'];

            }
            var_dump(getRecommendation($matrix,$getName));
        ?>

    **this is the function file **


     <?php
    function similarityDistance($matrix,$product1,$product2)
    {
        $similar=array();
        $sum=0;

        foreach($matrix[$product1] as $key=>$value)
        {
            if(array_key_exists($key,$matrix[$product2]))
            {
                $similar[$key]=1;
            }

        }
            if($similar==0)
            {
                return 0;
            }

        foreach($matrix[$product1] as $key=>$value)
        {

            if(array_key_exists($key,$matrix[$product2]))
            {
                $sum=$sum+pow($value - $matrix[$product2][$key],2);
            }
        }
        return 1/(1+sqrt($sum));

    }

    function getRecommendation($matrix,$prod)
    {
        foreach($matrix as $otherProduct=>$value)
        {
            if($otherProduct!=$prod){
                $sim=similarityDistance($matrix,$prod,$otherProduct);
                var_dump($sim);
            }
        }

    }
    ?>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...