Gå til innhold

Dele resultater fra en tabell opp i 5


Anbefalte innlegg

Videoannonse
Annonse
Hei. jeg har nå satt opp en tabell der jeg får ut 10 "records" disse til vil jeg at skal deles opp i en table (5 records per linje)

 

Hvordan kan jeg gjøre dette

 

 

Takker for hjelp :=)

 

Du må bruke løkker.

f.eks:

 

$sql = mysql_query("SELECT * FROM spill LIMIT 5");
echo "<table border="1">";
while($rad = mysql_fetch_array($sql)) {
  echo "<tr><td>".$rad['rekorder']."</td></tr>";

}
echo "</table>";

 

Håper det hjalp deg litt.. Tho er jeg ikke sikker på hva du mente.

Endret av onTop
Lenke til kommentar
Hei. jeg har nå satt opp en tabell der jeg får ut 10 "records" disse til vil jeg at skal deles opp i en table (5 records per linje)

 

Hvordan kan jeg gjøre dette

 

 

Takker for hjelp :=)

 

Du må bruke løkker.

f.eks:

 

$sql = mysql_query("SELECT * FROM spill LIMIT 5");
echo "<table border="1">";
while($rad = mysql_fetch_array($sql)) {
  echo "<tr><td>".$rad['rekorder']."</td></tr>";

}
echo "</table>";

 

 

Håper det hjalp deg litt.. Tho er jeg ikke sikker på hva du mente.

 

Det går dessverre ikke etter hva jeg trenger. jeg legger til et bilde da for å prøve å forklare litt bedre :)

Demonstrasjon.jpg

 

Her ser du et bilde av noen ting i en bag.. disse kommer jo da fra en tabell i databasen. men her vil da tingene legge seg nedover når den første linja er nådd (den 5te ruta)

 

Så nå spør jeg da :) hvordan er det mulig å få mine resultat til å gjøre det samme :)

Lenke til kommentar
Noe à la dette bør gjøre susen:

 

$res = mysql_query("SELECT * FROM table");
$counter = 0;

echo '<tr>';
while(mysql_fetch_object($res))
{
if(++$counter == 5)
{
echo '</tr><tr>';
$counter = 0;
}

echo '<td>Item</td>';
}
echo '</tr>';

 

 

 

$result3 = mysql_query("SELECT * FROM items WHERE id = '$innhold'")or die(mysql_error());
$counter = 0;
echo "<table border='1'> <tr>";
	while(mysql_fetch_object($result3)){

	$itemid = $row3['id'];
	$itemnavn = $row3['name'];
	$itemdescription = $row3['description'];
	$itemarmor = $row3['armor'];
	$itemstamina = $row3['stamina'];
	$itemintellect = $row3['intellect'];

if(++$counter == 5)
{
echo "</tr>" . $itemnavn . "<tr>";
$counter = 0;
}

echo ('<td>' . $itemnavn . '</td>');
}
echo "</tr></table>";





		}

 

 

Ble litt mislykka :) klarer dere å se feilen?

 

Takker for hjelpen :=)

Lenke til kommentar

Det går ikke helt

Demo2.jpg

 

Jeg får opp 8 "Hey World" nedover isteden for bortover 5 td og 3 på neste linje :S

 

Hva kan være feil ?

 

Takker for svar!

 

$result3 = mysql_query("SELECT * FROM items WHERE id = '$innhold'")or die(mysql_error());
$counter = 0;
echo "<table><tr>";
	while(mysql_fetch_object($result3)){

	$itemid = $row3['id'];
	$itemnavn = $row3['name'];
	$itemdescription = $row3['description'];
	$itemarmor = $row3['armor'];
	$itemstamina = $row3['stamina'];
	$itemintellect = $row3['intellect'];

if(++$counter == 5)
{
echo "</tr><tr>";
$counter = 0;
}

echo '<td> Hello world! </td>';
}
echo "</tr></table>";





		}

Lenke til kommentar

Hei

Har en løsning her som jeg bruker i fotoalbumet som jeg har laget

Er antageligvis ikke den beste løsningen men den gjør jobben med å legge bildene bortover og ikke bare nedover.

Cluet er at du må avslutte riktig og kompletere tabellen for at det skal virke. denne tar utgangspunkt i 4 på rekke og 5 rader nedover

 

/**************************************************************************
* Legger til variabel '$foto' og setter denne til 1												*
* Brukes til å styre at det kommer 4 bilder siden av hverandre						*
**************************************************************************/	
$foto=1;


/**************************************************************************
* Begynner utlisting av bilder i albumet																	*
**************************************************************************/ 
$sql = mysql_query("SELECT * FROM bilder");
while ($r = mysql_fetch_array ($sql) )	
{



/**************************************************************************
* Lister ut hovedrammen og inner ramme for bildene												*
**************************************************************************/ 	
switch ($foto){
case 1:
/**************************************************************************
* Lister ut bilde 1, 5, 9, 13 osv.																				*
**************************************************************************/ 
echo "<center><table cellspacing=\"2\" class=\"picture_ramme\">
						  <tr>
							  <td class=\"picture_rammecell\"><center>
								  <table class=\"picture_albumbox\">
									  <tr>
										<td class=\"picture_bilde\"><center><a href=\"bilde.php?al=$r[foto_album]&idfoto=$r[foto_id]&id=$id#BILDE\"><img alt=\"Vis\" src=\"admin/bilder/$r[foto_TumbNavn]\"  border=\"0\" /></a></center></td>
									  </tr>
									  <tr>
										<td class=\"picture_bildecell\"><center><a title=\"Vis\" href=\"bilde.php?al=$r[foto_album]&idfoto=$r[foto_id]&id=$id\">$rest</a></center></td>
									  </tr>
									</table>
								</center></td>";
  $foto = ($foto + 1);	
  break;

	case 2:
/**************************************************************************
* Lister ut bilde 2, 6, 10, 14 osv.																				*
**************************************************************************/ 
	echo "<td class=\"picture_rammecell\"><center>
										<table class=\"picture_albumbox\">
									  <tr>
										<td class=\"picture_bilde\"><center><a href=\"bilde.php?al=$r[foto_album]&idfoto=$r[foto_id]&id=$id#BILDE\"><img alt=\"Vis\" src=\"admin/bilder/$r[foto_TumbNavn]\"  border=\"0\" /></a></center></td>
									  </tr>
									  <tr>
										<td class=\"picture_bildecell\"><center><a title=\"Vis\" href=\"bilde.php?al=$r[foto_album]&idfoto=$r[foto_id]&id=$id\">$rest</a></center></td>
									  </tr>
									</table>
		</center></td>";
		$foto = ($foto + 1);	
		break;

	case 3:
/**************************************************************************
* Lister ut bilde 3, 7, 11, 15 osv.																				*
**************************************************************************/ 
	echo "<td class=\"picture_rammecell\"><center>
										<table class=\"picture_albumbox\">
									  <tr>
										<td class=\"picture_bilde\"><center><a href=\"bilde.php?al=$r[foto_album]&idfoto=$r[foto_id]&id=$id#BILDE\"><img alt=\"Vis\" src=\"admin/bilder/$r[foto_TumbNavn]\"  border=\"0\" /></a></center></td>
									  </tr>
									  <tr>
										<td class=\"picture_bildecell\"><center><a title=\"Vis\" href=\"bilde.php?al=$r[foto_album]&idfoto=$r[foto_id]&id=$id\">$rest</a></center></td>
									  </tr>
									</table>
		</center></td>";
		$foto = ($foto + 1);
		break;

	case 4:
/**************************************************************************
* Lister ut bilde 4, 8, 12, 16 osv.																				*
**************************************************************************/ 
	echo "<td class=\"picture_rammecell\"><center>
										<table class=\"picture_albumbox\">
									  <tr>
										<td class=\"picture_bilde\"><center><a href=\"bilde.php?al=$r[foto_album]&idfoto=$r[foto_id]&id=$id#BILDE\"><img alt=\"Vis\" src=\"admin/bilder/$r[foto_TumbNavn]\"  border=\"0\" /></a></center></td>
									  </tr>
									  <tr>
										<td class=\"picture_bildecell\"><center><a title=\"Vis\" href=\"bilde.php?al=$r[foto_album]&idfoto=$r[foto_id]&id=$id\">$rest</a></center></td>
									  </tr>
									</table>
			</center></td>
 </tr>
</table></center>";
		$foto = 1;
		break;
}
}

/**************************************************************************
* Hvis utlisting av bilde rammen slutter på 1, 2, 3 bilder								*
* må rammen avsluttes	med tomme tabeller 																	*
**************************************************************************/ 
switch ($foto){

	case 2:
/**************************************************************************
* Hvis det er 1 bilde i siste ramme må 3 tomme tabeller legges til				*
**************************************************************************/ 
	echo "<td class=\"picture_rammecell\">
					<table class=\"picture_albumtombox\">
				  <tr>
					<td class=\"picture_bildetom\"> </td>
				  </tr>
				  <tr>
					<td class=\"picture_bildecelltom\"> </td>
				  </tr>
				</table>
			</td>
				<td class=\"picture_rammecell\">
					<table class=\"picture_albumtombox\">
				  <tr>
					<td class=\"picture_bildetom\"> </td>
				  </tr>
				  <tr>
					<td class=\"picture_bildecelltom\"> </td>
				  </tr>
				</table>
			</td>
				<td class=\"picture_rammecell\">
					<table class=\"picture_albumtombox\">
				  <tr>
					<td class=\"picture_bildetom\"> </td>
				  </tr>
				  <tr>
					<td class=\"picture_bildecelltom\"> </td>
				  </tr>
				</table>
			</td>
  </tr>
</table></center>";
	break;

	case 3:
/**************************************************************************
* Hvis det er 2 bilder i siste ramme må 2 tomme tabeller legges til				*
**************************************************************************/
	echo "<td class=\"picture_rammecell\">
					<table class=\"picture_albumtombox\">
				  <tr>
					<td class=\"picture_bildetom\"> </td>
				  </tr>
				  <tr>
					<td class=\"picture_bildecelltom\"> </td>
				  </tr>
				</table></td>
				<td class=\"picture_rammecell\">
					<table class=\"picture_albumtombox\">
				  <tr>
					<td class=\"picture_bildetom\"> </td>
				  </tr>
				  <tr>
					<td class=\"picture_bildecelltom\"> </td>
				  </tr>
				</table></td>
			</tr>
</table></center>";
	break;

	case 4:

/**************************************************************************
* Hvis det er 3 bilder i siste ramme må 1 tom tabell legges til						*
**************************************************************************/
	echo "<td class=\"picture_rammecell\"><table class=\"picture_albumtombox\">
 <tr>
<td class=\"picture_bildetom\"> </td>
 </tr>
 <tr>
<td class=\"picture_bildecelltom\"> </td>
 </tr>
</table></td>
			</tr>
</table></center>";
	break;
}

Endret av Icaro2
Lenke til kommentar

Jeg vet ikke helt hva du gjør feil, men hvis du bruker nøyaktig denne koden skal det funke fint (har nettopp testet det selv med en for-loop):

$result3 = mysql_query("SELECT * FROM items WHERE id = '$innhold'") or die(mysql_error());
  $counter = -1;

  echo '<table><tr>';

   while(mysql_fetch_object($result3))
   {
	   $itemid = $row3['id'];
	   $itemnavn = $row3['name'];
	   $itemdescription = $row3['description'];
	   $itemarmor = $row3['armor'];
	   $itemstamina = $row3['stamina'];
	   $itemintellect = $row3['intellect'];

	   if(++$counter == 5)
	   {
		   echo '</tr><tr>';
		   $counter = 0;
	   }

	   echo '<td> Hello world! </td>';
   }

echo '</tr></table>';

Lenke til kommentar
Jeg vet ikke helt hva du gjør feil, men hvis du bruker nøyaktig denne koden skal det funke fint (har nettopp testet det selv med en for-loop):

$result3 = mysql_query("SELECT * FROM items WHERE id = '$innhold'") or die(mysql_error());
  $counter = -1;

  echo '<table><tr>';

   while(mysql_fetch_object($result3))
   {
	   $itemid = $row3['id'];
	   $itemnavn = $row3['name'];
	   $itemdescription = $row3['description'];
	   $itemarmor = $row3['armor'];
	   $itemstamina = $row3['stamina'];
	   $itemintellect = $row3['intellect'];

	   if(++$counter == 5)
	   {
		   echo '</tr><tr>';
		   $counter = 0;
	   }

	   echo '<td> Hello world! </td>';
   }

echo '</tr></table>';

 

 

Kunne du gi meg et Print Screen av resultatet du får? jeg får bare opp.

---------------------

Hello World!

 

Hello World!

 

Hello World!

 

Hello World!

 

Hello World!

 

Hello World!

 

Hello World!

 

Hello World!

-----------------------------

og resultatet skal egentlig være

| Hello World | | Hello World | | Hello World | | Hello World | | Hello World |

| Hello World | | Hello World | | Hello World | | | | |

Lenke til kommentar
Hva er HTML-koden du får da?

<table><tr><td> Hello world! </td></tr></table>

<table><tr><td> Hello world! </td></tr></table>

<table><tr><td> Hello world! </td></tr></table>

<table><tr><td> Hello world! </td></tr></table>

<table><tr><td> Hello world! </td></tr></table>

<table><tr><td> Hello world! </td></tr></table>

<table><tr><td> Hello world! </td></tr></table>

<table><tr><td> Hello world! </td></tr></table>

 

Er det som står i kildekoden vertfall

Endret av Dryper
Lenke til kommentar
Kan du vise hele kildekoden til dokumentet ditt? Jeg mistenker at du gjør det på en litt annen måte enn jeg foreslår. :)

 

Edit: Kildekoden = PHP-koden.

 

Det kan jeg jo altids ordne :=)

 

 

Dette er da hele sulamitten :)

<?

$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 = -1;

 

echo '<table><tr>';

 

while(mysql_fetch_object($result3))

{

$itemid = $row3['id'];

$itemnavn = $row3['name'];

$itemdescription = $row3['description'];

$itemarmor = $row3['armor'];

$itemstamina = $row3['stamina'];

$itemintellect = $row3['intellect'];

 

if(++$counter == 5)

{

echo '</tr><tr>';

$counter = 0;

}

 

echo '<td> Hello world! </td>';

}

 

echo '</tr></table>';

}

}

}

 

 

 

 

 

echo "<table border='1' valign=center align='middle' width='200'>";

echo "<tr><td>" . "<img src='$accountbilde' height='200' width='200' />" . "</td></tr>" . "<tr><td>" . "" . "<center>$playernavn</center>" . "</td></tr>" . "<tr><td>" . "" . "<center>Health:</br> $hpbarstart$hpbar$hpbarprocent</center><center>$playerliv/$playermaxliv</br><input type=submit value='Recover'></td></center>" . "</td></tr><td></td>" ."<tr><td>" . "" . "<center>Level: $playerlevel</center>" . "</td></tr><tr> $navn</br></tr>";

echo "</table>";

 

echo "<table border='1' valign=center align='middle' width='200'>";

echo $charactername;

echo "</table>";

Lenke til kommentar

Jeg tror dette skyldes en feil et annet sted i koden din enn i eksemplet mitt. Du kan jo prøve å kjøre dette for å teste at koden min faktisk funker :)

 

$counter = 0;
echo '<table><tr>';

for($i = 0; $i < 23; $i++)
{
if(++$counter == 5)
{
	echo '</tr><tr>';
	$counter = 0;
}

echo '<td>Row '. $i .'</td>';
}

echo '</tr></table>';

 

(har ikke testet akkurat denne snutten, men det var basically det jeg gjorde tidligere i dag for å bekrefte at fremgangsmåten funker.)

Lenke til kommentar
Jeg tror dette skyldes en feil et annet sted i koden din enn i eksemplet mitt. Du kan jo prøve å kjøre dette for å teste at koden min faktisk funker :)

 

$counter = 0;
echo '<table><tr>';

for($i = 0; $i < 23; $i++)
{
if(++$counter == 5)
{
	echo '</tr><tr>';
	$counter = 0;
}

echo '<td>Row '. $i .'</td>';
}

echo '</tr></table>';

 

(har ikke testet akkurat denne snutten, men det var basically det jeg gjorde tidligere i dag for å bekrefte at fremgangsmåten funker.)

 

Ja det var da merkelig :S hmm funka jo fint den :S har noen en peiling på hva jeg gjør galt?

';)

Lenke til kommentar
Hvorfor bruker du while-løkker når du kun henter ut èn rad? $row3 blir for øvrig aldri satt.

 

Fjern de unødvendige løkkene, så kan du prøve å lokalisere problemet.

 

 

Jeg skal igrunnen ha flere rader da :)

 

jeg skall ha alle radene der id = $innhold

 

:)

 

EDIT ja jeg så det :) bytta litt om der og nå funker det med alle linjene , men neste problem er at alle Linjene har den samme objektet i seg og det er objekt 9. hvorfor hviser bare dette?

 

evt. hva må jeg gjøre for å fikse dettE?

Endret av Dryper
Lenke til kommentar

Vi kan sjeldent hjelpe ut i fra en vag forklaring, slik alltid ser ut til å poste. Gi oss heller litt kode, samt feilmelding eller aller helst en LINK til problemet. Hvis siden krever login, kan du prøve å isolere problemet og sette det inn i en ny side for oss.

Lenke til kommentar
Vi kan sjeldent hjelpe ut i fra en vag forklaring, slik alltid ser ut til å poste. Gi oss heller litt kode, samt feilmelding eller aller helst en LINK til problemet. Hvis siden krever login, kan du prøve å isolere problemet og sette det inn i en ny side for oss.

 

 

Jess da :)

 

Nåværende Kode:

$result3 = mysql_query("SELECT * FROM items WHERE id = '$innhold'") or die(mysql_error());
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 "<table border='1' valign=center align='middle' width='200'>";
echo "<tr><td>"  . "<img src='$accountbilde' height='200' width='200'  />"  . "</td></tr>" . "<tr><td>" . ""  . "<center>$playernavn</center>" . "</td></tr>" . "<tr><td>" . ""  . "<center>Health:</br> $hpbarstart$hpbar$hpbarprocent</center><center>$playerliv/$playermaxliv</br><input type=submit value='Recover'></td></center>" . "</td></tr><td></td>" ."<tr><td>" . ""  . "<center>Level: $playerlevel</center>" . "</td></tr><tr> $navn</br></tr>";
echo "</table>";

echo "<table border='1' valign=center align='middle' width='200'>";
echo $charactername;
echo "</table>";


$counter = -1;
echo '<table border=1><tr>';
for($i = 0; $i < 23; $i++)
{
if(++$counter == 5)
{
	echo '</tr><tr>';
	$counter = 0;
}

echo '<td>Item '. $itemnavn .'</td>';
}

echo '</tr></table>';
?>

 

 

Bilde av problem:

http://perarne.sytes.net/projects/wod/bilder/Itemboard.JPG

 

Håper det hjelper litt mere i forklaringen :)

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