Kirjautuminen

Haku

Tehtävät

Keskustelu: Ohjelmointikysymykset: PHP: Tiedostosta haku

Sivun loppuun

artz86 [16.12.2009 14:53:44]

#

Elikkäs tarkoituksena olisi saada haettua .dat-päätteisestä tiedostosta tietue,
kun syöttää numerosarjaa...

Millä olisi helpoin tehdä?

Esim.
Syötän kenttään numeron 256464

Niin tiedostosta haetaan kyseinen tietue

Gaxx [16.12.2009 14:58:34]

#

Et maininnut kieltä, jolla tuo pitäisi toteuttaa.

Perusidea kuitenkin on se, että jos tietueiden koko on vakio, voit laskea tietueen sijainnin tiedostossa ja oikaista tähän kohtaa seek-komennolla.

Jos tietueet eivät ole vakiokokoisia, joudut lukemaan kaikki edeltävät tietueet ja lopuksi sen tietueen, minkä haluat lukea.

artz86 [16.12.2009 15:01:18]

#

Joo niinpäs en näköjään sanonut, no itse ajattelin että sql-kielellä toteuttaisin

Macro [16.12.2009 15:10:17]

#

Ei sillä tiedostoista haeta... PHP on kaiketi paras vaihtoehto tähän.

jo123 [16.12.2009 15:21:05]

#

Macro kirjoitti:

Ei sillä tiedostoista haeta... PHP on kaiketi paras vaihtoehto tähän.

Ihan hyvä kunhan jättää sanan paras pois ja korvaa sen sanalla hyvä.

Lebe80 [16.12.2009 15:58:25]

#

...tai jättää myös 'hyvä' sanan pois.

artz86 [16.12.2009 17:48:44]

#

no joo ei oo hirvee taito tosta, mutta tuota php:tä tarkotin :D

mutta kuitenkin mitenkä se kannattas tehä

Antti Laaksonen [16.12.2009 18:05:56]

#

Mikä on tiedoston tarkka muoto? Miten tiedosto on luotu?

vehkis91 [16.12.2009 18:15:43]

#

Tuohan nyt onnistuu melkeem millä tahansa ohjelmointikielellä...

Edit: mutta tosiaan, mikä on tiedoston muoto ja minkälaisia tietueita sieltä pitäisi lukea?

artz86 [16.12.2009 19:30:03]

#

.dat päätteinen tiedosto

rivimuoto

T 58;"KK";1976;"Teksti1";"Teksti2"

Pitäisi saada luettua omille rivellein seuraavat kohdat:

KK
Teksti
Teksti
1976

Antti Laaksonen [16.12.2009 19:44:31]

#

Tässä on esimerkki PHP:llä (tietue.php):

<?php
if ($_POST["tietue"] <> "") {
    $tietue = (int)$_POST["tietue"];
    $rivit = file("tiedot.dat");
    $rivi = $rivit[$tietue];
    $osat = explode(";", $rivi);
    echo $osat[1] . "<br>";
    echo $osat[3] . "<br>";
    echo $osat[4] . "<br>";
    echo $osat[2] . "<br>";
    die();
}
?>
<form action="tietue.php" method="post">
Tietue: <input type="text" name="tietue"><br>
<input type="submit" value="Lähetä">
</form>

vehkis91 [16.12.2009 19:45:03]

#

Edit: Jaa Antti ehtikin jo vastata.

Eli tuo T:n jälkeinen numero on tunnus?

Ja siis tarkalleen ottaen, mihin ohjelmaan tarviit kyseisen pätkän?
Tai no lähinnä millä kielellä?

trilog [16.12.2009 19:49:29]

#

Eikös tuo ihan CSV:tä ole? Ei kannata siis ruveta pyörää keksimään uudelleen.

vehkis91 kirjoitti:

Tai no lähinnä millä kielellä?

artz86 kirjoitti:

no joo ei oo hirvee taito tosta, mutta tuota php:tä tarkotin :D


Sivun alkuun

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta