Hallo mensen,

Ik ben nog maar net begonnen met het begrijpen van php. Alles ontstaan doordat men mij niet wilde helpen met het scripten van een xml feed.
Maar ik loop al direct tegen een probleem aan in het cursusboek.
Ik moest een simpele tabel overnemen. De opdracht is/was er een tweede pc aan toe te voegen met een adv. prijs en die te laten optellen in de laatste kolom. Ik moet de variabelen gebruiken in het voorbeeld. Dus nog heel basic.
Maar hoe lukt het mij zonder nieuwe variabelen te maken een tweede regel in de tabel te maken met de tweede pc?
Alvast dank voor jullie hulp!

Hier is de code:


<!DOCTYPE html>
<html lang="nl">
<head>
<title>Winkel Steffen</title>
</head>
<body>
<?php
$merk = "Toshiba";
$model = "A100";
$os = "windows xp";
$voorraad = 80;
$prijs = 999;
$totaal = 0;
$totaal += $prijs;


echo("<table border='1'> ".
"<caption>
<strong>SML laptops</strong>
</caption>
<thead>
<tr><th>merk</th><th>Model</th><th>Operating system</th><th>Voorraad</th><th>Prijs</th></tr>
<tbody>
<tr>
<td>" . $merk . "</td>" .
"<td>" . $model . "</td>" .
"<td>" . $os . "</td>".
"<td>". $voorraad . "</td>". 
"<td>". $prijs . "</td>". 
"</tr>
<tfoot>
<tr><td colspan='4'>Totaal</td><td>". $totaal . "</td></tr>
</tfoot>
</table>");


?>
</body>
</html>

@Adoptive: maar die elementen zijn waarschijnlijk nog steeds objecten of niet? De reden dat dit "werkt" is waarschijnlijk omdat je deze in een string zet en daarmee in feite een typecast naar string wordt uitgevoerd?

@Steffen The: zoals @Ariƫn al aangaf dienen PHP-zaken (zoals het weergeven van de waarde van een variabele) binnen PHP-blokken plaats te vinden.

@beide: vaak is het probleem niet echt het probleem, maar onduidelijkheid over wat er nu precies aan de hand is en hoe je dit vervolgens zou moeten tacklen. Iets wat daarom eigenlijk onontbeerlijk is bij het leren van PHP is leren hoe je je foutmeldingen kunt leren interpreteren en ook hoe je zaken kunt debuggen. Dit geeft je namelijk een heleboel inzicht over wat er fout gaat en hoe de "variabelentoestand" is.

Stap 1 daartoe is makkelijk, zet het melden + weergeven van foutmeldingen aan. Dit doe je door de volgende passage boven ontwikkelcode te zetten, dit moet natuurlijk verwijderd worden als je deze code "live" gaat gebruiken:
<?php
error_reporting(E_ALL); // geeft aan waarover je meldingen wilt
ini_set('display_errors', 'stdout'); // geeft aan waar je deze meldingen wilt
?>


Vervolgens, om het inzichtelijk te maken welke waarden variabelen hebben (en mogelijk ook van welk type deze zijn die in zekere mate bepaalt hoe je hiermee om kunt of moet gaan) kun je het beste een soort van dump-functie maken/gebruiken zoals (in beginsel) var_dump() of print_r() (maar mogelijk is een uitbreiding op deze functies beter en veiliger).

Beide zaken geven je enorm veel grip op de toestand van je code en helpen het inzicht vergroten. Dit terwijl meeste tutorials (in eerste instantie) aansporen op het feilloos overkloppen van code, en dan ben je reddeloos verloren als je van het geplaveide pad afraakt omdat je een punt of komma vergeet, en je allerlei onbegrijpelijke foutmeldingen krijgt, of liever gezegd, zeer duidelijke foutmeldingen krijgt die je niet begrijpt omdat je dit nooit hebt aangeleerd.

Het leren van programmeren (i.i.g. wat PHP betreft) begint eigenlijk voor een groot deel bij debuggen. Zo kun je jezelf namelijk optrekken en zelf dingen repareren.
@thomas. Dank voor de uitleg. Ik zal vanavond de code er in zetten en expres een fout zetten om te testen.

Reageren