/ Forside / Teknologi / Udvikling / PHP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
PHP
#NavnPoint
rfh 3959
natmaden 3372
poul_from 3310
funbreak 2700
stone47 2230
Jin2k 1960
Angband 1743
Bjerner 1249
refi 1185
10  Interkril.. 1146
Gem data fra cvs-tekstfil i Mysql via PHP-~
Fra : Torben Borre Larsen


Dato : 07-12-06 00:19

Hejsa,
Jeg er absolut Nybegynder i PHP, og har derfor brændende behov for
pædagogisk hjælp til at gemme data fra en Kommaseparret tekstfil i MySql
databasen, - via en knap eller andet fra en PHP-side på vores hjemmeside.

(Det skal være ekstremt brugervenligt, kan I NOK læse).

Mit Senarie er:
1) Vi opretter nye IntraNet brugere i vores medlemssystem
2) Disse nye brugere skrives til en kommasepareret tekstfil.
Denne tekstfil har altid det samme navn og gemmes altid på den
samme placering på den lokale Pc'er.
Tekstfilen indeholder 5 felter for hver bruger:
Username, Password, Name, Company, Email
(= samme feltbetegnelser som i MySql databasen)   

Hertil jer jeg med! Tekstfilen er dannet og gemt! PyHa...

3) Brugeren skal nu state hjemmesiden og gå ind på en bestemt side - evt
via kode (eller bare en skjult side)

4) Brugeren skal her
a) Få listet de brugere, der ligger i tekstfilen
b) Kunne klikke på en knap eller andet og få tekstfilens poster læst
ind
i MySql-databasen.

5) Bruger får evt. en slutsvar på siden : "12 nye bruger er indlæst i
MySql"

Det er således punkt 3 - 5 jeg har alvorglige problemer med - og håber
på al den hjælp jeg kan få hér i gruppen. Det er jo snart jul -:)

På forhånd tak.
--
Venlig hilsen
Torben Borre Larsen
[torben@dui.dk] [www.dui.dk]


 
 
Martin Mouritzen (07-12-2006)
Kommentar
Fra : Martin Mouritzen


Dato : 07-12-06 02:00

On Thu, 07 Dec 2006 00:19:26 +0100, "Torben Borre Larsen"
<torben@dui.dk> wrote:

>3) Brugeren skal nu state hjemmesiden og gå ind på en bestemt side - evt
>via kode (eller bare en skjult side)

Nu kommer det lidt an på hvordan du vil lave det, men så skal du enten
lave et brugersystem eller f.eks. kontrollere IP nummer eller lign.
(pas på med skjulte sider).

>4) Brugeren skal her
> a) Få listet de brugere, der ligger i tekstfilen
> b) Kunne klikke på en knap eller andet og få tekstfilens poster læst
>ind i MySql-databasen.

Det kræver at brugeren først uploader filen. Webserveren kan jo ikke
kigge på brugerens maskine, men du kan lave et upload script, læs evt.
mere her: <url:http://dk2.php.net/features.file-upload>

Mht. at indlæse filen, så er her lidt eksempel kode, som du måske kan
bruge og justere:
<?
// Sti til den uploadede CSV fil
$csvfile = "mincsvfil.csv";

// Seperator i CSV filen (Nogen gange er der måske brugt en anden
seperator end ";")
$seperator = ";";

// Læs CSV filen.
$lines = file($csvfile);

// Gennemgå alle linier i filen.
foreach($lines as $line) {
   $rows = explode($seperator,$line); // Del hver linie ved
seperatoren og lav et array med rækkerne.

   // Indsæt brugerne (Din MySQL tabel ser sikkert anderledes ud)
   $query = "
      INSERT INTO
         members
      SET
         name = '".addslashes($row[0])."',
         address = '".addslashes($row[1])."'
   ";
   mysql_query($query,$connection) or
die("\n<br>\n<b>SQL-Error:</b> ".mysql_error()."<br>\n<b>SQL:</b>
".$query);
}
?>

>5) Bruger får evt. en slutsvar på siden : "12 nye bruger er indlæst i
>MySql"

Efter ovenstående kan du bare skrive

print sizeof($lines)." nye brugere er indlæst i MySQL";

Min eksempelkode er skrevet således at den altid læser alle brugerne i
CSV filen ind, men det vil skabe duplikater hvis du kører scriptet
flere gange. Enten kan du vælge at lave en SELECT på f.eks. navn
(eller en mere unik oplysning) og kontrollere at gengangere ikke
bliver sat ind, alternativt kan du slette medlemmer fra databasen hver
gang, dette har både fordele og ulemper. Fordelen er at så kan
eksisterende medlemmer rettes i CSV filen og de vil så blive
"opdateret" (slettet og oprettet igen) når scriptet køres. Ulempen er
selvfølgelig hvis der bliver rettet oplysninger for brugerne i dén
tabel i MySQL, så vil de ændringer gå tabt næste gang scriptet køres.

>Det er således punkt 3 - 5 jeg har alvorglige problemer med - og håber
>på al den hjælp jeg kan få hér i gruppen. Det er jo snart jul -:)

Jeg håber det har været behjælpligt, ellers må du spørge igen.

--
Med venlig hilsen,
Martin Mouritzen.
http://www.siteloom.dk

Torben Borre Larsen (07-12-2006)
Kommentar
Fra : Torben Borre Larsen


Dato : 07-12-06 15:43

Tak Martin for interessen for at hjælpe mig - og eksempel koden til at
skrive til databasen. Jeg prøver at gennemskue koden og se, om jeg kan få
det til at spille, som jeg har tænkt det :)
--
Venlig hilsen
Torben Borre Larsen
[torben@dui.dk] [www.dui.dk]


Søg
Reklame
Statistik
Spørgsmål : 177501
Tips : 31968
Nyheder : 719565
Indlæg : 6408522
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste