Jonas Skrevet 21. april 2008 Del Skrevet 21. april 2008 For-løkken som printer ut hvert item må jo naturligvis ligge innenfor while-løkken som henter items. Ellers er det jo klart at $itemnavn alltid vil inneholde det siste den ble satt til. Lenke til kommentar
Dryper Skrevet 21. april 2008 Forfatter Del Skrevet 21. april 2008 For-løkken som printer ut hvert item må jo naturligvis ligge innenfor while-løkken som henter items. Ellers er det jo klart at $itemnavn alltid vil inneholde det siste den ble satt til. Om jeg putter den inn i While så kommer alle Objektene opp men i en i en form av 23 STK av hver sin table . prøvde å ta putte <table> utenfor men ingen forskjell . Lenke til kommentar
Jonas Skrevet 21. april 2008 Del Skrevet 21. april 2008 Da printer du jo åpenbart ut feil HTML, PHP er det ikke noe i veien med. Hvis du enda ikke har grepen på HTML/tables burde du kanskje ta deg en tur tilbake til skolebenken, det virker som om du har tatt på deg litt for mye her. Lenke til kommentar
Dryper Skrevet 21. april 2008 Forfatter Del Skrevet 21. april 2008 Da printer du jo åpenbart ut feil HTML, PHP er det ikke noe i veien med. Hvis du enda ikke har grepen på HTML/tables burde du kanskje ta deg en tur tilbake til skolebenken, det virker som om du har tatt på deg litt for mye her. Jeg har sjekka på W3SCHOOLS.com og tizag.com men ikke noe som kunne hjelpe meg der. Har også gjørt en del Googling uten no særlig hjelp. Lenke til kommentar
Jonas Skrevet 21. april 2008 Del Skrevet 21. april 2008 Hva er det du liksom skal søke etter? "Why my code doesn't work" ? Saken her er enkel. Hvis du klarer å printe ut hvert item med riktig navn - så er PHP grei. Hvis det ser ekkelt ut - så må du endre på HTML som printes ut. Første steg er vanligvis å kode slikt du vil ha det i HTML/CSS først, deretter gjøre alt dynamisk og interaktivt med PHP. Det virker egentlig ikke som om du har noen som helst anelse om hvordan du vil HTML-koden skal se ut og da har du ikke sjans til å printe den ut korrekt med PHP. Lenke til kommentar
Dryper Skrevet 21. april 2008 Forfatter Del Skrevet 21. april 2008 Hva er det du liksom skal søke etter? "Why my code doesn't work" ? ---------------------- Hehe nei jeg søkte nokk ikke på det. var på deverse forum osv sjekka litt ut Saken her er enkel. Hvis du klarer å printe ut hvert item med riktig navn - så er PHP grei. Hvis det ser ekkelt ut - så må du endre på HTML som printes ut. Første steg er vanligvis å kode slikt du vil ha det i HTML/CSS først, deretter gjøre alt dynamisk og interaktivt med PHP. Det virker egentlig ikke som om du har noen som helst anelse om hvordan du vil HTML-koden skal se ut og da har du ikke sjans til å printe den ut korrekt med PHP. ---------------------- Jeg vet hvordan jeg vil ha HTML koden min men der er da hvordan php skal gjøre dette :S <table border='1'> <tr><td>Objekt</td><td>Objekt</td><td>Objekt</td><td>Objekt</td><td>Objekt</td></tr> <tr><td>Objekt</td><td>Objekt</td><td>Objekt</td><td>Objekt</td><td>Objekt</td></tr> </table> OSV OSV .. men jeg har 0 ide om hvordan jeg kan gjøre dette med PHP jeg kan jo altids putte $itemnavn inne der men det vill ikke akkurat hjelpe meg noe serlig -.- Det er vel igrunnen derfor jeg spørr om hjelp. -.- Lenke til kommentar
Jonas Skrevet 21. april 2008 Del Skrevet 21. april 2008 Her tar jeg bare å legger til til koden du postet tidligere. Se om det funker. Lær deg også modulo, en enkel mattefinesse du kommer til å få bruk for senere. $result = mysql_query("SELECT * FROM characters WHERE id = '$charid'")or die(mysql_error()); while ($row = mysql_fetch_array($result)){ $charname = $row['characternavn']; $charlevel = $row['level']; $charhp = $row['hp']; $charmaxhp = $row['hpmax']; $charmana = $row['mana']; $charmaxmana = $row['manamax']; $result1 = mysql_query("SELECT * FROM bag WHERE Owner = '$charname'")or die(mysql_error()); while ($row1 = mysql_fetch_array($result1)){ $bagid = $row1['BagID']; $slotsbag = $row1['Slots']; $ownerbag = $row1['Owner']; $result2 = mysql_query("SELECT * FROM Slots WHERE Bag_BagID = '$bagid'")or die(mysql_error()); while ($row2 = mysql_fetch_array($result2)){ $bagid = $row2['BagID']; $owner = $row2['Owner']; $slotnr = $row2['SlotNR']; $innhold = $row2['Innhold']; $result3 = mysql_query("SELECT * FROM items WHERE id = '$innhold'") or die(mysql_error()); $counter = 0; echo '<table><tr>'; while($row3 = mysql_fetch_array($result3)) { $itemid = $row3['id']; $itemnavn = $row3['name']; $itemdescription = $row3['description']; $itemarmor = $row3['armor']; $itemstamina = $row3['stamina']; $itemintellect = $row3['intellect']; echo '<td>' . itemnavn . '</td>'; if(++$counter % 5 == 0) echo '</tr><tr>'; } echo '</tr></table>'; } } } Lenke til kommentar
Dryper Skrevet 21. april 2008 Forfatter Del Skrevet 21. april 2008 Her tar jeg bare å legger til til koden du postet tidligere. Se om det funker. Lær deg også modulo, en enkel mattefinesse du kommer til å få bruk for senere. $result = mysql_query("SELECT * FROM characters WHERE id = '$charid'")or die(mysql_error()); while ($row = mysql_fetch_array($result)){ $charname = $row['characternavn']; $charlevel = $row['level']; $charhp = $row['hp']; $charmaxhp = $row['hpmax']; $charmana = $row['mana']; $charmaxmana = $row['manamax']; $result1 = mysql_query("SELECT * FROM bag WHERE Owner = '$charname'")or die(mysql_error()); while ($row1 = mysql_fetch_array($result1)){ $bagid = $row1['BagID']; $slotsbag = $row1['Slots']; $ownerbag = $row1['Owner']; $result2 = mysql_query("SELECT * FROM Slots WHERE Bag_BagID = '$bagid'")or die(mysql_error()); while ($row2 = mysql_fetch_array($result2)){ $bagid = $row2['BagID']; $owner = $row2['Owner']; $slotnr = $row2['SlotNR']; $innhold = $row2['Innhold']; $result3 = mysql_query("SELECT * FROM items WHERE id = '$innhold'") or die(mysql_error()); $counter = 0; echo '<table><tr>'; while($row3 = mysql_fetch_array($result3)) { $itemid = $row3['id']; $itemnavn = $row3['name']; $itemdescription = $row3['description']; $itemarmor = $row3['armor']; $itemstamina = $row3['stamina']; $itemintellect = $row3['intellect']; echo '<td>' . itemnavn . '</td>'; if(++$counter % 5 == 0) echo '</tr><tr>'; } echo '</tr></table>'; } } } Resultatet blir <table> <tr><td>Itemnavn</td></tr> <tr><td>Itemnavn</td></tr> <tr><td>Itemnavn</td></tr> <tr><td>Itemnavn</td></tr> <tr><td>Itemnavn</td></tr> <tr><td>Itemnavn</td></tr> <tr><td>Itemnavn</td></tr> <tr><td>Itemnavn</td></tr> </table> :S Lenke til kommentar
Jonas Skrevet 21. april 2008 Del Skrevet 21. april 2008 (endret) Prøv å sett $counter til 1 og endre følgende linje .. if(++$counter % 5 == 0) .. til if($counter++ % 5 == 0) Endret 21. april 2008 av Jonas Lenke til kommentar
Dryper Skrevet 21. april 2008 Forfatter Del Skrevet 21. april 2008 Prøv å sett $counter til 1 og endre følgende linje .. if(++$counter % 5 == 0) .. til if($counter++ % 5 == 0) Resultatet ble dessverre det samme :S Lenke til kommentar
Jonas Skrevet 21. april 2008 Del Skrevet 21. april 2008 (endret) Da vil jeg med det første gjette at variabel-scopet er ødelagt av at du har flere løkker om hverandre. Variabel-scope fungerer litt annerledes i PHP enn i andre språk, skulle ikke forundre meg om det var en smule bugga. Prøv å opprette $counter utenfor alle løkkene. Edit: Du kan jo prøve å se om $counter faktisk eksisterer innenfor den siste løkken selv. Endret 21. april 2008 av Jonas Lenke til kommentar
Dryper Skrevet 21. april 2008 Forfatter Del Skrevet 21. april 2008 Da vil jeg med det første gjette at variabel-scopet er ødelagt av at du har flere løkker om hverandre. Variabel-scope fungerer litt annerledes i PHP enn i andre språk, skulle ikke forundre meg om det var en smule bugga. Prøv å opprette $counter utenfor alle løkkene. Edit: Du kan jo prøve å se om $counter faktisk eksisterer innenfor den siste løkken selv. Nei counter funka fint den :S Lenke til kommentar
Jonas Skrevet 21. april 2008 Del Skrevet 21. april 2008 Kan du poste den reelle HTML-koden? Mye kan slippe forbi når du subjektivt gjengir den. Bare kopier den inn hit, uten å røre den videre. Lenke til kommentar
Dryper Skrevet 21. april 2008 Forfatter Del Skrevet 21. april 2008 Kan du poste den reelle HTML-koden? Mye kan slippe forbi når du subjektivt gjengir den. Bare kopier den inn hit, uten å røre den videre. Script: $result3 = mysql_query("SELECT * FROM items WHERE id = '$innhold'") or die(mysql_error()); $counter = 1; echo '<table><tr>'; while($row3 = mysql_fetch_array($result3)) { $itemid = $row3['id']; $itemnavn = $row3['name']; $itemdescription = $row3['description']; $itemarmor = $row3['armor']; $itemstamina = $row3['stamina']; $itemintellect = $row3['intellect']; echo '<td>' . $itemnavn . '</td>'; if($counter++ % 5 == 0) echo '</tr><tr>'; } echo '</tr></table>'; } } } Kildekode fra Siden: <table><tr><td>Big auro</td></tr></table><table><tr><td>Coin Monkey</td></tr></table><table><tr><td>Producer of will</td></tr></table><table><tr><td>Brown Crap</td></tr></table><table><tr><td>Shabby</td></tr></table><table><tr><td>Dead Crowbeep</td></tr></table><table><tr><td>Dead Crowbeep</td></tr></table><table><tr><td>Money</td></tr></table><table><tr><td>Money</td></tr></table><table Lenke til kommentar
Jonas Skrevet 21. april 2008 Del Skrevet 21. april 2008 Jeg viste det .. Det er jo ikke i nærheten av hva du postet lenger opp! PHP-scriptet fungerer perfekt, men siden det bare hentes ut ett item per slot, så blir resultatet slik det blir. Du er nødt til å flytte $counter og if-setningen en for-løkke lenger opp. 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å