Hirdetés
- Apple Watch
- Csak egy ország kap Exynos 2600-as Galaxy S26 telefonokat?
- Samsung Galaxy A17 5G – megint 16
- Milyen okostelefont vegyek?
- Nagyon jól néz ki a Nothing Phone (3a) limitált kiadása
- Samsung Galaxy S25 - végre van kicsi!
- iPhone topik
- Megbüntették, ezért feloszlatná az EU-t Elon Musk
- Okosóra és okoskiegészítő topik
- A középkategória egyik legjobb vétele - Dreame L40 Ultra AE
-
Mobilarena

Új hozzászólás Aktív témák
-
Sk8erPeter
nagyúr
válasz
spammer
#4360
üzenetére
Én a helyedben ebben az esetben (ha nem akarnék semmiképp adatbázist használni) inkább azt a sokkal rugalmasabb megoldást választanám, hogy fájlból olvasnám ki az egyes adatokat (legyenek most termékadatok), legegyszerűbb szemléltetésként úgy, hogy az egyes oszlopok tabulátorral lennének elválasztva. Ez jelentené tulajdonképpen a táblázatot, ebből hoznám létre a tényleges HTML-táblázatot a fájlból való kiolvasásnál.
A táblázat fájlból való kiolvasására és táblázatszerű kiíratására HTML-ben írok egy nagyon leegyszerűsített példát (nyilván még ezerféleképpen lehet, biztos van elegánsabb megoldás is, de most ez jutott eszembe).
Legyen egy "termeklista.txt" nevű fájlod, és abban az első három oszlop legyen rendezve tabulátorral a következők szerint: "Termék neve", "Ár", ill. "Megjegyzés"; annak legyen pl. a következő a tartalma (az egyes mezők között tabulátor van!):
Első termék 1200 Ide jöhet a blabla az első termékről
Még egy termék 900 Ez a termék nagyon fullos cucc(Szerk.: sajnos a PH úgy alakítja át a szöveget, hogy a tabulátor nem látszik tabulátornak, de a lényeg, hogy az "Első termék" és az "1200" között (meg 1200 után) tabulátor helyezkedik el.)
Ezenkívül legyen mondjuk egy termek.php fájl, amivel a termékeket egy HTML-táblázatba kiírod, annak a tartalma a következő:
<?php
//... egyebek...
$file = @fopen("termeklista.txt", "r");
if($file)
{
$i=0;
$tablazat='
<table border="1">
<tr>
<th>Termék neve</th>
<th>Ár</th>
<th>Megjegyzés</th>
</tr>
';
while (!feof($file)) {
$i++; //sorok számlálása
$termek_info = fscanf($file, "%[a-zA-Z0-9íéáűőúöüó@&;:,. /!?-]\t%[0-9]\t%[a-zA-Z0-9íéáűőúöüó@&;:,. /!?-]\n"); //reguláris kifejezések
list($termeknev, $ar, $megjegyzes) = $termek_info; //változókba szétdobáljuk a tömbelemeket
$tablazat.='
<tr>
<td>'.$termeknev.'</td>
<td>'.$ar.' Ft</td>
<td>'.$megjegyzes.'</td>
</tr>
';
}
fclose($file);
$tablazat.='</table>';
echo 'És végül a táblázat:<br />';
echo $tablazat;
echo 'Sorok száma: '.$i.'<br />';
}
else
die('A fájl nem létezik!');
?>Ha meg konkrét sorban (egy sor egy termék) szereplő árra keresel, akkor beraksz egy új változót, és lecseréled a while ciklust a következőre (nyilván ennél gyorsabban működő megoldással is lehet (nem mintha ez olyan irtó lassú lenne), de ezzel most nem foglalkoztam), a többi marad uaz:
$keresett_sor=10;
while ($i!=$keresett_sor && !feof($file)) {
$i++; //sorok számlálása
$termek_info = fscanf($file, "%[a-zA-Z0-9íéáűőúöüó@&;:,. /!?-]\t%[0-9]\t%[a-zA-Z0-9íéáűőúöüó@&;:,. /!?-]\n"); //reguláris kifejezések
if($i==$keresett_sor){
list($termeknev, $ar, $megjegyzes) = $termek_info; //változókba szétdobáljuk a tömbelemeket
$talalat=$ar;
}
}
if(isset($talalat))
echo 'A keresett termék ára: '.$ar;
else
echo 'A keresett termék nem található!';Remélem segítettem elindulni az úton.

Új hozzászólás Aktív témák
● olvasd el a téma összefoglalót!
- iPad Pro 5th gen (126 gb / wifi)
- ÚJ! SteelSeries Arctis Nova Pro Wireless (PC & Xbox) Aktív zajszűréssel!
- HyperX Cloud II Wireless vezeték nélküli Gamer fejhallgató dobozában!
- Razer Kraken V4 Wireless Gamer fejhallgató - dobozában!
- Dell Latitude 7320 -Érintőképernyős - I7 1185G7 - 16Gb ram - Több db
- Apple iPhone 16 - Black - 128GB - Akku: 100% - ÚJ - BONTATLAN - 1 ÉV APPLE JÓTÁLLÁS - FÜGGETLEN
- Apple iPhone SE 2020 / 128GB / Kártyafüggetlen / 12Hó Garancia / Akku:82%
- Kuriózum: Ozark Trail (amerikai) fejlámpa 600 lumen
- Honor X7D / 6/128GB / Kártyafüggetlen / 12Hó Garancia
- Bomba ár! HP ProBook 450 G1 - i3-4GEN I 4GB I 500GB I HDMI I 15,6" HD I Cam I W10 I Garancia!
Állásajánlatok
Cég: BroadBit Hungary Kft.
Város: Budakeszi
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest




