Splitte semikolon går galt.
Hejsa.Jeg har en streng som ser sådan her ud:
"49890;Marc Dalgaard;marcdalgaard@hotmail.com;Ja;1986;Mand;7430;Ja;Ja;Ja;Ja;Ja;1200062011;87.116.62.62;0;;de465e75;97153355;Haslevej 4;Ikast;0;0;
49891;kurt larsen;kkkk@kkk.com;Ja;1981;Mand;2620;Ja;Ja;Ja;Ja;Ja;1200062016;91.100.26.31;0;;12c4fcc7;35555555;tuborgvej 4;Albertslund;0;0;"
Der er 21 semikolonner indtil næste række.
Jeg har så prøvet at lave et script som kører det igennem, sådan jeg i alt for 2 mysql_queries, som gerne skulle være noget ala..
INSERT INTO tabel (brugerid, navn) VALUES (49890, 'Marc Dalgaard')
INSERT INTO tabel (brugerid, navn) VALUES (49891, 'kurt larsen')
Men hvordan får jeg mit script til det? Altså jeg vil splitte det op ved semikolonner, også ved hver 21. række skal den vide det er en ny person, og hente de informationer.
Se på dette script jeg har forsøgt mig frem til.. dog UDEN HELD..
<?php
/**
@params
@ID, Navn, Email, Aktiv, Fødselsår, Køn, Postnummer
@Mandag, Tirsdag, Onsdag, Torsdag, Fredag
@Dato tilmeldt, Ip, Dato slettet, ip slettet, password, telefon
@adresse, by, fødselsdag, fødselsdag måned, mobil
**/
$String = '49890;Marc Dalgaard;marcdalgaard@hotmail.com;Ja;1986;Mand;7430;Ja;Ja;Ja;Ja;Ja;1200062011;87.116.62.62;0;;de465e75;97153355;Haslevej 4;Ikast;0;0;
49891;kurt larsen;kkkk@kkk.com;Ja;1981;Mand;2620;Ja;Ja;Ja;Ja;Ja;1200062016;91.100.26.31;0;;12c4fcc7;35555555;tuborgvej 4;Albertslund;0;0;
49892;Dan Raeder;dan.raeder@schenker.com;Nej;1977;Mand;6400;Ja;Ja;Ja;Ja;Ja;1200062022;217.150.175.1;1200467304;217.150.175.1;d36c97f3;41185753;Kongshøj 18;Sønderborg;0;0;
';
$SplitIt = split(";", (string) $String);
$i = 0;
$start = 0;
for ( $a = 0; $a < count($SplitIt); $a++)
{
if ( $start % 21 == 0 && !empty ( $SQL ) ) {
echo $SQL . "<br />";
$start = 0;
}
$SQL = "INSERT INTO medlemmer (brugerid, navn, mail, aktiv, faar, koen, postnr, man, tir, ons, tor, fre, oprettet, ip, dato_slettet, ip_slettet, kodeord, tlf, adresse, by, fdag, fmdr, mobil)";
$SQL.= "VALUES (" . $SplitIt[0] . ",)";
$start = $start + 1;
}
?>
-- 100 points på spil!
