Notice: Trying to access array offset on value of type null

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Pascal vanholder

pascal vanholder

06/10/2020 19:19:32
Quote Anchor link
Hallo,

Na enkele jaren als amateur php te gebruiken, probeer ik het php programmeren te hernemen, wat niet gemakkelijk is met de PHP7.
Via de onderstaande code wil ik de gegevens uit de mysql tabel halen.
wat lukt met het eerste deel code omop te halen met alle cellen naast elkaar zonder opmaak, maar ik wil deze nu in een tabel zetten om een mooier uitzicht te hebben.
met onderstaande code als ik volgend zet dat deze niet uitgevoerd wordt of verwijder "echo "$row[id] $row[dag] $row[open] $row[openu] $row[openu] <a href='edit.php?edit=$row[id]'>edit<br /><br /></A>";"
heeft hij juist weer in de cel id het aantal records dat ik heb in de database heb en de rest geeft hij lege cellen weer tot aan de cel waar edit staat.
volgende fout meldingen verschijnen.

Notice: Trying to access array offset on value of type null in C:\xampp\htdocs\kring\admin_a\openingsuur.php on line 12
Notice: Trying to access array offset on value of type null in C:\xampp\htdocs\kring\admin_a\openingsuur.php on line 13
Notice: Trying to access array offset on value of type null in C:\xampp\htdocs\kring\admin_a\openingsuur.php on line 14
Notice: Trying to access array offset on value of type null in C:\xampp\htdocs\kring\admin_a\openingsuur.php on line 15.

wat doe ik verkeerd?
hier onder de code die wou gebruiken om in tabel weer te geven
Wie kan mij op het juist spoor zetten?
Waar kan ik uitleg vinden over de php7 en het gebruik ervan.

op voorhand bedankt voor de hulp

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33

<?php
include_once('db.php');
 
$res = mysqli_query($conn,"SELECT * FROM openingsuur");
?>


<h1> Openingsuren ..</h1><br />
<?php
while($row= mysqli_fetch_array($res))
 echo "$row[id] $row[dag] $row[open] $row[openu] $row[openu]  <a href='edit.php?edit=$row[id]'>edit<br /><br /></A>";

$id = $row['id'];
$dag = $row['dag'];
$open = $row['open'];
$openu = $row['openu'];
$sluitu = $row['sluitu'];
echo $dag;

 
?>


<TABLE BORDER="1">
 <TR>
<TD WIDTH="30"><?php echo $id ;?></TD>
<TD><?php echo $dag ;?></TD>
<TD><?php echo $open ;?></TD>
<TD><?php echo $openu ;?></TD>
<TD><?php echo $sluitu ;?></TD>
<TD><a href='edit.php?edit=$row[id]'>edit<br /><br /></A> </TD>
</TR>
 
 </TABLE>
Gewijzigd op 06/10/2020 19:35:47 door Pascal vanholder
 
PHP hulp

PHP hulp

28/11/2024 22:49:21
 
- Ariën  -
Beheerder

- Ariën -

06/10/2020 19:20:38
Quote Anchor link
Zou je de code tussen code-tags willen plaatsen? Dan is het beter leesbaarder.

Op welke regel is de fout volgens de foutmelding?
Gewijzigd op 06/10/2020 19:21:17 door - Ariën -
 
Pascal vanholder

pascal vanholder

06/10/2020 19:25:36
Quote Anchor link
hallo Ariën,
mijn excuus maar zal eens moeten zien hoe ik dat onder code tags moet zetten.

is mijn eerst keer dat ik iets post


Toevoeging op 06/10/2020 19:26:17:

de foutmeldingen zijn deze

Notice: Trying to access array offset on value of type null in C:\xampp\htdocs\kring\admin_a\openingsuur.php on line 12

//Notice: Trying to access array offset on value of type null in C:\xampp\htdocs\kring\admin_a\openingsuur.php on line 13

//Notice: Trying to access array offset on value of type null in C:\xampp\htdocs\kring\admin_a\openingsuur.php on line 14

//Notice: Trying to access array offset on value of type null in C:\xampp\htdocs\kring\admin_a\openingsuur.php on line 15
 
- Ariën  -
Beheerder

- Ariën -

06/10/2020 19:26:27
Quote Anchor link
Tussen [co de] en [/ code]

Zonder spaties in die tag uiteraard.
Gewijzigd op 06/10/2020 19:26:42 door - Ariën -
 
- SanThe -

- SanThe -

06/10/2020 19:30:46
Quote Anchor link
Het gebruik van enkele en dubbele accolades klopt van geen meter.
Verder probeer je $row te benaderen met constanten. Gebruik $row['accolades'].
 
- Ariën  -
Beheerder

- Ariën -

06/10/2020 19:50:31
Quote Anchor link
Je gebruikt nu $row[id] $row[dag]. En id, dag etc worden niet als string gezien, maar als een constante. Vroeger viel PHP nog terug op een type-herkenning als het geen constante was, maar nu is daar een eind aan gekomen.

Als je het helemaal netjes wilt doen, en je ook netjes je variabelen buiten quotes wilt plaatsen:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
 echo $row['id']." ".$row['dag']." ".$row['open']."<a href='edit.php?edit=".$row['id']."'>edit<br /><br /></a>";
?>


Verder is de toekenning op lijn 13 t/m 17 onnodig, want waarom zou je variabelen kopiëren? Ze zijn immers toch al bekend ;-)?
Gewijzigd op 06/10/2020 19:51:49 door - Ariën -
 
Pascal vanholder

pascal vanholder

06/10/2020 20:18:20
Quote Anchor link
hallo,

Volgende code gaf op deze manier wel mijn 7 records weer die in de database staat.
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11

<?php
include_once('db.php');
$res = mysqli_query($conn,"SELECT * FROM openingsuur");
?>

<h1> Openingsuren ..</h1><br />
<?php
while($row= mysqli_fetch_array($res))
 echo "$row[id] $row[dag] $row[open] $row[openu] $row[openu]  <a href='edit.php?edit=$row[id]'>edit<br /><br /></A>";
?>

 

en dit zonder de foutmelding, maar dit geeft het weer zonder enige opmaak, vandaar dat ik mijn gegevens wil weergeven in een tabel voor enige opmaak te hebben maar daar loopt het mis. op dat moment heb ik de regel verwijderd waar ik het ga uitlezen en is het de rest van de code die ik gebruik.
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
echo "$row[id] $row[dag] $row[open] $row[openu] $row[openu]  <a href='edit.php?edit=$row[id]'>edit<br /><br /></A>";

De enigste 2 cellen waar iets in staat op dat moment is deze van ID voor mij de getelde records van de database daar er 7 records instaan in mysql en de edit in de laatste cel.
die regel heb ik juist als test gebruikt om te zien of de gegevens kon weergeven worden op de php pagina.
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
[echo "$row[id] $row[dag] $row[open] $row[openu] $row[openu]  <a href='edit.php?edit=$row[id]'>edit<br /><br /></A>";
Gewijzigd op 06/10/2020 20:22:53 door pascal vanholder
 
- Ariën  -
Beheerder

- Ariën -

06/10/2020 20:23:35
Quote Anchor link
Zie mijn code in het bericht erboven.

De variabele $row['id'] (ja, met quotes) in je link hoort wel binnen PHP-tags en de echo.
Gewijzigd op 06/10/2020 20:30:34 door - Ariën -
 
- SanThe -

- SanThe -

06/10/2020 20:31:48
Quote Anchor link
Waarom negeer je onze posts?

Tip:
<table>
<tr><th>titels</th></tr>
>>>> while($row = ....)
>>>> { echo '<tr><td>'.$row['xxx'].'</td></tr>';
>>>> }
</table>
 
Thomas van den Heuvel

Thomas van den Heuvel

06/10/2020 22:03:13
Quote Anchor link
Indien de tabel "openingsuur" meerdere records bevat, met voor elke dag een apart record, dan zal het stuk code waarin de tabel (met meerdere rijen) wordt gegenereerd in een code-blok tussen { accolades } moeten worden gezet met daarbuiten het while() { ... } statement.

Op dit moment haal je met het while-statement weliswaar alle records op, maar omdat je hiervoor dezelfde variabelen gebruikt houd je uiteindelijk alleen de waarden over van de laatste dag omdat voorgaande waarden elke stap van de while-loop overschreven worden.

Het zal dus inderdaad zoiets moeten worden zoals @SanThe voorstelt.
Gewijzigd op 06/10/2020 22:03:37 door Thomas van den Heuvel
 
Pascal vanholder

pascal vanholder

07/10/2020 01:14:47
Quote Anchor link
hallo,

Bedankt voor de hulp en het geduld, ik denk dat er vooral een misverstand was van mijne kant.
ik heb er het volgende van gemaakt.
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<?php
include_once('db.php');
$res = mysqli_query($conn,"SELECT * FROM openingsuur");
?>

<h1>openingsuur</h1>
<br />
<table BORDER="1">
<tr><th>id</th><th>dag</th><th>open/gesloten</th><th>openingsuur</th><th>sluitingsuur</th></tr>
<?php
while($row= mysqli_fetch_array($res))
{

echo '<tr><td>'.$row['id'].'</td>';
echo '<td>'.$row['dag'].'</td>';
echo '<td>'.$row['open'].'</td>';
echo '<td>'.$row['openu'].'</td>';
echo '<td>'.$row['sluitu'].'</td>';}?>

</tr></table>

en dit werkt.
Moest er nog opmerkingen zijn, geef maar gerust door. Bedankt
Gewijzigd op 07/10/2020 01:23:39 door pascal vanholder
 
- SanThe -

- SanThe -

07/10/2020 08:54:37
Quote Anchor link
Pascal vanholder op 07/10/2020 01:14:47:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
<?php
while($row= mysqli_fetch_array($res))
{

echo '<tr><td>'.$row['id'].'</td>';
echo '<td>'.$row['dag'].'</td>';
echo '<td>'.$row['open'].'</td>';
echo '<td>'.$row['openu'].'</td>';
echo '<td>'.$row['sluitu'].'</td>';}?>

</tr></table>


De </tr> moet in de while.
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
<?php
while($row = mysqli_fetch_array($res))
{

echo '<tr><td>'.$row['id'].'</td>';
echo '<td>'.$row['dag'].'</td>';
echo '<td>'.$row['open'].'</td>';
echo '<td>'.$row['openu'].'</td>';
echo '<td>'.$row['sluitu'].'</td></tr>';
}

?>

</table>
Gewijzigd op 07/10/2020 08:55:26 door - SanThe -
 
Pascal vanholder

pascal vanholder

07/10/2020 10:51:11
Quote Anchor link
bedankt voor al jullie hulp, heb die laatste aanpassing gedaan.
 



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.