0
我對腳本和Web開發不熟悉。我正在以分頁格式顯示一個CSV文件。顯示CSV文件的代碼如下所示。將值從javascript傳遞到PHP
<?php
$names = file('demo.csv');
$page = $_GET['page'];
//constructor takes three parameters
//1. array to be paged
//2. number of results per page (optional parameter. Default is 10)
//3. the current page (optional parameter. Default is 1)
$pagedResults = new Paginated($names, 20, $page);
$handle = fopen('demo.csv', 'r');
if (($data = fgetcsv($handle, 1000, ',')) !== FALSE)
{
}
echo "<table border='3' bgcolor='#dceba9' style='float:center; margin:50'>";
echo '<tr><th>'.implode('</th><th>', $data).'</th></tr>';
//when $row is false loop terminates
while ($row = $pagedResults->fetchPagedRow())
{
echo "<tr><td>";
//echo '<tr><th>'.implode('</th><th>', $data).'</th></tr>';
$row1 = str_replace(',', "</td><td>", $row);
echo $row1;
echo "</td></tr>";
}
fclose($handle);
echo "</table>";
//important to set the strategy to be used before a call to fetchPagedNavigation
$pagedResults->setLayout(new DoubleBarLayout());
echo $pagedResults->fetchPagedNavigation();
//$data1 = [];
$total_columns = 0;
$handle1 = fopen('demo.csv', 'r');
while (false !== ($row = fgetcsv($handle1, 1000, ','))) {
0 === $total_columns and $total_columns = count($row);
$i = 1;
while (++$i <= $total_columns) {
$data1[$i][] = (int) $row[$i - 1];
}
}
$i = 0;
while (++$i <= $total_columns) {
$_SESSION["min-column-$i"] = min($data1[$i]);
$_SESSION["max-column-$i"] = max($data1[$i]);
}
$_SESSION['totalcolumns'] = $total_columns;
fclose($handle1);
?>
現在,根據CSV文件的列數,我需要這些許多滑塊。對於滑塊,最小值和最大值基於列的最小值和最大值。代碼如下。
<?php include 'index.php'; ?>
<?php
$totalcolumns = $_SESSION["totalcolumns"];
?>
<!-- Activate Simple Slider on your input -->
<h2>Keyword Scores</h2>
<?php
$i = 1;
while (++$i <= $_SESSION['totalcolumns']) {
$range = $_SESSION["min-column-$i"] . ',' . $_SESSION["max-column-$i"];?>
<br><?php echo "Keyword" ?>
<?php echo $i -1 ?>
<br><input type="text" data-slider="true" data-slider-range="<?php echo $range ?>" data-slider-step="1">
<?php } ?>
<form action = "update.php" method="post"><input type="submit" name="submit"value="SUBMIT"></form>
<script>
$("[data-slider]")
.each(function() {
var range;
var input = $(this);
$("<span>").addClass("output")
.insertAfter(input);
range = input.data("slider-range").split(",");
$("<span>").addClass("range")
.html(range[0])
.insertBefore(input);
$("<span>").addClass("range")
.html(range[1])
.insertAfter(input);
})
.bind("slider:ready slider:changed", function (event, data) {
$(this).nextAll(".output:first")
.html(data.value.toFixed(2));
});
</script>
現在,當我選擇在滑塊的值,並單擊「提交」按鈕,我應該得到相應的更新CSV的顯示。 (即)只應顯示滿足滑塊的行。我不確定如何做這部分,因爲我試圖包含一個PHP文件。但我無法將值傳遞給PHP文件。有人可以幫我在這一部分?
中獲得結果。您是否聽說過關於Ajax的一些信息? –
我不知道它。是否有可能使用Ajax發送整個值的數組?例如,如果我有5個滑塊,我可以使用ajax發送所有5個值嗎? –
是的你可以:)! –