• Стоит ли серьезно изучать VBA?

    @rebootbutton
    1.К сожалению, нет. Это для меня непонятно почему его перестали поддерживать, развивать. Это самый простой язык программирования для меня, при этом многого умеет.
    2.не знаю.
    3.я видел во многих вакансиях в хэдхантере на должность дата аналитика. Поэтому вполне может быть полезно.
    Ответ написан
  • Почему я не могу получить новые значения $_GET в AJAX+PHP, кто-то может помочь?

    @rebootbutton Автор вопроса
    Так! Товарищи, добрый день, снова я.
    Если читаете всё ещё, так это не зря. А случайным людям, которые зашли читать рекомендую комментарии и ругань здесь не читать, там правильного ответа нет.
    Особенно фразы как
    пхп код ВЕСЬ выносится ДО хтмл.

    мне непонятны. Я подумал наверно пхп код должен в документе выше идти, если это имелось ввиду, то дело совсем не в этом - и это мне ни капли не помогло.
    Теперь правильный ответ:
    Что я сделал и как решил вопрос?
    1.Файл 002.php:
    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <meta http-equiv="X-UA-Compatible" content="IE=edge">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <title>PHP</title>
        <link rel="stylesheet" href="style.css">
    </head>
    <body>
    <h2>PHP AJAX Try</h2>
    <p class="article">For more information please <a href="001.php">see</a></p>
    <p class="article">or get <a href="002.php">back to table</a></p>
    <p class="article"></p>
    <table>
        <tr>
            <th>Идентификатор товара
            </th>
            <th>Наименование товара
                <form action="002_table.php" method="get">
                
                <input id="search" type="text" name="search" autocomplete="off" placeholder="Поиск...">
                </form>
            </th>
            <th>Цена товара</th>
        </tr>
     <tbody id="tbl">
    </tbody>
    </table>
    <script>
    //------------4.SCRIPTS. AJAX. SENDING --------------------------
    var search = document.getElementById('search');
    search.addEventListener('input', function () {
        searchval = document.getElementById('search').value;
        var xhr = new XMLHttpRequest();
        console.log(xhr);
         xhr.onreadystatechange = function(){
            if (this.readyState == 4 && this.status == 200) {
                document.getElementById('tbl').innerHTML = this.responseText;
                console.log('xhr');
                console.log(this.readyState + 'readyState');
                console.log(this.status + 'status');
            }
        }
        xhr.open("GET", "002_table.php?search=" + searchval, true);
        xhr.send();
    });
    
    </script>
    </body>
    </html>

    здесь самое важное для меня нужное была строка:
    document.getElementById('tbl').innerHTML = this.responseText;

    при этом в таблице (внутри тега table, после строки тега tr для заголовок) я создал тег tbody и присвоил к нему идентификаторid="tbl"
    То есть tbody в 002.php включать будет в себя содержание 002_table.php, вернее 002_table.php?search=нашзапрос
    2.Часть кода, где отображается таблица, убрал в документ (новый) 002_table.php:
    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <meta http-equiv="X-UA-Compatible" content="IE=edge">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <title>Document</title>
    </head>
    <body>
    
    <?php
    //------------1.CONNECTION--------------------------
    $conn = mysqli_connect('localhost', 'root', '', 'tovarlar');
    $query = "SELECT * from royhat";
    $result = mysqli_query($conn, $query);
    //------------2.TABLE CREATION--------------------------
    ?>
    
    <?php 
    //------------3.1.PHP CHECK GET REQUEST --------------------------
    
    if (isset($_GET['search'])) {
        //------------3.2.FETCH DATA IF FILTER IS SET--------------------------
        $query = "SELECT * from royhat where tovar_nomi LIKE '%$_GET[search]%'";
        $result = mysqli_query($conn, $query);
        while ($rows = mysqli_fetch_assoc($result)) {
            echo "<tr>";
            echo "<td>$rows[tovar_id]</td>";
            echo "<td>$rows[tovar_nomi]</td>";
            echo "<td>$rows[tovar_narxi]</td>";
            echo "</tr>";
        }
    }else{
        //------------3.3.FETCH DATA IF FILTER IS NOT SET--------------------------
        while ($rows = mysqli_fetch_assoc($result)) {
            echo "<tr>";
            echo "<td>$rows[tovar_id]</td>";
            echo "<td>$rows[tovar_nomi]</td>";
            echo "<td>$rows[tovar_narxi]</td>";
            echo "</tr>";
        }
    }
    ?>
    
    
    </body>
    </html>


    3.Всё. В итоге что получилось. При открытии 002.php
    62b327755b82f453877343.png
    Если мы вносим какие то данные в поле поиска, сразу же появятся выбранные строки:
    62b327c073e34286859652.png
    4.В идеале для меня нужно было, чтобы при первой открытии (до отправки GET запроса) показалась вся таблица.
    5.Маловажная инфа: CSS код, который находится у меня в "style.css" файле:
    h2{
        font-size: 36px;
    }
    ul>li, ol>li{font-family: monospace;} h2{width:300px;}
    .article{
        margin-bottom: 10px;
        font-family: "Bookman Old Style";
        font-weight: bold;
        font-size: 16px;
        width: 40%;
    }
    .article:hover, ul>li:hover, ol>li:hover, textarea:hover{
        background-color: black; color: greenyellow;
    }
    .article:hover code, code:hover{color:white;background-color: darkred;}
    code, h2{
        font-family: monospace;
        background-color: hsl(178, 76%, 65%);
    }
    textarea{
        width:500px; max-width:600px;
        height:140px; max-height:450px; min-height:50px; font-family: monospace; font-weight: 800;
    }
    
    .pic{
        max-width: 40%;
    }
    .pic:hover{
        box-shadow: black 0px 0px 30px;
    }
    table, tr, td, th{
        border: 1px black solid;
        border-collapse: collapse;
    }


    Итог:
    1.вопрос решился - это хорошо. Я выяснил - это хорошо.
    2.Специалисты, кураторы - либо здесь дают плохие, нерабочие советы, не понимают вопрос, либо сам дурак неправильно выразился. В общем по пункту 2 выводы делайте сами.
    Ответ написан