автозаполнение для огромного файла CSV - PullRequest
0 голосов
/ 02 октября 2018

Я новичок в программировании, поэтому то, что я пытаюсь сделать, очень сложно.Я видел ответы, которые тесно связаны с тем, что я хочу, но ничего точно.Во-первых, у меня есть огромный файл .csv с более чем 500 000 записей, которые я хочу найти в файле .csv с помощью автозаполнения одним из двух способов: address или strap # Моя первая проблема, я не могу загрузить свой файл .csv в свой wordpressполучать ошибки.но вот код, который я придумала до сих пор:

    <form id="addresslookup" action="" method="post">
Street Address: <input id="address" class="input" name="address" type="text" 
/>
City, State, Zip: <input id="zip" class="input" name="zip" type="text" />
Strap: <input id="Strap" class="input" name="Strap" type="text" />
<input id="user-submit-button" class="btn" type="submit" value="Submit" />
</form>
<?php

/**
* @param string $filename
* @param string $delimiter
*
* @return array|bool
*/
function csv_to_array($filename = '', $delimiter = ',') {
if (!file_exists($filename) || !is_readable($filename))
    return false;

$header = null;
$data = array();
if (($handle = fopen($filename, 'r')) !== false) {
    while (($row = fgetcsv($handle, 1000, $delimiter)) !== false) {
        if (!$header)
            $header = $row;
        else {
            for ($i = 0; $i < sizeof($header); $i++) {
                $title = $header[$i];
                if (!array_key_exists($title, $data)) $data[$title] = '';
                if (!is_array($data[$title])) $data[$title] = array();
                array_push($data[$title], floatval($row[$i]));
            }
        }
    }
    fclose($handle);
}
return $data;
}

/**
* Example
*/
$data = csv_to_array('leecountyrecords.csv', ',');
print_r($data[Strap]);
echo json_encode($data);
?>

<script>
var data = <?php echo json_encode($data) ?>;
var autocomp = new Array();
var hash = new Array();
for (var i=0; i < data.length; i++)
{
autocomp[i] = data[i].address + ' ' + data[i].Strap;
hash[autocomp[i]] = data[i];
}

$(function() {
$( "#address" ).autocomplete({
    source:autocomp,
    select: function( event, ui ) {
        var d = hash[ui.item.label];
        $( "#address" ).val( d.address + " / " + d.Strap );
        return false;
    }
}).data( "ui-autocomplete" )._renderItem = function( ul, item ) {
    var d = hash[item.label];
     return $( "<li>" )
    .data( "item.autocomplete", d )
    .append( "<a><strong>" + d.address + "</strong> / " + d.Strap + "</a>" )
    .appendTo( ul );
};
});

Пожалуйста, помогите!Кроме того, после выбора автозаполнения мне нужно будет взять данные из строки .csv, в которой они находятся, и отобразить их на моей странице

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...