Bij deze code doet hij niet het gewenste wat ik wil
Zodra je op add klikt, krijg ik niet de gewenste output

news.php
<?php

$sql = 'SELECT * FROM News';
$result = mysqli_query($connect, $sql);
$news = mysqli_fetch_all($result, MYSQLI_ASSOC);
mysqli_free_result($result);
mysqli_close($connect);

foreach($news as $new) {
if($_GET['menu'] = 'news'){
echo "
</tr></td>
<tr>
<td class='news_title_edit' colspan='1'>Title</td>
<td class='news_title_edit' colspan='1'><a href='index.php?action=add'>Add</a></td>
<td class='news_title_edit' colspan='1'>Edit</td>
<td class='news_title_edit' colspan='1'>Activate</td>
<td class='news_title_edit' colspan='1'>Deactivate</td>
<td class='news_title_edit' colspan='1'>Delete</td>
</tr>
<tr>
<td class='news_title_edit' colspan='2'>".htmlspecialchars($new['Title'])."</td>
<td class='news_title_edit' colspan='1'>Edit</td>
<td class='news_title_edit' colspan='1'>Activate</td>
<td class='news_title_edit' colspan='1'>Deactivate</td>
<td class='news_title_edit' colspan='1'>Delete</td>
</tr>";
}
}
if($_GET['action'] = 'add') {
echo "<tr><td colspan='6'>Adding no news</td></tr>";
}else{
echo "<tr><td colspan='6'>Adding news</td></tr>";
}
?>

Wat doe ik nu weer fout?
Gebruik ==

= is: toekennen van waarde aan variabele
== is: vergelijken van waardes.

Je wilt dus kijken of $_GET['action'] gelijk is aan add, news etc....
- Ariën - op 01/06/2022 23:00:29

Gebruik ==

= is: toekennen van waarde aan variabele
== is: vergelijken van waardes.

Je wilt dus kijken of $_GET['action'] gelijk is aan add, news etc....

Ik wil dus eigenlijk dat ik news kan toevoegen door middel van een action add
maar nu doet hij dus niet wat ik wil.
Heb je mijn opmerking toegepast?
Wat gebeurt er nu dan?
Hoe ziet je URL eruit?
Komt hij wel in de foreach loop?

Wees zo specifiek mogelijk. Aan een reactie met: 'hij doet het niet', hebben we erg weinig.
de url wordt dan bij add : index.php?action=add
Maar dan geeft hij niks weer
Als hij niks weergeeft, dan kan het misschien aan je query liggen.
Wat zit er volgens print_r() in $news?
Dat geeft ie wel weer
De query haalt hij gewoon op, hij laad mij alles zien wat ik wil.
Zodra ik op add klik, geeft hij de output niet weer die ik in de echo heb staan
Gebruik je wel de vergelijks-operator ==, zoals ik al heb gezegd?
Dan zou het moeten werken. Ik zie dat deze inderdaad buiten je foreach valt, dus naar die loop hoef je niet te kijken.
ook al gebruik ik == of =, het doet niet wat het zou moeten doen
Haal die code daarboven eens weg. Het probleem isoleren helpt vaak.
Zorg dat je uiteindelijk een kleine compacte code hebt.

gewoon enkel dit:

<?php
            if($_GET['action'] == 'add') {
                echo "<tr><td colspan='6'>Adding no news</td></tr>";
            }else{
                echo "<tr><td colspan='6'>Adding news</td></tr>";
            }
?>


Zoiets moet gewoon werken, of je URL klopt niet.
>> ook al gebruik ik == of =, het doet niet wat het zou moeten doen

Programmeren is niet een soort gokken of zo. Ariën vraagt of je zijn advies hebt opgevolgd. Een antwoord daarop luidt: 'ja' of 'nee'. Maar niet "ook al gebruik ik ..."

Zo kunnen we je uiteraard niet helpen. Wees duidelijk.

Reageren