Hirdetés
- Milyen okostelefont vegyek?
- Android alkalmazások - szoftver kibeszélő topik
- Samsung Galaxy S23 és S23+ - ami belül van, az számít igazán
- Kicsomagoljuk és bemutatjuk a Poco F8 Ultrát
- Bemutatkozott a Snapdragon 8 Gen 5
- Samsung Galaxy A54 - türelemjáték
- Samsung Galaxy Watch6 Classic - tekerd!
- Xiaomi 15T - reakció nélkül nincs egyensúly
- Telekom mobilszolgáltatások
- Samsung Galaxy S25 Ultra - titán keret, acélos teljesítmény
-
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!
- Milyen egeret válasszak?
- Kamionok, fuvarozás, logisztika topik
- PLC programozás
- Interactive Brokers társalgó
- AMD Ryzen 9 / 7 / 5 / 3 5***(X) "Zen 3" (AM4)
- Mennyibe fog kerülni a Steam Machine?
- Milyen okostelefont vegyek?
- Székesfehérvár és környéke adok-veszek-beszélgetek
- Android alkalmazások - szoftver kibeszélő topik
- EAFC 26
- További aktív témák...
- XFX Quicksilver RX 9070 XT White Magnetic Air Edition 16GB (3 év garancia ALZA)
- ÚJ MSI Cyborg 15 - 15.6"FHD 144Hz - Core 7 240H - 16GB - 512GB - Win11 - RTX 5060 - 3 év garancia
- ROG Strix G732LWS 17.3" FHD IPS i7-10875H RTX 2070 Super 32GB 1TB NVMe gar
- Logitech PRO-X, Yeti, G303, G502 (Bontatlan)
- SteelSeries Arctis Nova Pro Wireless (Bontatlan)
- HIBÁTLAN iPhone 13 mini 128GB Pink -1 ÉV GARANCIA -Kártyafüggetlen, MS3844, 100% Akkumulátor
- LG 27GR83Q-B - 27" IPS / QHD 2K / 240Hz & 1ms / NVIDIA G-Sync / FreeSync / DisplayHDR 400
- Telefon felvásárlás!! Samsung Galaxy Note 10+/Samsung Galaxy Note 20/Samsung Galaxy Note 20 Ultra
- Apple iPhone 15 Pro 128GB, Kártyafüggetlen, 1 Év Garanciával
- BESZÁMÍTÁS! Nintendo Switch OLED 64GB +256GB fekete játékkonzol garanciával hibátlan működéssel
Állásajánlatok
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest
Cég: ATW Internet Kft.
Város: Budapest




