Обработка select без перезагрузки?

143
21 ноября 2019, 06:40

Помогите разобраться, у меня код (сам собрал) берет данные из таблицы excel. Все работает.

Вопрос: 1) Без перезагрузки страницы; 2) Отправка данных на e-mail.

Слабоват в php, js - помогите пожалуйста, какой день не получается. Комментарии в коде для себя прописал.

<html>
<head>
  <title></title>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"></script>
<!--выбор select динамически-->
<script type="text/javascript">
   function submitSelectedVals(){
      if(jQuery('#selrow').val() > 0 && jQuery('#selcol').val() > 0){
         jQuery('#selrow').closest('form').trigger('submit');
      }
   }
</script>
</head>
<body>
<?php
require_once 'Classes/PHPExcel.php';
require_once 'Classes/PHPExcel/Worksheet.php';
$excel = PHPExcel_IOFactory::load('costing-example.xls');
foreach($excel ->getWorksheetIterator() as $worksheet) {
 $lists[] = $worksheet->toArray();
}
foreach($lists as $list){
 echo '<table border="1">';
 // Перебор строк
     foreach($list as $row){
       echo '<tr>';
       // Перебор столбцов
       foreach($row as $col){
         echo '<td>'.$col.'</td>';
     }
     echo '</tr>';
     }
 echo '</table>';
}
//---------------------------------------
require_once ('Classes/PHPExcel/IOFactory.php');
// Открываем файл
//$excel = PHPExcel_IOFactory::load('costing-example.xls');
// Устанавливаем индекс активного листа
$excel->setActiveSheetIndex(0);
// Получаем активный лист
$sheet = $excel->getActiveSheet();
//перебор первой строки
$cols = array();
$row = 1;
//$lastColumn = $worksheet->getHighestColumn();
$lastColumn = $sheet->getHighestColumn();
$lastColumn++;
for ($column = 'A'; $column != $lastColumn; $column++) {
//    $val = $worksheet->getCell($column.$row)->getValue();
    $val = $sheet->getCell($column.$row)->getValue();
    $cols[$val] = $column;
}
//перебор первой колонки
$rows = array();
$column = 'A';
//$lastRow = $worksheet->getHighestRow();
$lastRow = $sheet->getHighestRow();
for ($row = 1; $row <= $lastRow; $row++) {
//    $val = $worksheet->getCell($column.$row)->getValue();
    $val = $sheet->getCell($column.$row)->getValue();
    $rows[$val] = $row;
}
  //$y = isset($_GET['col']) ? (int) $_GET['col'] : 1;
$y = isset($_POST['col']) ? (int) $_POST['col'] : array_keys($cols)[1];
  //$x = isset($_GET['row']) ? (int) $_GET['row'] : 1;
$x = isset($_POST['row']) ? (int) $_POST['row'] : array_keys($rows)[1];
echo $y;
echo $x;
$value1 = $sheet->getCell($cols[$y] . $rows[$x])->getValue();
$formatted_number = number_format($value1, 0,',',' ');
?>
<div class="col-sm-12 calculator">
    <div class="col-sm-3 calc-form">
<form id="gate-size" action="" method="post">
        Высота:
        <select id="selrow" name="row" onchange="submitSelectedVals();">
            <? foreach($rows as $key => $row): ?>
            <option value="<?= $key; ?>"><?= $key; ?></option>
            <? endforeach; ?>
        </select>
        Ширина:
        <select id="selcol" name="col" onchange="submitSelectedVals();">
            <? foreach($cols as $key => $col): ?>
            <option value="<?= $key; ?>"><?= $key; ?></option>
            <? endforeach; ?>
        </select>
</form>
<p class="calc-button">
<a class="red jcepopup" href="index.php?option=com_rsform&amp;view=rsform&amp;formId=11" rel="nofollow" data-mediabox-width="300" data-mediabox-height="400"><span class="btn btn-primary">Оформить заказ</span></a>
</p>
    </div>
    <div class="col-sm-4 calc-basic" id="calc-basic" >
        <p>Высота: <span class="calc-нeight"><?php echo $x ?></span> мм</p>
        <p>Ширина: <span class="calc-width"><?php echo $y ?></span> мм</p>
        <p>Сумма: <span class="calc-summa"style="font-size: 18px;"><?php echo $formatted_number ?></span> рублей</p>
    </div>
    <div class="col-sm-4 calc-additionally" id="calc-additionally" >
    <div>Дополнительно:</div>
<form id="calc-additionally" method="post" >
    <div class="calc-addit-install">
    <div class="calc-addit-with"><input name="install" type="radio" value="with-install" checked> С установкой</div>
    <div class="calc-addit-without"><input name="install" type="radio" value="without-install"> Без установки</div>
    </div>
</form>
</div>
</body>
</html>
READ ALSO
Не срабатывает запрос в mysql

Не срабатывает запрос в mysql

помогите, пожалуйста, найти ошибку, данный код для формы связи на сайтеРаботало, но потом перестало (возвращает мой же "error"), и не могу понять...

108
Помощь в подмене символа на слово

Помощь в подмене символа на слово

Я недавно начал разбиратся в php, после того как разобрался в html и css, и сразу встал в ступор

104
Не работает логическое условие

Не работает логическое условие

Прописал условие:

162
Добавление данных в таблицу SQL через PHP

Добавление данных в таблицу SQL через PHP

При выполнении скрипта получаю ошибку, думаю что ошибка в этой строке кодаДанные скрипт получает с отсылаемой формы и выдает ошибку, скорее...

138