Permalänk
Medlem

PHP/HTML Uppgift att lösa

Hejsan!

Jag behöver hjälp men en uppgift jag ska lösa och den går ut på omvandla en php kod til html kod.

Såhär ser det ut:

<?php
$ab = 0;
$xy = 1;
$count = 0;
echo "<table>";
while ($count < 3) {
echo "<tr>";
$count++;
echo "<td>" . $ab . "</td><td>" . $xy . "</td>"; $ab += $xy;
$xy += $ab;
echo "</tr>";
} echo "</table>";
?>

och frågan lyder såhär:
Considering the PHP code in question, write down the execution result, i.e. the HTML code, of the following PHP code.

Nu ska man tydligen inte bara skriva
0 1
1 2
3 5
Utan hela html kod.

Någon som kan?

Visa signatur

Ryzen 7 2700 @ 4.0Ghz, X470 Taichi, 16gb ram @ 3200 mhz, GTS V8 Cpu Cooler, Gigabyte 5700XT.

Permalänk
Medlem

Lägg koden i [ code] taggar.

du ska skriva ut utskriften inkl <table> osv taggarna.

bara börja uppifrån samt gå igenom loopen och skriv allt som echo skriver ut.

om du kör koden en gång så ser du vad den spottar ut.

Visa signatur

CPU: Ryzen 9 3900x Noctua NH-D14 MOBO: TUF Gaming X570-PLUS GPU: GTX 980 RAM: 32 GB 3200 MHz Chassi: R4 PSU: Corsair AX860 Hörlurar: SteelSeries 840 Mus: Logitech G502 Lightspeed V.v. nämn eller citera mig för att få svar.

Permalänk
Medlem
Skrivet av Haptic:

Lägg koden i [ code] taggar.

du ska skriva ut utskriften inkl <table> osv taggarna.

bara börja uppifrån samt gå igenom loopen och skriv allt som echo skriver ut.

om du kör koden en gång så ser du vad den spottar ut.

Hur gör man det exakt. Ursäkta mig men jag är noob när det gäller php/html

Skickades från m.sweclockers.com

Visa signatur

Ryzen 7 2700 @ 4.0Ghz, X470 Taichi, 16gb ram @ 3200 mhz, GTS V8 Cpu Cooler, Gigabyte 5700XT.

Permalänk
Medlem

@Zargoz: PHP är kod som körs på en webbserver, och när den är klar generas en HTML sida som skickas till användarens webbläsare. Om du har möjlighet att köra php koden kan du trycka F12 för att granska HTML-koden som spottas ut.

Men jag antar att du ska lyckas översätta det själv, vilket betyder att du behöver förstå hur det som php koden genererar skulle "hårdkodas" i html. Allt du behöver göra är att följa strukturen i din PHP och skriva ner det som ligger i "echo" i rätt ordning.

Permalänk
Medlem

Omvandla till HTML-kod? Vet inte om du kanske har missuppfattat uppgiften men det du ska göra är att ange vad koden ger för output som den är. Ingen omvandling.

De siffror som anges i uppgiften är de variabler som skrivs ut men innan dess samt kring variablerna finns även HTML-kod.

Du ska alltså läsa koden och skriva ner den kompletta outputen.

Skickades från m.sweclockers.com

Visa signatur

Windows 11 Pro | Intel i7 8700 | ASUS Prime Z370-P | Corsair 16GB 3000MHz | ASUS GTX 1080 | Fractal Design Define S | Corsair RM750x | Hyper 212 EVO

Permalänk
Medlem

När du förstår vad du ska göra är det en jättelätt uppgift. Du verkar ha missat något, mitt tips är att göra ett av följande:

a) Backa ett steg i kursen och läs om, förstå.
b) Du använder variabler, echo, while och annat bloj som detta. Här har du en direktlänk till onlineversionen av manualen. Slå upp dom där, läs, förstå.

Jag rekommenderar egentligen båda två, programmering går ut på att förstå vad man sysslar med. När jag fick mitt första jobb på Mc'Donalds sa chefen att golven inte blir renare än vattnet man använder, och samma logik gäller här.

Läs sedan om uppgiften, och du kommer slå dig själv i pannan. Stressa dig inte fram genom uppgifterna, programmering mår bäst om du tar din tid, låter informationen sjunka in och bara gå till nästa delmoment när du känner dig helt säker på nuvarande uppgift.

Permalänk
Medlem

Om du vill kan du testa köra din PHP kod online kan jag rekommendera denna sida:
https://repl.it/repls/CrookedAttachedZettabyte

Men du borde verkligen gå igenom grunderna här:
https://www.w3schools.com/php/default.asp

# Variabler
$ab = 0;
$xy = 1;
$count = 0; # variabeln som används för antal gånger som du vill "loopa" i while-loopen

echo "<table>"; # skriver ut "<table>"
while ($count < 3) { # så länge som variabeln $count är mindre än 3

# början på en rad-tag (tr = table-row)
echo "<tr>";

# skriver först ut <td>$ab</td> sedan <td>$xy</td>
# där värdet på $ab = 0, och $xy = 1 (se ovan)
echo "<td>" . $ab . "</td><td>" . $xy . "</td>";

# börjad rad-tag måste sluta med en avslutande rad tag. "/" skriver man för avslutande taggar
echo "</tr>";

# variabler som ändras i loopen
$ab += $xy; # samma sak som att skriva "$ab = $ab+$xy", $ab = 0 + 1, $ab har nu värdet 1
$xy += $ab; # $xy = $xy+$ab, $xy = 1 + 1 (kom ihåg att ovan sätts $ab till värdet 1)
$count++; # samma sak som att skriva $count = $count + 1, $count får nu värdet 1. ($count = 0 + 1)

# denna loop kod kommer köras om så länge som $count är mindre än 3. Glöm inte att variablerna $ab och $xy
# har fått nya värden från den här loopen
}
echo "</table>"; # avslutande tag för tabellen

tog bort svaret...
Permalänk
Medlem
Skrivet av wirlez:

Typ såhär:
*snip*

kopierar han outputen därifrån är risken att han inte lärt sig någonting från uppgiften..

Visa signatur

CPU: Ryzen 9 3900x Noctua NH-D14 MOBO: TUF Gaming X570-PLUS GPU: GTX 980 RAM: 32 GB 3200 MHz Chassi: R4 PSU: Corsair AX860 Hörlurar: SteelSeries 840 Mus: Logitech G502 Lightspeed V.v. nämn eller citera mig för att få svar.

Permalänk
Medlem
Skrivet av Haptic:

kopierar han outputen därifrån är risken att han inte lärt sig någonting från uppgiften..

Jag insåg det efter jag postat uppgiften... så la till kommentarer i svaret :P. Ville bara att han också skulle se hur koden exekveras och vad resultatet blir.

Permalänk
Medlem
Skrivet av wirlez:

Jag insåg det efter jag postat uppgiften... så la till kommentarer i svaret :P. Ville bara att han också skulle se hur koden exekveras och vad resultatet blir.

Jag rekommenderar att du tar bort sittning svar, känns onödigt att ge honom svaret på ett silverfat. Lite ska han tänka själv

Skickades från m.sweclockers.com

Visa signatur

CPU: Ryzen 5600xGPU: 1080 TI ROG Strix RAM:2x16GB G.skill Trident @ 3600MHz MoBo: Asus B550FPSU: Corsair SF750
En resa till Nordkorea
2 dagar i Tjernobyl

Permalänk
Medlem
Skrivet av Pelegrino:

Jag rekommenderar att du tar bort sittning svar, känns onödigt att ge honom svaret på ett silverfat. Lite ska han tänka själv

Skickades från m.sweclockers.com

Yep, tog bort svaret och länka till en grundläggande sida om PHP

Permalänk
Medlem

Hej grabbar! Tack för svaren och jag hade personliga meddelande som jag tackar väldigt mycket för. Jag bad ingen att göra uppgiften för mig. Detta är egentligen ingen uppgift utan något som kan komma på tentan.
Jag ville bara ha hjälp med att förstå själva frågan och jag tror att jag har förstått vad läraren vill ha nu. Jag har tänkt ut att han är ute efter html koden av resultaten (tabellen) som jag postade i första inlägget och jag kom fram att det kan se ut på det här viset:

<HTML><HEAD></HEAD>
<BODY>
<TABLE>
<TBODY>
<TR>
<TD>0</TD>
<TD>1</TD></TR>
<TR>
<TD>1</TD>
<TD>2</TD></TR>
<TR>
<TD>3</TD>
<TD>5</TD></TR>
</TBODY>
</TABLE>
</BODY>
</HTML>

Tack ännu en gång för all hjälp och jag ska titta igenom närmare på rekommendationerna som ni bifogade. Speciellt tack till wirlez och Simon för att ni tog er tid.

Visa signatur

Ryzen 7 2700 @ 4.0Ghz, X470 Taichi, 16gb ram @ 3200 mhz, GTS V8 Cpu Cooler, Gigabyte 5700XT.

Permalänk
Medlem

Observera att echo inte lägger in någon newline så en luring skulle kunna vara att man egentligen ska svara med allt på en enda rad

Skickades från m.sweclockers.com

Visa signatur

Windows 11 Pro | Intel i7 8700 | ASUS Prime Z370-P | Corsair 16GB 3000MHz | ASUS GTX 1080 | Fractal Design Define S | Corsair RM750x | Hyper 212 EVO

Permalänk
Medlem
Skrivet av Joppis:

Observera att echo inte lägger in någon newline så en luring skulle kunna vara att man egentligen ska svara med allt på en enda rad

Skickades från m.sweclockers.com

Jag har tänkt på det men på svarblanketen har man runt 10 rader så jag antar att man ska använda de.

Visa signatur

Ryzen 7 2700 @ 4.0Ghz, X470 Taichi, 16gb ram @ 3200 mhz, GTS V8 Cpu Cooler, Gigabyte 5700XT.

Permalänk
Medlem
Skrivet av Zargoz:

Hej grabbar! Tack för svaren och jag hade personliga meddelande som jag tackar väldigt mycket för. Jag bad ingen att göra uppgiften för mig. Detta är egentligen ingen uppgift utan något som kan komma på tentan.
Jag ville bara ha hjälp med att förstå själva frågan och jag tror att jag har förstått vad läraren vill ha nu. Jag har tänkt ut att han är ute efter html koden av resultaten (tabellen) som jag postade i första inlägget och jag kom fram att det kan se ut på det här viset:

<HTML><HEAD></HEAD>
<BODY>
<TABLE>
<TBODY>
<TR>
<TD>0</TD>
<TD>1</TD></TR>
<TR>
<TD>1</TD>
<TD>2</TD></TR>
<TR>
<TD>3</TD>
<TD>5</TD></TR>
</TBODY>
</TABLE>
</BODY>
</HTML>

Tack ännu en gång för all hjälp och jag ska titta igenom närmare på rekommendationerna som ni bifogade. Speciellt tack till wirlez och Simon för att ni tog er tid.

Skall man vara noga så har du med flera HTML-taggar i din redovisning som inte skapas av PHP-koden.
Svarar man så på en tenta kan det tolkas som att man inte riktigt har förståelse för vad PHP-koden ger för resultat.

Visa signatur

Herman

Permalänk
Medlem
Skrivet av sworst:

Skall man vara noga så har du med flera HTML-taggar i din redovisning som inte skapas av PHP-koden.
Svarar man så på en tenta kan det tolkas som att man inte riktigt har förståelse för vad PHP-koden ger för resultat.

Du har absolut rätt. Jag gissade själv att det skulle vara svaret och därmed tog med fler taggar än jag behöver. Men när jag testade senare så såg jag att det skapades mindre information än det jag tog med mig.
Tack för svaret ändå.
Mvh

Skickades från m.sweclockers.com

Visa signatur

Ryzen 7 2700 @ 4.0Ghz, X470 Taichi, 16gb ram @ 3200 mhz, GTS V8 Cpu Cooler, Gigabyte 5700XT.

Permalänk
Medlem
Skrivet av Zargoz:

Du har absolut rätt. Jag gissade själv att det skulle vara svaret och därmed tog med fler taggar än jag behöver. Men när jag testade senare så såg jag att det skapades mindre information än det jag tog med mig.
Tack för svaret ändå.
Mvh

Skickades från m.sweclockers.com

Ett tips inför tentorna är att inte gissa på det viset. Lägg inte till saker i svaren som du inte kan se att koden faktiskt behandlar.

Visa signatur

Windows 11 Pro | Intel i7 8700 | ASUS Prime Z370-P | Corsair 16GB 3000MHz | ASUS GTX 1080 | Fractal Design Define S | Corsair RM750x | Hyper 212 EVO