Wackamole Skrevet 25. februar 2013 Del Skrevet 25. februar 2013 (endret) Hei! Etter ett par timer nå på kvelden så gir jeg opp og velger å spørre dere mer erfarne her på forumet. Jeg ønsker å lage ett rutenett med tabeller (<table><tr><td> osv..) Jeg har 2 variabler, $X og $Y som tilsvarer antar ruter i høyden og bredden, rettere sagt, <th> og <td>. Hver rute (<td>) må tildeles en unik ID for disse skal til slutt sjekkes mot en database. Hvordan kan jeg gjøre dette mest effektivt? - Fredrik Endret 25. februar 2013 av Wackamole Lenke til kommentar
MikkelRev Skrevet 25. februar 2013 Del Skrevet 25. februar 2013 (endret) Du må nok gjøre leksene dine selv! Et par timer på kvelden er ingenting. Løsningen er å bruke en nøsted løkke (nested loop), en for x og en for y. Id'en kan genereres ved hjelp av telleren, f.eks. id="id_$i"; Du mener nok <tr> og <td>, og ikke <th>. Endret 25. februar 2013 av MikkelRev Lenke til kommentar
aam01 Skrevet 25. februar 2013 Del Skrevet 25. februar 2013 Hvis du i tillegg lærer deg å bruke og og å riktig så kan dette bli en god besvarelse. Lenke til kommentar
GeirGrusom Skrevet 25. februar 2013 Del Skrevet 25. februar 2013 Hvis du i tillegg lærer deg å bruke og og å riktig så kan dette bli en god besvarelse. Men kan du ikke bare lære deg PHP fra det du måtte ha av bøker? Lenke til kommentar
slacky Skrevet 25. februar 2013 Del Skrevet 25. februar 2013 (endret) <?php $xs = 10; $ys = 7; for($y=0; $y < $ys; $y++) { echo "<table cellspacing='0' cellpadding='0'>"; echo "<tr>"; for($x=0; $x < $xs; $x++) { echo "<td id='($x,$y)' style='border:1px solid #aaa;width:90px;height:50px'>"; echo "x=$x, y=$y"; echo "</td>"; } echo "</tr></table>"; } ?> Er ikke verre enn å lage en 2-dimensjonell loop. Alternativet er å bruke modulus, som også er veldig lett. Trenger du en faktisk unik kode, så må en generere en kode, å sjekke om den allerede er i bruk, ved å spørre databasen. Endret 25. februar 2013 av warpie Lenke til kommentar
Wackamole Skrevet 25. februar 2013 Forfatter Del Skrevet 25. februar 2013 Du må nok gjøre leksene dine selv! Et par timer på kvelden er ingenting. Løsningen er å bruke en nøsted løkke (nested loop), en for x og en for y. Id'en kan genereres ved hjelp av telleren, f.eks. id="id_$i"; Du mener nok <tr> og <td>, og ikke <th>. Kom meg faktisk så langt at jeg skjønte at jeg måtte bruke nested loop, å den delen av koden ble faktisk rett. Var bare sammensettningen som tok knekken på meg i går. Fikk det til idag! Takk for oppmuntringen! Det verste med det hele er at koden virkelig ikke er komplisert i det hele tatt. Føler meg ordentlig dum Lenke til kommentar
MikkelRev Skrevet 25. februar 2013 Del Skrevet 25. februar 2013 Vel, der kom visst en som gjorde deg en bjørnetjeneste ved å gjøre leksene for deg. Dessverre bruker han også deprecated kode i løsningen sin. Trenger ikke føle deg dum, er bare å bruke mye tid på det, så kommer lyset etterhvert. Lenke til kommentar
Wackamole Skrevet 25. februar 2013 Forfatter Del Skrevet 25. februar 2013 Vel, der kom visst en som gjorde deg en bjørnetjeneste ved å gjøre leksene for deg. Dessverre bruker han også deprecated kode i løsningen sin. Trenger ikke føle deg dum, er bare å bruke mye tid på det, så kommer lyset etterhvert. Når jeg har drevet med PHP såpass lenge som jeg har nå så er det flaut når enkle problemer blir vannskelige Det var bare å få <tr> på rett plass i løkken så ble resultatet slik jeg ønsket. Har forsåvidt gjort det til en liten regel å ikke "klippe å lime" kode direkte fra forumet. Mye skumle greier takk for svar! Lenke til kommentar
slacky Skrevet 25. februar 2013 Del Skrevet 25. februar 2013 (endret) Vel, der kom visst en som gjorde deg en bjørnetjeneste ved å gjøre leksene for deg. Dessverre bruker han også deprecated kode i løsningen sin. Trenger ikke føle deg dum, er bare å bruke mye tid på det, så kommer lyset etterhvert. Si meg, hva er deprecated med et par loops? Har vært borte fra PHP en stund, men det er da rett frem slik en gjør det uanset språk. Hvis nested loops er deprecated så vet ikke jeg. Eneste jeg kan tenke meg at må fiskes er: $x- og $y-statementa KAN escapes i html-koden (ikke en gang verdt å nevne). ? Endret 25. februar 2013 av warpie Lenke til kommentar
MikkelRev Skrevet 26. februar 2013 Del Skrevet 26. februar 2013 Si meg, hva er deprecated med et par loops? Har vært borte fra PHP en stund, men det er da rett frem slik en gjør det uanset språk. Hvis nested loops er deprecated så vet ikke jeg. Eneste jeg kan tenke meg at må fiskes er: $x- og $y-statementa KAN escapes i html-koden (ikke en gang verdt å nevne). ? 1. cellspacing 2. cellpadding 3. inline style. 4. avsluttende PHP-tag De to sistnevnte er teknisk sett ikke deprecated, bare bad practice. Lenke til kommentar
slacky Skrevet 26. februar 2013 Del Skrevet 26. februar 2013 (endret) 1. cellspacing 2. cellpadding 3. inline style. 4. avsluttende PHP-tag De to sistnevnte er teknisk sett ikke deprecated, bare bad practice. cellspacing, og cellpadding er vel strengt tatt ikke deprecated? Var iallefall ikke klar over det. De må jo justeres, da de automatisk blir satt til 2, og 2 i de fleste browsere? Css kan vel fiskse det.. Aldri testet. Skal en nå merke seg Innline CSS så har jeg heller ikke definert HTML-standard, html-tag, og body. table, tr og td er vel forsåvidt bad practice, da div lar deg gjøre samme jobben, men benytter seg av CSS for å gjøre det. Sier du at jeg ikke skal avslutte php med tag?? Det har jeg aldri hørt om. Hvorfor? Endret 26. februar 2013 av warpie 1 Lenke til kommentar
MikkelRev Skrevet 26. februar 2013 Del Skrevet 26. februar 2013 <table> er ikke bad practice, men semantisk korrekt så lenge man skal lage en tabell, eller et rutenett som trådstarter spør om. Hverken cellspacing eller cellpadding er støttet i HTML5. Man skal bruke CSS istedet. If a file is pure PHP code, it is preferable to omit the PHP closing tag at the end of the file. This prevents accidental whitespace or new lines being added after the PHP closing tag, which may cause unwanted effects because PHP will start output buffering when there is no intention from the programmer to send any output at that point in the script. http://php.net/manual/en/language.basic-syntax.phptags.php 1 Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå