Scoutnet vzw

We connect scouts!
Het is momenteel 27 Apr 2024 7:00

Alle tijden zijn UTC + 1 uur




Plaats een nieuw onderwerp Reageren op dit onderwerp  [ 44 berichten ]  Ga naar pagina Vorige  1, 2, 3
Auteur Bericht
 Titel:
BerichtGeplaatst: 26 Jun 2007 12:14 
Offline
Site Admin
Site Admin
Gebruikers-avatar

Geregistreerd: 17 Jul 2002 23:00
Berichten: 1522
Woonplaats: Wetteren
DeGevederde schreef:
maar het lukt met niet om een csv bestand in te laden ik krijg een fout:
Code:
foutje: Column count doesn't match value count at row 1


en ik heb een flauw vermoeden dat het hiermee heeft te maken:
deze sql instructie maakt hij op en das denk ik niet goed..

VALUES (1, 'Janssens JAN G 2,00E+012 Janssensstraat 1\n1000 Brussel 1989-01-01 M 016 01 23 45)

dus hoogstwaarschijnlijk zit er een fout in het csv bestand..

Klopt; het is een CSV-bestand dat je met Excel gemaakt hebt hé? (of ermee geopend en weer opgeslagen) Hij heeft daardoor het formaat van het lidnummer aangepast. Ook de accenten en komma's moeten overeenkomen met het gegeven voorbeeld:
Code:
naam;Voornaam;Functies;Lidnummer;Adres;Geboortedatum;Geslacht;Telefoon;Gsm;
"Janssens";"Jan";"G";"1989010101111";"Janssensstraat 1 , 1000 Brussel";"01/01/1989";"M";"016/01.23.45";"";


DeGevederde schreef:
kan je via de online ledenadministratie van het verbond effectief kiezen welke zaken je in je csv bestand wil hebben?

Jips, dat kan. Het komt er op neer dat je eerst in de webversie moet kiezen welke kolommen je wil (én in welke volgorde deze moeten staan!) via "Filter Instellen" > "Kolommen", en daarna kiest voor "Afdrukken/downloaden..." > "Naar Excel (csv bestand)".

To


Omhoog
 Profiel  
 
 Titel:
BerichtGeplaatst: 26 Jun 2007 12:27 
Offline
 
 
Gebruikers-avatar

Geregistreerd: 15 Mei 2006 9:46
Berichten: 64
Woonplaats: Humbeek
To schreef:
Klopt; het is een CSV-bestand dat je met Excel gemaakt hebt hé? (of ermee geopend en weer opgeslagen) Hij heeft daardoor het formaat van het lidnummer aangepast. Ook de accenten en komma's moeten overeenkomen met het gegeven voorbeeld:
Code:
naam;Voornaam;Functies;Lidnummer;Adres;Geboortedatum;Geslacht;Telefoon;Gsm;
"Janssens";"Jan";"G";"1989010101111";"Janssensstraat 1 , 1000 Brussel";"01/01/1989";"M";"016/01.23.45";"";


ik beken :) ledenadministratie wordt door iemand anders verzorgt, vandaar de misvattingen.. hoop dat het dan wel werken zal.

alvast bedankt,

Jan

_________________
Longboarding to Heaven °~


Omhoog
 Profiel  
 
 Titel:
BerichtGeplaatst: 26 Jun 2007 16:19 
Offline
 
 
Gebruikers-avatar

Geregistreerd: 15 Mei 2006 9:46
Berichten: 64
Woonplaats: Humbeek
To, ik had nog heel graag een bijkomend veld email toegevoegd in het csv bestand en zo ook in het import script, nu denk ik dat dat in onderstaand stuk code moet aangepast worden, maar om eerlijk te zijn gaat dat mooi m'n petje te boven..

Code:
  if(move_uploaded_file($bestand, $local_file)) {
    $fcontents = file($local_file);
    for($i=1; $i<sizeof($fcontents); $i++) {
      $line = trim($fcontents[$i]);
      $arr = explode(";", $line);   
      $aantal = count($arr);
      $sql = "INSERT INTO $tabel VALUES ('" . $i . "','".implode("','", $arr);
      $sql .= "')";
      $sql = ereg_replace("\"","",$sql);
      echo ("\n $sql");
      mysql_query($sql)or die("\nfoutje: " . mysql_error());
    }


het sql script lukt me wel denk ik:
Code:
$email = $list->email;
$ed = "UPDATE $tabel SET email='$email' WHERE achternaam='$achternaam' AND voornaam='$voornaam' AND functie='$functie'";
$querie = mysql_query($ed)or die(mysql_error());


wat moet ik in bovenste stuk code veranderen om die bijgevoegde colom e-mail ook toe te voegen?

_________________
Longboarding to Heaven °~


Omhoog
 Profiel  
 
 Titel:
BerichtGeplaatst: 26 Jun 2007 16:47 
Offline
Site Admin
Site Admin
Gebruikers-avatar

Geregistreerd: 17 Jul 2002 23:00
Berichten: 1522
Woonplaats: Wetteren
DeGevederde schreef:
ik beken :) ledenadministratie wordt door iemand anders verzorgt, vandaar de misvattingen.. hoop dat het dan wel werken zal.

Om het nu al uit te testen, kan je mijn voorbeeld CSV van hierboven kopiëren, plakken in Notepad en dan opslaan als "test.csv". Excel niet nodig gehad, geen problemen gezien :wink:.

DeGevederde schreef:
wat moet ik in bovenste stuk code veranderen om die bijgevoegde colom e-mail ook toe te voegen?

In de bovenstaande code niks, wel ervoor. Je moet er voor zorgen dat het veld "email" bestaat. Dus
Code:
CREATE TABLE `ledenlijst` (
  `ledenlijst_id` int(11) NOT NULL auto_increment,
  `achternaam` varchar(40) NOT NULL default '',
  `voornaam` varchar(40) NOT NULL default '',
  `functie` varchar(5) NOT NULL default '',
  `lidnummer` varchar(13) NOT NULL default '',
  `adres` varchar(80) NOT NULL default '',
  `geboortedatum` varchar(10) NOT NULL default '',
  `verjaardag` varchar(4) NOT NULL default '',
  `mv` char(1) NOT NULL default '',
  `telefoon` varchar(15) NOT NULL default '',
  `telefoon2` varchar(15) NOT NULL default '',
  PRIMARY KEY  (`ledenlijst_id`)
) ENGINE=MyISAM  DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;

wordt
Code:
CREATE TABLE `ledenlijst` (
  `ledenlijst_id` int(11) NOT NULL auto_increment,
  `achternaam` varchar(40) NOT NULL default '',
  `voornaam` varchar(40) NOT NULL default '',
  `functie` varchar(5) NOT NULL default '',
  `lidnummer` varchar(13) NOT NULL default '',
  `adres` varchar(80) NOT NULL default '',
  `geboortedatum` varchar(10) NOT NULL default '',
  `verjaardag` varchar(4) NOT NULL default '',
  `mv` char(1) NOT NULL default '',
  `telefoon` varchar(15) NOT NULL default '',
  `telefoon2` varchar(15) NOT NULL default '',
  `email` varchar(80) NOT NULL default '',
  PRIMARY KEY  (`ledenlijst_id`)
) ENGINE=MyISAM  DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;

En je CSV moet er dan zo uitzien:
Code:
naam;Voornaam;Functies;Lidnummer;Adres;Geboortedatum;Geslacht;Telefoon;Gsm;Email;
"Janssens";"Jan";"G";"1989010101111";"Janssensstraat 1 , 1000 Brussel";"01/01/1989";"M";"016/01.23.45";"";"jan.janssens@gmail.com";


To


Omhoog
 Profiel  
 
 Titel:
BerichtGeplaatst: 26 Jun 2007 18:47 
Offline
 
 
Gebruikers-avatar

Geregistreerd: 15 Mei 2006 9:46
Berichten: 64
Woonplaats: Humbeek
eindelijk gelukt, blijkbaar werd er op het einde een ; vergeten. Heb deze er dan maar overal manueel aan toegevoegd (we zijn maar met z'n 134en dus was een kleine moeite.)

kan dit op de een of andere manier worden opgelost?

_________________
Longboarding to Heaven °~


Omhoog
 Profiel  
 
 Titel:
BerichtGeplaatst: 26 Jun 2007 21:38 
Offline
Site Admin
Site Admin
Gebruikers-avatar

Geregistreerd: 17 Jul 2002 23:00
Berichten: 1522
Woonplaats: Wetteren
DeGevederde schreef:
kan dit op de een of andere manier worden opgelost?

Alles kan. Geef 's twee (eventueel) fictieve regels van je CSV-bestand; dan zie ik beter wat je bedoeld. Of probeer eens de regel
Code:
$line = trim($fcontents[$i]);

te vervangen door
Code:
$line = trim($fcontents[$i]);
$line = $line . ";";

Helpt dat?

To


Omhoog
 Profiel  
 
 Titel:
BerichtGeplaatst: 27 Jun 2007 8:27 
Offline
 
 
Gebruikers-avatar

Geregistreerd: 31 Jul 2002 23:00
Berichten: 236
Code:
kan dit op de een of andere manier worden opgelost?

In mijn Editor (UltraEdit) met Replace:
Code:
Find '^p' replace with ';^p' Replace All

Met zowat elke editor moet zoiets mogelijk zijn.


Omhoog
 Profiel  
 
 Titel:
BerichtGeplaatst: 28 Nov 2007 19:25 
Offline
 
 
Gebruikers-avatar

Geregistreerd: 15 Mei 2006 9:46
Berichten: 64
Woonplaats: Humbeek
To, in onderstaand stukje code wordt er vanalles gedaan met het adres dat uit het excell file komt vooraleer het in de database wordt opgeslagen, ik zit hier echter met wat vragen:

Code:
 $adres = $list->adres;
    $adres = ereg_replace("\-","\- ",$adres);
    $adres = ucwords(strtolower($adres));
    $adres = ereg_replace("\- ","-",$adres);
    $adres = ereg_replace(" , ","\n",$adres);
    $ed = "UPDATE $tabel SET adres='$adres' WHERE ledenlijst_id='$ledenlijst_id'";
    $querie = mysql_query($ed)or die(mysql_error());


Wanneer het adres bestaat uit een straat nr en postbus dan wordt het adres niet gesplitst in straat met daaronder de gemeente
bv huttekenstraat 34 A 1800 Vilvoorde (fictief adres) zou hij zo in de database moeten opslaan
huttekenstraat 34 A
1800 Vilvoorde

Nu ben ik bezig met de gegevens uit de database dynamisch in een pdf document te plaatsen maar wanneer ik het veld adres ophaal plakt hij alles aan elkaar:
bosuil 341800 vilvoorde

bij de adressen uit voorgaand voorbeeld is er geen probleem aangezien daar de spatie nog gebruikt wordt tussen postbus en postcode. Nu is mijn vraag wat het teken is dat gebruikt wordt om naar een andere lijn te gaan in de database zodat ik daarop kan filteren.

alvast bedankt

_________________
Longboarding to Heaven °~


Omhoog
 Profiel  
 
 Titel:
BerichtGeplaatst: 29 Nov 2007 19:11 
Offline
Site Admin
Site Admin
Gebruikers-avatar

Geregistreerd: 17 Jul 2002 23:00
Berichten: 1522
Woonplaats: Wetteren
DeGevederde schreef:
TWanneer het adres bestaat uit een straat nr en postbus dan wordt het adres niet gesplitst in straat met daaronder de gemeente
bv huttekenstraat 34 A 1800 Vilvoorde (fictief adres) zou hij zo in de database moeten opslaan
huttekenstraat 34 A
1800 Vilvoorde

Als hij dat niet doet, is het dan omdat er bij jou in je CSV geen komma staat tussen "straat+nr(+bus)" en "postcode+gemeente"?

DeGevederde schreef:
Nu is mijn vraag wat het teken is dat gebruikt wordt om naar een andere lijn te gaan in de database zodat ik daarop kan filteren.

Je bedoelt wat de "newline"-code voor MySQL? Da's
Code:
\n


In mijn voorbeeld zorgt
Code:
$adres = ereg_replace(" , ","\n",$adres);

hiervoor: de "spatie+komma+spatie" wordt vervangen door "\n" ofte een newline. Dus voor

Code:
$adres = "Janssensstraat 1 , 1000 Brussel";

wordt dit na het uitvoeren van bovenstaande PHP-regel
Code:
$adres = "Janssensstraat 1\n1000 Brussel";


In je tabel zal dan "1000 Brussel" op een nieuwe regel beginnen.
Let op: als je dit op het scherm ook effectief op 2 regels wil tonen, dan moet je nog iets doen als
Code:
$adres = ereg_replace("\n","\n<br>",$adres);


Beetje duidelijk?

To


Omhoog
 Profiel  
 
BerichtGeplaatst: 09 Nov 2008 15:17 
Offline
 
 
Gebruikers-avatar

Geregistreerd: 04 Jul 2002 23:00
Berichten: 501
Woonplaats: Reet
Hoe vangen jullie dan op als iemand meerdere functies uitoefend? bv welpenleider en groepsleider?


Omhoog
 Profiel  
 
BerichtGeplaatst: 13 Nov 2008 15:43 
Offline
 
 
Gebruikers-avatar

Geregistreerd: 31 Jul 2002 23:00
Berichten: 236
Citaat:
Hoe vangen jullie dan op als iemand meerdere functies uitoefend? bv welpenleider en groepsleider?

Dan heb je een tweede tabel ledenfuncties nodig met lid_id en functiecode (en eventueel groep, begindatum, einddatum, prioriteit, ...)


Omhoog
 Profiel  
 
BerichtGeplaatst: 13 Nov 2008 19:47 
Offline
 
 
Gebruikers-avatar

Geregistreerd: 04 Jul 2002 23:00
Berichten: 501
Woonplaats: Reet
ja ok, maar hoe krijg je dat uit die exports? je krijgt één excel file, maar je wil dit wel naar een relationele database omvormen... en elk jaar kunnen updaten met de nieuwe leidingsindeling.


Omhoog
 Profiel  
 
BerichtGeplaatst: 14 Nov 2008 11:28 
Offline
 
 
Gebruikers-avatar

Geregistreerd: 31 Jul 2002 23:00
Berichten: 236
Citaat:
je krijgt één excel file, maar je wil dit wel naar een relationele database omvormen

relationele databank naar Excel, csv, xml = goed
Excel, csv, xml naar relationele databank = (soms manueel) knoeiwerk.

Hopelijk hebben de personen met meerdere functies, meerdere rijen in je Excel-bestand.

De ledenlijst-tabel vul je dan op door een group by op alle velden behalve functiecode.
De ledenfunctie-tabel is een select van lid-id en functiecode.

Updaten zal niet altijd 100% werken vermits je
- niet dezelfde primary-key gebruikt,( je kan lidnummer, geboortedatum, .. als alternatief gebruiken maar dit kan wel eens veranderen)
- geen datum wijziging bijhoudt: je weet dus niet welke data de meest recentste is.


Omhoog
 Profiel  
 
BerichtGeplaatst: 16 Nov 2008 13:27 
Offline
 
 
Gebruikers-avatar

Geregistreerd: 04 Jul 2002 23:00
Berichten: 501
Woonplaats: Reet
caygull schreef:
Citaat:
je krijgt één excel file, maar je wil dit wel naar een relationele database omvormen

relationele databank naar Excel, csv, xml = goed
Excel, csv, xml naar relationele databank = (soms manueel) knoeiwerk.

Hopelijk hebben de personen met meerdere functies, meerdere rijen in je Excel-bestand.

Een voorbeeld file die ik nu heb, is er slecht één record per persoon, functies, staan dan gescheiden door een comma.
Ik heb al wel ooit iets anders gezien, nu weet ik niet of het ledenprogramma aangepast is, of je dit kan instellen.

Citaat:
De ledenlijst-tabel vul je dan op door een group by op alle velden behalve functiecode.
De ledenfunctie-tabel is een select van lid-id en functiecode.

Updaten zal niet altijd 100% werken vermits je
- niet dezelfde primary-key gebruikt,( je kan lidnummer, geboortedatum, .. als alternatief gebruiken maar dit kan wel eens veranderen)
- geen datum wijziging bijhoudt: je weet dus niet welke data de meest recentste is.

Is lidnummer geen uniek nummer dat gedurende je hele loopbaan hetzelfde blijft?

Het feit dat de gegevens van Scouts en Gidsen Vlaanderen niet altijd up to date zijn, kan ook wel eens een probleem zijn. Ik zal waarschijnlijk ook een aantal functies willen toevoegen die niet bij sgv gebruikt worden zoals webmasters etc (ev personen die geen lid meer zijn zoals ikzelf :)).

Ik probeer nu een deftige opstelling te maken voor het ganse district, dus moet redelijk onderhoudbaar blijven.


Omhoog
 Profiel  
 
Berichten weergeven van de afgelopen:  Sorteer op  
Plaats een nieuw onderwerp Reageren op dit onderwerp  [ 44 berichten ]  Ga naar pagina Vorige  1, 2, 3

Alle tijden zijn UTC + 1 uur


Wie is er online?

Gebruikers in dit forum: Geen geregistreerde gebruikers en 33 gasten


U mag geen nieuwe onderwerpen plaatsen in dit forum
U mag geen reacties plaatsen op onderwerpen in dit forum
U mag uw berichten niet wijzigen in dit forum
U mag uw berichten niet verwijderen in dit forum
U mag geen bijlagen plaatsen in dit forum

Zoeken naar:
Ga naar:  
Powered by phpBB® Forum Software © phpBB Group
Vertaald door phpBBservice.nl.