Autor | Zpráva | ||
---|---|---|---|
PetraPetra Profil * |
Potřebovala bych poradit s výpisem dat. Potřebovala bych vypsat data, kde u posledních položek je Last ... potřebovala bych nějakou funkčnost přes IF. Nevíte prosím jak by script pro daný výpis mohl vypadat?
<div class="sloupec"> <div class="data">Zde neco bude</data> <div class="data">Zde neco bude</data> <div class="dataLast">Zde neco bude</data> <div class="sloupec"> <div class="data">Zde neco bude</data> <div class="data">Zde neco bude</data> <div class="dataLast">Zde neco bude</data> </div> <div class="sloupecLast"> <div class="data">Zde neco bude</data> <div class="data">Zde neco bude</data> <div class="dataLast">Zde neco bude</data> </div> |
||
Alphard Profil |
#2 · Zasláno: 22. 7. 2012, 20:51:16
Bez informací o tom, jaký zdroj dat používáte, nelze sestavit požadovanou podmínku.
|
||
PetraPetra Profil * |
#3 · Zasláno: 22. 7. 2012, 20:54:14
Používám na to výpis dat z mySQL a budu to mít pro výpis článků, tak že počet bude různý.
|
||
Alphard Profil |
#4 · Zasláno: 22. 7. 2012, 21:22:49
Tato informace taky moc nepomohla, ale předpokládám, že používáte nejjednodušší
while ($row = mysql_result($res)) .
Získat přímo z tohoto informaci o poslední položce je problematické, leda čarovat s posouváním v datové řadě nebo různé zásobníky výpisu. Jako nejjednodušší se mi zdá zjistit si pomocífunkce mysql_num_rows() počet vrácených záznamů, v cyklu iterovat counter a pak snadno zjistit, je-li záznam poslední. PHP alternativa je projít vrácenou sadu a uložit si ji do pole. Alternativou bez php je použít CSS vlastnosti #tree ul li:last-child { background: #fff url(lastnode2.png) no-repeat; } |
||
PetraPetra Profil * |
#5 · Zasláno: 22. 7. 2012, 21:26:22
Můžu se zeptat, jak by takový cykl s použitím IF mohl vypadat, aby se tam dalo použít ten můj class "last"? Když tak to ostatní bych už zkusila sama.
|
||
panther Profil |
#6 · Zasláno: 22. 7. 2012, 21:27:58
PetraPetra:
jen doplním Alpharda a jeho alternativu pomocí CSS: nevím, k čemu má odlišení posledního řádku sloužit, ale pokud v něm chceš něco více, než jen bezvýznamné grafické oddělení od zbylých řádek, last-child nemá podporu v IE <= 8.
Dále Alphard uvedl jQuery. Samozřejmě je blbost načítat to monstrum do stránky jen kvůli tomu, jde to i „čistým“ JavaScriptem: .lastChild .
|
||
panther Profil |
PetraPetra:
„Můžu se zeptat, jak by takový cykl s použitím IF mohl vypadat“ $total = mysql_num_rows($res); $i = 1; while ($row = mysql_fetch_assoc($res)) { echo '<tr' . ($i == $total ? ' class="last"' : '') . '>'; // vypise <tr> nebo <tr class="last"> pro poslední řádek ... $i++; } |
||
PetraPetra Profil * |
#8 · Zasláno: 22. 7. 2012, 21:40:35
Panther ... moc děkuji za vysvětlení. Je možné ten script dát vůči mému HTML? Nevím proč, ale tyhle věci s IF .... 2% apod. jsou pro mě těžké :(
|
||
Alphard Profil |
#9 · Zasláno: 22. 7. 2012, 22:05:16
PetraPetra:
Co už vlastně máte hotové? panther uvedl celou část, včetně cyklu vypisujícího data. Jeho podminku není potřebu měnit. |
||
PetraPetra Profil * |
#10 · Zasláno: 22. 7. 2012, 22:59:30
On ten last je jak pro data, tak i pro sloupec, tj. pouzit je 2x. Panther uvedl jedne způsob. Pro jistotu radši přikládám znovu daný HTML:
<div class="sloupec"> <div class="data">Zde neco bude</data> <div class="data">Zde neco bude</data> <div class="dataLast">Zde neco bude</data> <div class="sloupec"> <div class="data">Zde neco bude</data> <div class="data">Zde neco bude</data> <div class="dataLast">Zde neco bude</data> </div> <div class="sloupecLast"> <div class="data">Zde neco bude</data> <div class="data">Zde neco bude</data> <div class="dataLast">Zde neco bude</data> </div> |
||
Keeehi Profil |
#11 · Zasláno: 23. 7. 2012, 02:00:03
PetraPetra:
Spíš uveď ten PHP kód, který toto generuje. |
||
Bertram Profil |
#12 · Zasláno: 23. 7. 2012, 09:09:41
PetraPetra:
<?php $objHandle = mysqli_connect("127.0.0.1","root","heslo","databaze"); mysqli_query($objHandle, "SET CHARACTER SET utf8"); if (!$objHandle) { echo "Chyba při připojování k databázi."; exit; } $objResult = mysqli_query($objHandle, "SELECT * FROM tabulka"); if (!$objResult) { echo "Chyba při zpracování dotazu."; exit; } $sloupecLast = $objHandle->affected_rows; $iteratorSloupcu = 1; while ($row = mysqli_fetch_assoc($objResult)) { echo "<div class='" . ($iteratorSloupcu == $sloupecLast ? 'sloupecLast' : 'sloupec') . "'>"; $dataLast = count($row); $iteratorDat = 1; foreach ($row as $key => $value) { echo "<div class='" . ($iteratorDat == $dataLast ? 'dataLast' : 'data') . "'>$value</div>"; $iteratorDat++; } $iteratorSloupcu++; echo "</div>"; } ?> citace: Nevím proč, ale tyhle věci s IF .... 2% apod. jsou pro mě těžké :( Doporučuji vám, nepokračovat s okopírovaným kódem dál, ale prve pochopit, jak funguje. |
||
Časová prodleva: 12 let
|
0