Ik krijg deze 2 foutmeldingen: Notice: Undefined variable: arrx in D:\xampp\htdocs\website\foodpoint\print.php on line 147

Warning: Invalid argument supplied for foreach() in D:\xampp\htdocs\website\foodpoint\print.php on line 147

de code op line 147 is: foreach($arrx as $obj) {
Dan kan het geen kwaad om eens de stofdoek erdoor heen te halen ;-).
Dar zal iedereen blij mee zijn.
- Ariën - op 08/09/2020 15:22:54

Dan kan het geen kwaad om eens de stofdoek erdoor heen te halen ;-).
Dar zal iedereen blij mee zijn.


haha ja dat klopt, ik ga daar aan het einde eens een keer langs. ik probeer nu om een check box te veranderen naar een button, misschien dat jij daar een oplossing voor hebt?
Debuggen is een proces van eliminatie.

Hierbij helpt het (enorm) wanneer je vertrouwd bent met functiedefinities, returnwaarden en wat deze returnwaarden betekenen. PHP.net heeft zéér uitgebreide documentatie die je hierbij kan assisteren.

Zo staat bij mysqli_query() onder het kopje Return Values onder andere het volgende:
Returns FALSE on failure.


Je zou dus in één stap direct na kunnen gaan of de query goed ging of niet door direct na de regel met $resultx = mysqli_query(...) het volgende te zetten:
<?php
var_dump(resultx);
?>

Als hier false uitkomt weet je meteen dat het probleem in de query zit.

Maar, misschien is het zoiets simpels als $arr[color=#ff0000]x[/color] versus $arr[color=#ff0000]X[/color].

PHP is nog altijd case sensitive bij mijn weten.
He Thomas, bedankt voor je reactie. $arrx versus $arrX. dit had ik als eerste al geprobeerd maar dat maakte geen verschil.
En ook als ik dat stukje php code toevoeg gebeurt er niks.
Vergeet de $ niet voor resultx.
- Ariën - op 09/09/2020 09:27:30

Vergeet de $ niet voor resultx.

Helpt alsnog niet.
Dan doe je iets fout, want je zou echt iets moeten zien.
- Ariën - op 09/09/2020 09:44:18

Dan doe je iets fout, want je zou echt iets moeten zien.


Ik denk dat ik het dan tussen het verkeerde stukje plak.

if ($resultx = mysqli_query($link, $sqlx)) {
$arrx = [];while ($objx = mysqli_fetch_object($resultx)) {
$arrx[] = $objx;
}
Als ik het goed begrijp moet het hier tussen toch?
Zet even een ENTER na elke punt-komma. We willen graag helpen met je code, zolang het maar geen spaghetti-vormen gaat aannemen. Het gebruik van TAB bij if/while statements is ook niet verboden. ;)

Ik heb de code even wat overzichtelijker gemaakt, en de query even opgedeeld in een los deel, zodat je makkelijker kan debuggen.

<?php
$resultx = mysqli_query($link, $sqlx);
var_dump($resultx);
if ($resultx) {
$arrx = [];
while ($objx = mysqli_fetch_object($resultx)) {
$arrx[] = $objx;
}
} else {
// Query mislukt, debug verder met mysqli_error($link);
}
?>

Reageren