Hirdetés
- Xiaomi 15T Pro - a téma nincs lezárva
- Okosóra és okoskiegészítő topik
- iPhone topik
- Yettel topik
- Samsung Galaxy S26 Ultra - fontossági sorrend
- Samsung Galaxy Z Fold4 - egyre megy, honnan nézed
- Fittyet hány a pesti napfényre a Honor 600
- Egy picit megpihen az iPhone a 200 megapixeles váltás előtt
- Xiaomi 17 - még mindig tart
- Fotók, videók mobillal
-
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!
- iPhone 16 pro max - 256GB - Desert titan - 95% - 2024 október
- Dell Precision 7770 17.3" FHD IPS (100% DCI-P3) i7-12850HX 16GB 512GB NVMe gar
- Logitech g29
- Új, Gamer félgép - MSI Z890 GAMING PLUS WIFI + Intel Ultra 7 265K + Corsair 2x16GB DDR5 6400MHz CL32
- ASUS Rog Ally Z1 Extreme, 2027.01.12-ig gyári garanciás, hálózati töltőjével, szilikon tokkal eladó!
- Honor Magic 6 Pro 512GB Black Karcmentes állapot 12GB RAM 6 hónap garancia
- Azonnali készpénzes GAMER / üzleti notebook felvásárlás személyesen / csomagküldéssel korrekt áron
- 246 - Lenovo LOQ (15IRX10) - Intel Core i7-13650HX, RTX 5060 (ELKELT)
- HP ProDesk 600 G2 MT, i7-6700,8GB DDR4,256GB SSD,DVD-RW,WIN11
- Huawei Watch GT 3 42 mm 6 hónap Garancia Beszámítás Házhozszállítás
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest



