PDO - MySQL-variabelen gebruiken

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Top Low-Code Developer Gezocht!

Bedrijfsomschrijving Unieke Kansen, Uitstekende Arbeidsvoorwaarden & Inspirerend Team Wij zijn een toonaangevende, internationale organisatie die de toekomst van technologie vormgeeft door het creëren van innovatieve en baanbrekende oplossingen. Ons succes is gebaseerd op een hecht en gepassioneerd team van professionals die altijd streven naar het overtreffen van verwachtingen. Als jij deel wilt uitmaken van een dynamische, vooruitstrevende en inspirerende werkomgeving, dan is dit de perfecte kans voor jou! Functieomschrijving Als Low-Code Developer ben je een cruciaal onderdeel van ons team. Je werkt samen met collega's uit verschillende disciplines om geavanceerde applicaties te ontwikkelen en te optimaliseren met behulp van Low-code

Bekijk vacature »

Dymo Masta

Dymo Masta

31/05/2018 23:44:04
Quote Anchor link
Beste lezers,

Ik loop tegen een knelpunt aan waar ik niet uitkom. Heb van alles geprobeerd maar het lukt mij niet in mij eentje.

Ik maak gebruik van onderstaande functie:

Code:

function fetch_notitie($table, $idn, $start, $limit) {
$query = "SET @i=0;";
// $res = $this->runQuery($query);
// $res->execute();
$query = "SELECT B.id, B.Stmt, B.Amt, B.VDt, B.BDt, B.Nm, B.Acct, B.Ustrd, B.Ind, B.Cd, B.CL, B.OP, B.CL, LS.omg, CB.cl_id, ruimte FROM $table B
LEFT JOIN codes TC ON B.Cd = TC.code
LEFT JOIN letter LS ON LS.letter = TC.letter
LEFT JOIN cl_bg CB ON B.Stmt = CB.cl_bg
LEFT JOIN (SELECT Stmt,
SUM (
CASE
WHEN Ind = 'D' THEN 0 - Amt
ELSE Amt
END) AS ruimte FROM notitie GROUP BY notitie.Stmt ) AS BB ON BB.Stmt = B.Stmt
WHERE B.Amt > 0 AND B.Stmt = ?
ORDER BY B.id ASC";
// $query = "SET @i=0;";
$res = $this->runQuery($query);
$res->execute([$idn]);
$result = $res->fetchAll(PDO::FETCH_ASSOC);
return $result;
}

nou wil ik volgende stuk aan Query toevoegen:
Code:

(@i: = @i + IF(B.Ind = 'C', +B.Amt, -B.Amt)) as saldo

Ik krijg een leeg saldo omdat ik niet weet hoe/waar ik dit stukje in moet verwerken
Code:

SET @i=0

In de phpMyAdmin zet ik
Code:

SET @i=0

voor de SELECT en ik krijg de gewenste resultaat maar het werkt niet in de functie zoals hierboven.

Hopelijk heb ik het duidelijk beschreven. Kan iemand mij hiermee helpen of mij in de juiste richting duwen.

Alvast bedankt voor het meedenken en de moeite.
 
PHP hulp

PHP hulp

22/12/2024 20:50:56
 
Thomas van den Heuvel

Thomas van den Heuvel

01/06/2018 13:39:33
Quote Anchor link
Ik weet niet precies wat runQuery() doet?

nyhoo, misschien kun je overwegen om een FUNCTION of PROCEDURE te introduceren? Of een subquery. Of een aparte query. Of je zou wat rekenwerk kunnen verplaatsen naar PHP. Mogelijk doe je er (dan) ook verstandig aan om e.e.a. in een database-transactie te zetten, om te garanderen dat het werk dat je probeert te verzetten één ondeelbare actie is.
 
Dymo Masta

Dymo Masta

01/06/2018 16:35:18
Quote Anchor link
Inmiddels heb ik het vandaag opgelost.

Oplossing is, twee keer je query aanroepen.

function fetch_notitie($table, $idn, $start, $limit) {
$query = "SET @i=0;";
$res = $this->runQuery($query);
$res->execute();
$query = "SELECT ......
.....
$res = $this->runQuery($query);
$res->execute();
Gewijzigd op 01/06/2018 16:36:17 door Dymo Masta
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.