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