Gå til innhold

Dele resultater fra en tabell opp i 5


Anbefalte innlegg

Videoannonse
Annonse
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
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

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
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

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
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

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 av Jonas
Lenke til kommentar
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
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

Jeg viste det .. Det er jo ikke i nærheten av hva du postet lenger opp! :wallbash: 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

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 konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...