Tabel voorbeeld
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:
Code (php)
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
34
35
36
37
38
39
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
34
35
36
37
38
39
<!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>
<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>
Edit:
Ik heb code-tags geplaatst. Gelieve dit in het vervolg zelf toe te voegen aan je bericht.
Zie ook: Veel gestelde vragen: Welke UBB-codes kan ik gebruiken.
Zie ook: Veel gestelde vragen: Welke UBB-codes kan ik gebruiken.
Gewijzigd op 13/02/2018 10:28:00 door - Ariën -
Heb je al geleerd om array's te gebruiken?En deze met foreach of while() te doorlopen?
Dat is dus de grap. Dat hoofdstuk komt na dit voorbeeld. Ik dacht dat de volgorde in het boek niet klopte. Maar wilde niet eigenwijs zijn ;-) Als dit met de bestaande variabelen niet lukt, dan zal dus de volgorde niet kloppen en ben ik iets rustiger :-)
Wel kan je met .= met die punt erbij steeds meer inhoud toevoegen aan je string:
Code (php)
1
2
3
4
5
6
2
3
4
5
6
<?php
$var = "Dit is ";
$var .= "een opgedeelde ";
$var .= "string";
echo $var; // Toont: Dit is een opgedeelde string
?>
$var = "Dit is ";
$var .= "een opgedeelde ";
$var .= "string";
echo $var; // Toont: Dit is een opgedeelde string
?>
Ik hoop alleen na php een beetje te begrijpen dat ik de feed kan verwerken en stylen.
Gewijzigd op 13/02/2018 11:01:13 door Steffen The
Het stijl-werk doe je met CSS ;-)
Ik zeg erbij dat het officieel mag om het te doen zoals je het nu doet maar door veel mensen andersom gedaan wordt en dus een soort van ongeschreven wet is. Hetzelfde geldt een beetje voor het keyword 'echo'. Je gebruikt haakjes erom heen en dat mag maar in de regel worden die meestal weggelaten.
Overigens bestaan er wel kleine verschillen tussen het gebruik van double quotes en single quotes binnen PHP. Het gaat dan met name om de escaping van variabelen. ( = gebruik van variabelen in een tekst)
Wel is het belangrijk dat je variabelen in een single-quoted echo netjes buiten quotes zet, anders worden de variabelen niet uitgevoerd:
Die zal letterlijk dus Er is er eentje jarig, $var! geven.
En als je het goed doet, door je quotes voor de variabelen af te sluiten en deze met een punt te koppelen:
Dan zie je:
Er is er eentje jarig, Hoera!
Edit: Bleef een uitroepteken hangen ;-)
Gewijzigd op 13/02/2018 13:02:21 door - Ariën -
Het zou een ander verhaal worden als de tabel echt dynamisch gegenereerd wordt, maar dat is dus alleen nodig als deze een dynamisch karakter heeft, wat niet het geval is.
Je kunt dus net zo goed deze HTML uitschrijven... als simpelweg HTML:
Code (php)
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
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
<table border="1">
<caption>SML laptops</caption>
<thead>
<tr>
<th>merk</th>
<th>Model</th>
<th>Operating system</th>
<th>Voorraad</th>
<th>Prijs</th>
</tr>
</thead>
<tbody>
<tr>
<td><?php echo $merk ?></td>
<td><?php echo $model ?></td>
<td><?php echo $os ?></td>
<td><?php echo $voorraad ?></td>
<td><?php echo $prijs ?></td>
</tr>
</tbody>
<tfoot>
<tr>
<td colspan="4">Totaal</td>
<td><?php echo $totaal ?></td>
</tr>
</tfoot>
</table>
<caption>SML laptops</caption>
<thead>
<tr>
<th>merk</th>
<th>Model</th>
<th>Operating system</th>
<th>Voorraad</th>
<th>Prijs</th>
</tr>
</thead>
<tbody>
<tr>
<td><?php echo $merk ?></td>
<td><?php echo $model ?></td>
<td><?php echo $os ?></td>
<td><?php echo $voorraad ?></td>
<td><?php echo $prijs ?></td>
</tr>
</tbody>
<tfoot>
<tr>
<td colspan="4">Totaal</td>
<td><?php echo $totaal ?></td>
</tr>
</tfoot>
</table>
Dit heeft als bijkomend voordeel dat deze een stuk beter leesbaar is. In dat geval had je mogelijk direct gezien dat er een afsluitende </thead>- en </tbody>-tag ontbrak.
@Ariën: achter "Hoera" staan (ineens) twee uitroeptekens, dat lijkt mij niet kloppen.
Over het vraagstuk zelf: mogelijk is het hier de bedoeling dat je simpelweg een tweede tabelrij toevoegt door tussendoor (in een PHP-blok) de variabelen andere waarden te geven, met als extra bewerking het ophogen van de totaalprijs met de prijs van de huidige tabelrij. Misschien is dit een opzet naar for-loops, misschien is dit al behandeld, wie weet. Het zou niet de eerste keer zijn dat voorbeelden of opgaven in cursusboeken onzinnig of gewoon fout zijn.
Gewijzigd op 13/02/2018 13:01:41 door Thomas van den Heuvel
Omdat ik het thuis doe en niet de gelegenheid heb de juf te vragen "of het boek wel klopt" is thuisstudie soms heel lastig. Want je gaat dan aan jezelf twijfelen, terwijl je bijna zeker weet dat het boek niet juist is.
Komt nog iets in mijn gedachte langs nadat Thomas zo een mooi voorbeeld gegeven heeft over hoe je HTML kunt opbouwen (eigenlijk laat hij hier gewoon een template zien). Plaats BOVEN de allereerste HTML regel je PHP code die je nodig hebt om je 'output' voor te bereiden. dan hou je je programma-logica zo veel mogelijk gescheiden van je template.
Code (php)
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
34
35
36
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
34
35
36
<?php
$merk = "Toshiba";
$model = "A100";
$os = "windows xp";
$voorraad = 80;
$prijs = 999;
$totaal = 0;
$totaal += $prijs;
?>
<table border="1">
<caption>SML laptops</caption>
<thead>
<tr>
<th>merk</th>
<th>Model</th>
<th>Operating system</th>
<th>Voorraad</th>
<th>Prijs</th>
</tr>
</thead>
<tbody>
<tr>
<td><?php echo $merk ?></td>
<td><?php echo $model ?></td>
<td><?php echo $os ?></td>
<td><?php echo $voorraad ?></td>
<td><?php echo $prijs ?></td>
</tr>
</tbody>
<tfoot>
<tr>
<td colspan="4">Totaal</td>
<td><?php echo $totaal ?></td>
</tr>
</tfoot>
</table>
$merk = "Toshiba";
$model = "A100";
$os = "windows xp";
$voorraad = 80;
$prijs = 999;
$totaal = 0;
$totaal += $prijs;
?>
<table border="1">
<caption>SML laptops</caption>
<thead>
<tr>
<th>merk</th>
<th>Model</th>
<th>Operating system</th>
<th>Voorraad</th>
<th>Prijs</th>
</tr>
</thead>
<tbody>
<tr>
<td><?php echo $merk ?></td>
<td><?php echo $model ?></td>
<td><?php echo $os ?></td>
<td><?php echo $voorraad ?></td>
<td><?php echo $prijs ?></td>
</tr>
</tbody>
<tfoot>
<tr>
<td colspan="4">Totaal</td>
<td><?php echo $totaal ?></td>
</tr>
</tfoot>
</table>
Mijn enthousiasme is ontstaan uit irritatie :-) Wij hebben een portaal waar wij rijwielen in kunnen tonen (extern). Vooraf beloofden ze dat wij zelf ook een script zouden krijgen die wij op onze eigen site konden plaatsen. Dit bleek achteraf een xml-feed en dus geen script. Je zal begrijpen dat dat voor mij even andere koek is. Ik heb me suf gegoogled naar een voor mij te begrijpen load-script. Ik heb wel een soort van script verkregen via een hulp, maar ik wil hem zelf begrijpen. Vandaar deze "cursus". Het boek is alleen niet een topper merk ik steeds.
Nogmaals dank voor jullie reacties!
Klopt, alleen dan voor mij standalone="no" . Een vast xml kon ik wel bewerken met xhtml. Maar deze feed veranderd continu. Vandaar denk ik dat php het beste is?
Als $url ="mijn xml feed" is.
Kan ik dan ook met de opdracht : file_get_contents($url) verder?
Ik heb een voorbeeld gekregen om de feed uit te lezen. Daarin wordt met preg_match gewerkt. En preg_match wordt nu net lastig omschreven in het boek. Is preg_match te way to go, of kan het eenvoudiger?
Het is mij te makkelijk een op een het voorbeeld te plakken, ik wil het graag snappen :-)
Alvast dank voor jullie info!
Gewijzigd op 20/02/2018 12:47:19 door - Ariën -
- Ariën - op 20/02/2018 12:47:05:
Klopt, en dan kan je met simplexml_load_string() de XML inladen, en verder uitlezen met SimpleXML. Het gebruik van reguliere expressies is duur en onnodig.
Het lukt me nu eindelijk de feed uit te lezen. Maar in de feed zitten elementen met een url naar afbeeldingen. Als ik die echo/ print krijg ik natuurlijk letterlijk die url te zien :-)
Maar met welke opdracht geef ik die bewuste afbeelding weer?
Basiskennis van HTML: De img-tag ;-)
- Ariën - op 25/02/2018 18:18:51:
Basiskennis van HTML: De img-tag ;-)
Van het element een variabele weergeven als bijv:
<img src="$picture" >
Verwijzend naar het script?
$picture moet de URL van de afbeelding bevatten.
Dank u! Ik pruts weer verder :-)