Hirdetés
- Ha nem növelnéd feleslegesen a villanyszámlád, a Chieftecnek van pár új ajánlata
- ARC vs eARC — Ilyet is tud a HDMI-d? 🤨
- A következő évtizedbe repíti a NAND hatékonyságát a Samsung új kutatása
- ASUS blog: kisebb, de nem gyengébb – a mini PC-k forradalma
- 5 kilowattos GPU-k előtt nyitná meg az utat az Intel
Új hozzászólás Aktív témák
-
Sk8erPeter
nagyúr
Hali!
1. a deprecated mysql_ kezdetű függvényekről át kell állni mysqli-re vagy PDO használatára
2. a végéről szedd ki a <center> taget, nemcsak felesleges (mivel nincs nyitótag), hanem obsoleted elem is (nem használjuk ma már, CSS-sel oldjuk meg a középre igazítást)
3. a táblázatos megoldást elkészítettem neked egy kicsit rugalmasabbra, nem tudtam most kipróbálni, csak fejből írtam a dolgot, Notepad++-ba gyorsan bepötyögve, de remélhetőleg nincs benne hiba, tehát:AZ EREDETI
echo "<table>";
echo "<tr><th>ID</th><th>User</th></tr>";
while($row = mysql_fetch_array($result, MYSQL_ASSOC)){
echo "<tr><td><img src=\"gif/".$row['ID'].".gif\"></td><td>".$row['User']."</td></tr>";
}
echo "</table>";HELYETT írd ezt a kódban:
// elemek száma egy sorban
$nrOfItemsInARow = 10;
// megszámoljuk az elemeket a ciklusban, 0-ról indítunk
$nrOfItems = 0;
// táblázat nyitótagje
echo '<table>';
// ciklus (TODO: PDO+MySQL-re vagy mysqli-re minél előbb átállni)
while($row = mysql_fetch_array($result, MYSQL_ASSOC)){
if ($nrOfItems % $nrOfItemsInARow === 0) { // osztási maradék (akkor kezdünk meg egy sort, ha osztható $nrOfItemsInARow-val)
// lezárjuk az előző sort, amennyiben nem az első elemnél járunk
if ($nrOfItems !== 0) { // az első elemnél nyilván nem kell lezárni még semmit
echo '</tr>';
}
// megkezdjük a sort
echo '<tr>';
}
echo '<td>
<a href="http://prohardver.hu/tag/'.$row['ID'].'.html">
<img src="gif/'.$row['ID'].'.gif" alt="'.$row['ID'].' ('.$row['User'].')" title="'.$row['ID'].' ('.$row['User'].')" />
</a>
</td>';
$nrOfItems++; // elemek számát növeljük
}
// maradékos osztás
$rowsRemainder = $nrOfItems % $nrOfItemsInARow; // pl. 33 elem van, 33%10 === 3
$colspanFromRemainder = $nrOfItemsInARow - $rowsRemainder; // pl. 10-3 === 7 --> ennyi üres hely marad még, ezt ki kell tölteni
// kitöltjük a maradék oszlopokat is colspan-attribútum segítségével
// (lásd pl. korábbi példa: 7 elemnyi hely marad)
if ($colspanFromRemainder > 0) {
echo '<td colspan="'. $colspanFromRemainder .'"></td>';
}
// lezárjuk az utolsó sort
echo '</tr>';
// lezárjuk a táblázatot
echo '</table>';
echo '<hr />';
echo '<p>Összesen: <strong>'.$nrOfItems.'</strong> db</p>';
echo '<hr />';Kommenteztem is rendesen, így remélhetőleg gyorsan megérted a kód működését.
Ez így rugalmas, mert elméletileg (ha nem írtam el a kódot) amennyiben a táblázatban egy sorban lévő elemek számát 10-ről szeretnéd megnövelni vagy lecsökkenteni, akkor csak a $nrOfItemsInARow = 10; sorban kell megváltoztatnod a számot. A többi pedig igazodik ehhez, minden egyebet kiszámol.Ja, még egy pluszt hozzátettem: belinkeli a felhasználók adatlapját is (lásd <a> tag), ezt is tördeltem, amennyiben nincs rá szükséged, vagy nem jó az eredmény, egyszerűen szedd ki a linkelést. Ezenkívül az <img> tag kapott alt- és title-attribútumot, ahogy illik.
Ha valami nem tiszta, kérdezz.
Új hozzászólás Aktív témák
- Futárcégek
- Formula-1
- Fájhat Elon feje: mindjárt kész a Starlink-rivális
- Luck Dragon: Asszociációs játék. :)
- OLED TV topic
- Kaspersky Antivirus és Internet Security Fórum
- Pánik a memóriapiacon
- Vezeték nélküli fülhallgatók
- Multimédiás / PC-s hangfalszettek (2.0, 2.1, 5.1)
- SSD kibeszélő
- További aktív témák...
- Dell Precision 7730,17.3",FHD,i5-8400H CPU,16GB DDR4,512GB SSD,WIN11
- ÚJ! BONTATLAN! Samsung 860 EVO 1TB SSD,2.5
- Új Prémium vezeték nélküli billentyűzet eladó Magyar (PBT) kupakokkal
- HP EliteBook X360 1030 G2,Multi-Touch 2 az 1-ben,i5-7300U,8GB DDR4,256GB SSD,WIN11
- ÚJ! BONTATLAN! WD BLUE Sata SSD 1TB,2.5,560/530
- Apple iPhone 14 Pro Max / 128GB / Kártyafüggetlen / 12Hó Garancia / Akku Gyári 100%
- GYÖNYÖRŰ iPhone 13 Pro 256GB Sierra Blue -1 ÉV GARANCIA - Kártyafüggetlen, MS3358, 100% Akkumulátor
- BESZÁMÍTÁS! MSI B550M R7 5700X 32GB DDR4 1TB SSD RTX 4070 12GB ZALMAN M4 A-Data 750W
- Nintendo switch oled, Új,Dobozával, 12 hónap garanciával
- ÁRGARANCIA!Épített KomPhone Ryzen 5 7600X 32/64GB RAM RX 9070 16GB GAMER PC termékbeszámítással
Állásajánlatok
Cég: BroadBit Hungary Kft.
Város: Budakeszi
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest


