v2.5.2
Giriş yap

Sort Fonksiyonu aldığım hata

hakankorkz
408 defa görüntülendi

Merhaba arkadaşlar.

Sıralama/Sort Fonksiyonu işlemi yapıyorum fakat ilk işlem de olay sorunsuz çalışıyor işlem 0 dan büyük geldiğin de fonksiyon takrar çalıştığın da aşağıda bulunan hatayı alıyorum görsel de ki gibi

kodlar

operation.php

$categorySort = (!empty(htmlspecialchars($_POST['categorySort']))) ? htmlspecialchars($_POST['categorySort']) : 1;

    $query = "select * from ortoped6_dernek.categories where categorySort=:categoryOrder";

    $params = [['categoryOrder', $categorySort, PDO::PARAM_INT]];

   echo $sort = sortControl($query, $params, $categorySort);
   

function.php


/**
 * @param string $query
 * @param array $params
 * @param int $sort
 * @param int $parent
 * @return int
 */
function sortControl(string $query, array $params, int $sort, int $parent = 0): int
{

    global $db;

    global $result;

    $querySort = $db->prepare("$query");
    foreach ($params as $param) {
        $querySort->bindParam($param[0], $param[1], $param[2]);
    }

    $querySort->execute();

   $control = $querySort->rowCount();

    if ($control > 0) {
        $sorts = $sort+ 1;
        sortControl($query, $params, $sorts);

    } else {
        $result = $sort;
    }

    return $result;
}

Cevap yaz
Cevaplar (2)
hakankorkz
704 gün önce

iki parantez kullanma sebebim ikinci bir paranms değeri de yollarsam diye örneğin


$params = [['categoryOrder', $categorySort, PDO::PARAM_INT],['categoryID', $categoryID, PDO::PARAM_INT]];

diyerek bir params daha atarsam onları alabilmek için

munzevi
706 gün önce
$params = [['categoryOrder', $categorySort, PDO::PARAM_INT]];

dış parantezleri kaldırırsan sorun çözülecektir.

foreach ($params as $param)

döngüye aldığın 1 derinlik var, o da params[0] çıktısıda şöyle;

0 => [ 0 => 'categoryOrder', 1 => '8', 2 => 1]

veya

foreach ($params[0] as $param)

yaparsan sorun çözülecektir.