|
Lee Griffiths - 2013-05-14 19:52:32
Hi,
Thanks for building this straightforward and useful CSV handler.
I found a small bug. When I have spaces in column heading names like
'Contact email'
the commit button would not save changes for those columns. My columns names were delimited, but I guess this is an issue with extracting the column names
Changing the column names to something like
'Contact_email'
fixed this
Lee
Heart - 2013-12-17 13:22:03 - In reply to message 1 from Lee Griffiths
This is because PHP converts the following characters in $_POST to an underscore (_)
chr(32) ( ) (space)
chr(46) (.) (dot)
chr(91) ([) (open square bracket)
chr(128) - chr(159) (various)
A fast workaround for this I added
$val = str_replace(" ","_", $val);
after
while(list($key,$val)=each($this->HeaderData)) {
(in Update function)
Heart - 2013-12-17 13:39:01 - In reply to message 2 from Heart
Sent too fast...
Here is the my used update function
// Administration Area
function Update($key,$data) { //Updating Item "key" with "data" named array
$this->ReadCSV();
$headerdata_my = str_replace(" ","_", $this->HeaderData);
for($i=0;$i<count($this->ItemsList);$i++) {
if($this->ItemsList[$i][$this->DataKey]==$key){
while(list($key,$val)=each($headerdata_my)) {
$val_my = str_replace("_"," ", $val);
if(isset($data[$val])) $this->ItemsList[$i][$val_my]=$data[$val];
}
}
}
$this->WriteData();
return($this->ItemsList);
}
|