Megjegyzés:
A txt fájl is lehet vesszővel tagolt fájl, és az adatokat külön sorokban tárolhatja. (Minden sor végén ENTER)
Program, az ilyen txt fájlokat is úgy dolgozza fel, mint a csv fájlokat.
Márka,Szín,Megtett (KM),Ajtó,Ára Toyota,Fehér,150043,4,"$4,000.00" Honda,Piros,87899,4,"$5,000.00" Toyota,Kék,32549,3,"$7,000.00" BMW,Fekete,11179,5,"$22,000.00" Nissan,Fehér,213095,4,"$3,500.00" Toyota,Zöld,99213,4,"$4,500.00" Honda,Kék,45698,4,"$7,500.00" Honda,Kék,54738,4,"$7,000.00" Toyota,Fehér,60000,4,"$6,250.00" Nissan,Fehér,31600,4,"$9,700.00" |
while ciklussal. Adatokat fgetcsv($mf) függvénnel elemezzük, és tömbbe íratjuk. --- Beolvasáshoz és további feldolgozáshoz is, jó.
Márka | Szín | Megtett (KM) | Ajtó | Ára | ||||||
---|---|---|---|---|---|---|---|---|---|---|
Toyota | Fehér | 150043 | 4 | $4,000.00 | ||||||
Honda | Piros | 87899 | 4 | $5,000.00 | ||||||
Toyota | Kék | 32549 | 3 | $7,000.00 | ||||||
BMW | Fekete | 11179 | 5 | $22,000.00 | ||||||
Nissan | Fehér | 213095 | 4 | $3,500.00 | ||||||
Toyota | Zöld | 99213 | 4 | $4,500.00 | ||||||
Honda | Kék | 45698 | 4 | $7,500.00 | ||||||
Honda | Kék | 54738 | 4 | $7,000.00 | ||||||
Toyota | Fehér | 60000 | 4 | $6,250.00 | ||||||
Nissan | Fehér | 31600 | 4 | $9,700.00 | ||||||
Oszlopok száma = 5 | ||||||||||
Sorok száma = 11 -- Beleértve a fejléc adatok sorát is. |
0. Márka | 1. Szín | 2. Megtett (KM) | 3. Ajtó | 4. Ára |
---|---|---|---|---|
BMW Honda Honda Honda Nissan Nissan Toyota Toyota Toyota Toyota | Fekete Piros Kék Kék Fehér Fehér Fehér Kék Zöld Fehér | 11179 87899 45698 54738 213095 31600 150043 32549 99213 60000 | 5 4 4 4 4 4 4 3 4 4 | $22,000.00 $5,000.00 $7,500.00 $7,000.00 $3,500.00 $9,700.00 $4,000.00 $7,000.00 $4,500.00 $6,250.00 |
Lekérdezendő csv fájl útvonalának (URL-nek),
azt a fájl címet írjuk be, melynél a lekérdezendő fájl, az adatokat tárolja.
- Ha csv fájl, akkor "autokereskedes.csv";
- Ha txt fájl, akkor "autokereskedes.txt"; ---- Itt, a txt fájl tartalmának meg kell egyezni, a Microsoft Excel vesszővel tagolt fájl formátummal, és az adatokat külön sorokban kell tárolnia.
<body> <div id="container"> <?php $munkafajl="autokereskedes.csv"; // Lekérdezendő csv fájl útvonala (URL) $kdi=0; // Kétdimanziós index érték. // Munkafájl megnyitása, olvasásra (" r ") $mf=fopen($munkafajl, "r"); while (!feof ($mf)) { $fgetcsvtomb[$kdi] = fgetcsv($mf); $kdi++; } fclose ($mf); // Megnyitott munkafájl bezárása. // ------ Táblázatba, kétdimenziós tömb, adatainak lekérdezése ----------------- echo '<table class="leirastabla">'; echo '<caption>Program eredménye, eredeti sorrendben.</caption>'; for($i=0; $i<$kdi; $i++) { if($fgetcsvtomb[$i] != '') { // Itt, egyes idézőjelek vannak: ' ' echo "<tr>"; foreach ($fgetcsvtomb[$i] as $index => $adat) { if($i==0){ echo '<th>'.$adat.'</th>';} else { echo '<td>'.$adat.'</td>'; } } echo "</tr>"; } } $oszlopokszama=count($fgetcsvtomb[0]); echo '<tr><td colspan="'.$kdi.'"> </td></tr>'; echo '<tr><td colspan="'.$kdi.'">Oszlopok száma = '.$oszlopokszama.'</td></tr>'; echo '<tr><td colspan="'.$kdi.'">Sorok száma = '.$kdi.' -- Beleértve a fejléc adatok sorát is.</td></tr>'; echo '</table>'; // Vége a fájl adatok lekérdezésének és adatok táblázatba történő kiíratásnak. echo '<br><hr><br>'; // Továbbiak akkor kellenek, ha az adatokat "ABC" sorrendben kell kiíratni. echo '<h2>Rendezés ABC sorrendbe.</h2>'; // Adatok ABC szerinti rendezése. // $i azért egyenlő 1-el, mert a 0-ik elem, oszlopnevet tartalmaz, és nem adatot. // Lekérdezzük az adatokat és egy tetszőleges elnevezésű, új tömbbe íratjuk. // Az új tömböt rendezzük ABC-szerint, eredeti indexelés megtartásával. for($i=1; $i<$kdi; $i++) { if($fgetcsvtomb[$i] != '') { $eredeticsv[$i]=$fgetcsvtomb[$i][0]; } } // --------------------------------------------------------------------------- asort($eredeticsv); // Rendezés ABC-szerint, eredeti indexelés megtartásával. // -- Az ABC rendezéshez szükséges index sorrend, tömbbe íratása. $abci=1; foreach ($eredeticsv as $index => $adat) { $abcindex[$abci]=$index; $abci++; } // --------------------------------------------------------------------------- $indexh= count($abcindex); $adatindexek=$indexh+1; // --------------------------------------------------------------------------- echo '<table class="leirastabla"><caption>ABC sorrend.</caption>'; // Fejléc, azaz, a th cellák adatainak kiíratása. echo'<tr>'; for ($fa=0; $fa<$oszlopokszama; $fa++) { $FejlecAdat=$fgetcsvtomb[0][$fa]; $csvfejlec[$fa]=$FejlecAdat; } foreach ($csvfejlec as $index => $adat) { echo '<th>'.$index.'.<br> '.$adat.'</th> '; } echo'</tr>'; // ----------------------------------------------------------- // Adatok, azaz, a td cellák adatainak kiíratása, ABC sorrendben. echo '<tr>'; for ($oi=0; $oi<$oszlopokszama; $oi++) { echo '<td>'; for($i=1; $i<$adatindexek; $i++) { $ri=$abcindex[$i]; echo $fgetcsvtomb[$ri][$oi].'<hr>'; } echo '</td>'; } echo '</tr>'; echo '</table>'; ?> </div> </body> |