Hallo,

Ik ben zeker geen ervaren PHP scripter maar maak graag gebruik van reeds bestaande scripts.

Ik zocht een script om een csv bestand weer te geven op een website met de mogelijkheid daarin te zoeken en te filteren.
Ik heb deze hier gevonde en voldoed 100% aan mijn verwachtingen:

Echter loop ik tegen 2 problemen aan bij het gebruik van mijn eigen csv:

- Mijn csv bestand heeft speciale caracters in de data, door deze caracters kan het script niet overweg met mijn csv bestand. Het is echter niet mogelijk de data aan te passen dus ik zoek een manier of aanpassing in het script zodat hij deze caracaters wel accepteerd. Het gaat op caracters als: ëâéü etc.
Kan iemand helpen om het script aan te passen zodat deze caracters geen probleem meer vormen?

- Als je in excell een bestand opslaat als csv (komma gescheiden), dan bevat de output geen "," maar een ";" als scheidingsteken.
Is het script aan te passen zodat deze ";" (of zowel "," als ";") als scheidingsteken accepteerd?

Hulp wordt zeer gewaardeerd.

Als iemand wil testen kan ik diegene wel een csv mailen om mee te testen, laat het dan even weten.
Mijn dank is groot.
Maak er dan eens van:

<?php

$content = htmlentities(csvtoservice('http://cockheyt.tk/database/csv/1112.csv'));

?>
Frank Nietbelangrijk op 18/01/2014 12:29:42

Maak er dan eens van:

<?php

$content = htmlentities(csvtoservice('http://cockheyt.tk/database/csv/1112.csv'));

?>


Als ik dat aanpas dan ben ik de helft kwijt in de html layout.

Ik heb ook de error functie even aangezet, dan zie je onderaan de pagina wat er precies vanuit het script wordt teruggestuurd....

[size=xsmall]Toevoeging op 18/01/2014 12:45:17:[/size]

Heeft het wellicht iets te maken met regel 57:

[code]
foreach($columns as $c){
filter_input(INPUT_GET, $c, FILTER_SANITIZE_SPECIAL_CHARS);
$fromget[$c] = $_GET[$c];
}
[\code]
probeer het eens zonder die filter:

<?php
foreach($columns as $c){
filter_input(INPUT_GET, $c);
$fromget[$c] = $_GET[$c];
}

?>
nope, maakt geen verschil....maar is dat niet de filter voor data die je invoert in de zoekfunctie?
Nope ik zit verkeerd. Jouw csvtoservice functie maakt HTML aan en dus kun je htmlentities() niet over de complete output halen.

htmlentities() zal dus weer weggehaald moeten worden op de aangegeven regel.

probeer dan nog even mijn laatste post
Als het niet lukt PM me dan even een .csv demo bestandje
die kun je zo downloaden: http://cockheyt.tk/database/csv/1112.csv

en de style.css:


/* build in firebug, don't judge me */
html,body{background:#999;color:#000;}
#doc{background:#fff;border:1em solid #fff;-moz-border-radius:5px;}
p{margin:1em 0} 
form div{float:left;width:250px;padding-bottom:10px;}
form label{float:left;width:80px;font-weight:bold;}
form div#bar{clear:both;float:none;margin:1em 0;background:#69c;width:auto;padding:5px;text-align:right;}
table{width:100%;margin:1em 0;border:1px solid #000;border-collapse:collapse;}
th,td{border:1px solid #000;padding:5px;}
thead th{background:#369;font-weight:bold;color:#fff;}
#yql{padding:1em;background:#eee;border:1px solid #999;-moz-border-radius:5px;}
h1{font-size:140%;font-weight:bold;color:#036;margin:.5em 0;}
h2{font-size:130%;font-weight:bold;color:#000;margin:.5em 0;}
h3{font-size:120%;font-weight:bold;color:#369;margin:.5em 0;border-bottom:2px solid #999}
a{color:#333;}
#ft{font-size:80%;text-align:right;margin:2em 0;}
pre{border:1px solid #999;padding:.5em;margin:1em 0;border:1px solid #999;background:#eee;-moz-box-shadow:2px 2px 2px rgba(33,33,33,.3);-moz-border-radius:5px;}
#example{padding:.5em;margin:1em 0;border-top:2px solid #666;border-bottom:2px solid #666;}
#bd ul{margin-left:1em;}
#bd li{list-style:square;padding-bottom:.5em;}
#bd li code{font-weight:bold;color:#060;}
em{font-style:italic;color:#666}
#hd li{display:inline;list-style:none;padding-right:1em;}
#hd a{font-size:100%;font-weight:bold;text-decoration:none;}
#hd ul{background:#9fc;padding:.5em;-moz-border-radius:5px;-moz-box-shadow:2px 2px 3px rgba(0,0,0,.3);}


[size=xsmall]Toevoeging op 18/01/2014 16:13:30:[/size]

Frank heeft het opgegeven??

Iemand anders wellicht een idee???

Reageren