WN

WN (https://www.wn.se/forum/index.php)
-   Serversidans teknologier (https://www.wn.se/forum/forumdisplay.php?f=4)
-   -   Listning i php (https://www.wn.se/forum/showthread.php?t=13535)

vidir 2006-04-13 13:19

Hej igen!

Jag har ett fotoarkiv som listas upp å höjden, frågan är nu hur man listar fotoarkivet i sidled, typ 3 bilder på bredden för att sedan upprepa det nedåt?

Befintlig kod ----------->

<? include("variablar.php");
$klo = "SELECT * FROM spelare WHERE refid = '$id' ORDER BY bildrubrik";
$lop = mysql_query($klo);
while($ras = mysql_fetch_array($lop)) {
$idd = $ras["id"];
$bildrubrik = $ras["bildrubrik"];
$om = $ras["om"];
$bilder = $ras["bilder"];
$refid = $ras["refid"];
$datum = $ras["datum"];
?>
<table width="90%" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td width="53%">

<font color="#003366">
<?=$bildrubrik?>
</font>
</p>

</dl></td>
<td width="47%"> <div align="center">


</p>


<a href="<?=$bilder?>" target="_blank">[img]<?=$bilder?>[/img]
</a> </p>
</div></td>
</tr>
</table>
<?}?>

-------------->

Någon?

lubic 2006-04-13 14:04

För att göra en tabell med bilder 3 och 3 så skapar du en tabel innan while-loopen och sedan <td></td> runt varje "bild tabell" i while-loopen samt lägger till en räknare.

Sen kan du t.ex. använda dig av en räknare.
När räknare kommer upp till 3 så läggar du in en </tr><tr> för att hoppa ner en rad. (glöm inte att nollställa räknaren)

Sen efter while-loopen avslutar du din tabel.

Hoppas du hänger med på vad jag menar och får till det. Annars får du säga till.

vidir 2006-04-13 14:22

Tack lubic!
jag förstår detta i logiken men hade jag sett något exempel hade det varit lättare,, eller hade jag vetat vad detta sättet av listning hette på engelska hade jag kunnat leta på google osv..

Det är alltid förstagång för allt :D

lubic 2006-04-13 15:18

Provar att lägga in i din kod, dock är det i från huvudet oh inte testat så det är inte säker att det fungerar felfritt...

<? include("variablar.php");
$klo = "SELECT * FROM spelare WHERE refid = '$id' ORDER BY bildrubrik";
$lop = mysql_query($klo);

?>

<table border="0">
<tr>

<? $i = 0; ?>

<? while($ras = mysql_fetch_array($lop)) {

$i++;

$idd = $ras["id"];
$bildrubrik = $ras["bildrubrik"];
$om = $ras["om"];
$bilder = $ras["bilder"];
$refid = $ras["refid"];
$datum = $ras["datum"];
?>

<td>

<table width="90%" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td width="53%">

<font color="#003366">
<?=$bildrubrik?>
</font>
</p>

</dl></td>
<td width="47%"> <div align="center">


</p>


<a href="<?=$bilder?>" target="_blank">[img]<?=$bilder?>[/img]
</a> </p>
</div></td>
</tr>
</table>

</td>

<? if($i > 2){

$i = 0; ?>

</tr><tr>

<? } ?>


<?}?>

</tr>
</table>

tartareandesire 2006-04-13 15:43

Det bör fungera. Antar att du använt något färdigt script till detta men jag rekommenderar ändå att du sätter dig in lite i hur php och html fungerar så löser du lätt sådana här problem i framtiden. Även om du använder dig av färdiga script så är det ofta man vill ändra vissa saker i dem.

vidir 2006-04-13 16:49

Tack lubic, du är en klippa!

det funkar bra nu....

För det andra är detta inte färdiga script,, något ihopakok unuder åren, dvs med en hel del tidigare hjälp härifrån..

Jag hittade intressant javasript som gör ungefär samma sak,, satte det innuti en tr men hade problem med att visa allt annat än text..

------->

<script language="javascript">
var i = 1;
while (i <= 3) {
document.write ("<td> massa text </td>");
i++;
}
</script>

-------->


:D

martine 2006-04-13 17:59

Hör inte riktigt till temat, men ser ut som du stänger en <dl>-tagg som du inte öppnat mitt i koden (såvitt den inte pytsas ut med php någonstans).
Javaskript för att ändra tabellstrukturen i tabeller fungerar bara halvdant i IE. Har du funderat på att titta lite mer på strukturen, du har en del redundant kod, och validera skripten? Tabeller kan man ju undvika.

tartareandesire 2006-04-13 19:09

Citat:

Originally posted by vidir@Apr 13 2006, 16:49
Tack lubic, du är en klippa
det funkar bra nu....
För det andra är detta inte färdiga script,, något ihopakok unuder åren, dvs med en hel del tidigare hjälp härifrån..
Jag hittade intressant javasript som gör ungefär samma sak,, satte det innuti en tr men hade problem med att visa allt annat än text..
-------
script language=javascript
var i = 1;
while (i = 3) {
document.write (td massa text /td);
i++;
}
/script
--------



Lite onödigt att dra in JavaScript här. Generellt sett skulle jag råda dig att använda php till det som går och endast ha JavaScript som en sista utväg, t.ex. för ändringar på en färdigladdad sida.

lubic 2006-04-13 19:49

Javascript är som sagt ingen vidare lösning på ditt "problem" bättre att göra det via PHP eller liknade.

Sen är det självklart så att du säkert kan plocka bort den ena tabellen för att få ner kodmängden på din sida. Men det får du själv klura lite på. Learning by doing :)

fakkjoo 2006-04-14 01:24

skippa tables, använd[*]


Alla tider är GMT +2. Klockan är nu 00:52.

Programvara från: vBulletin® Version 3.8.2
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Svensk översättning av: Anders Pettersson