-2
<tbody>
<?php
include("menegeradd.php")
if(isset($_POST['submit']))
{
    $categori = $_POST['categori']
    $strana = $_POST['strana']
    $proizvoditeli = $_POST['proizvoditeli']
    $postavchiki = $_POST['postavchiki']
    $sachita = $_POST['sachita']
    $minpromtorg = $_POST['minpromtorg']
    $preseyl = $_POST['preseyl']
    $nastroyka = $_POST['nastroyka']
    $servic = $_POST['servic']
    $zip = $_POST['zip']
    $proshivka = $_POST['proshivka']
    $postavka = $_POST['postavka']
    $st_info = $_POST['st_info']
    $st_smart = $_POST['st_smart']
    $dati = $_POST['dati']
}
if ($categori1 !="" || $categori !="" || $strana !="" || $proizvoditeli !="" || $postavchiki !="" || $sachita !="" || $minpromtorg !="" || $preseyl !="" || 
$nastroyka !="" || $servic !="" || $zip !="" || $proshivka !="" || $postavka !="" || $st_info !="" || $st_smart !="" || $data !="" ||)  
{
    $query = "SELECT * FROM records WHERE categori ='$categori' OR strana ='$strana' OR proizvoditeli
='$proizvoditeli' OR postavchiki ='$postavchiki'
        sachita ='$sachita' OR minpromtorg ='$minpromtorg' OR preseyl ='$preseyl' OR nastroyka ='$nastroyka' servic ='$servic' OR zip ='$zip'
        proshivka ='$proshivka' OR postavka ='$postavka' OR st_info ='$st_info' OR st_smart ='$st_smart' OR dati='$data'";

        $data  = mysqli_query($conn, $query) or die('error');
        if(mysqli_num_rows($data) > 0)
        {
        while($row = mysqli_fetch_assoc($data))
        {

            $proizvoditeli = $row['$proizvoditeli'];
            $strana = $row['$strana'];
            $postavchiki = $row['$postavchiki'];
            $sachita = $row['$sachita'];
            $minpromtorg = $row['$minpromtorg'];
            $preseyl = $row['$preseyl'];
            $nastroyka = $row['$nastroyka'];
            $servic = $row['$servic'];
            $zip = $row['$zip'];
            $proshivka = $row['$proshivka'];
            $postavka = $row['$postavka'];
            $dati = $row['$dati'];
            $st_info = $row['$st_info'];
            $st_smart = $row['$st_smart'];
            $categori = $row['$categori'];
            ?>
            <tr>
                <td><?php echo $proizvoditeli; ?></td>
                <td><?php echo $strana; ?></td>
                <td><?php echo $postavchiki; ?></td>
                <td><?php echo $proizvoditeli; ?></td>
                <td><?php echo $sachita; ?></td>
                <td><?php echo $minpromtorg; ?></td>
                <td><?php echo $preseyl; ?></td>
                <td><?php echo $nastroyka; ?></td>
                <td><?php echo $servic; ?></td>
                <td><?php echo $zip; ?></td>
                <td><?php echo $proshivka; ?></td>
                <td><?php echo $postavka; ?></td>
                <td><?php echo $dati; ?></td>
                <td><?php echo $st_info; ?></td>
                <td><?php echo $st_smart; ?></td>
                <td><?php echo $categori; ?></td>
            </tr>
            <?php
        }

        }
        else
        {
        ?>
        <tr>
            <td>
                records not found
            </td>
        </tr>
        <?php
        }
}
?>
</tbody>
Oliver Patterson
  • 4,468
  • 2
  • 6
  • 22

1 Answers1

0
  1. неправильный синтаксис php-кода:
    не хватает 16-ти точек с запятой в конце строки
    php это не javascript - здесь ; в конце инструкции - обязательна
  2. неправильный синтаксис запроса:
    не хватает 3 OR в разделе WHERE между разными условиями
  3. одинарные кавычки не поддерживают подстановку значений переменных:
    по этой причине обращения $row['$postavchiki'] могут привести к ошибке
    т.к. в массиве не будет ключа "$postavchiki"
    т.к. в данном случае подстановки значения в строку не будет и ключ будет искаться с знаком $
  4. более того переменные там вообще не нужны
    т.к. в переменной $postavchiki будет не название колонки в таблице, а значение данного поля в конкретной строке... а нам нужны именно названия колонок
    и в данном случае можно просто обойтись без переменных
    просто $row['postavchiki'] без переменных и знаков доллара

попробуйте это:

<tbody>
<?php
// ";" не было вот здесь ↓
include("menegeradd.php");
if(isset($_POST['submit']))
{
    // также точка с запятой отсутствовала
    $categori = $_POST['categori']; // ← здесь
    $strana = $_POST['strana']; // ← и здесь
    $proizvoditeli = $_POST['proizvoditeli']; // ← и здесь
    $postavchiki = $_POST['postavchiki']; // ← и здесь
    $sachita = $_POST['sachita']; // ← и здесь
    $minpromtorg = $_POST['minpromtorg']; // ← и здесь
    $preseyl = $_POST['preseyl']; // ← и здесь
    $nastroyka = $_POST['nastroyka']; // ← и здесь
    $servic = $_POST['servic']; // ← и здесь
    $zip = $_POST['zip']; // ← и здесь
    $proshivka = $_POST['proshivka']; // ← и здесь
    $postavka = $_POST['postavka']; // ← и здесь
    $st_info = $_POST['st_info']; // ← и здесь
    $st_smart = $_POST['st_smart']; // ← и здесь
    $dati = $_POST['dati']; // ← и здесь
}
if ($categori1 !="" || $categori !="" || $strana !="" || $proizvoditeli !="" || $postavchiki !="" || $sachita !="" || $minpromtorg !="" || $preseyl !="" ||
    $nastroyka !="" || $servic !="" || $zip !="" || $proshivka !="" || $postavka !="" || $st_info !="" || $st_smart !="" || $data !="" ||)
{
    // запрос обернул в HEREDOC
    $query = <<<SQL
SELECT * 
FROM records 
WHERE categori ='$categori' 
   OR strana ='$strana' 
   OR proizvoditeli='$proizvoditeli' 
   OR postavchiki ='$postavchiki'
/*  ↓ вот здесь отсутствовал OR */
   OR sachita ='$sachita'
   OR minpromtorg ='$minpromtorg'
   OR preseyl ='$preseyl'
   OR nastroyka ='$nastroyka'
/*  ↓ и здесь отсутствовал OR */
   OR servic ='$servic' 
   OR zip ='$zip'
   OR proshivka ='$proshivka'
/*  ↓ и здесь */
   OR postavka ='$postavka'
   OR st_info ='$st_info'
   OR st_smart ='$st_smart'
   OR dati='$data'
SQL;
$data  = mysqli_query($conn, $query) or die('error');
if(mysqli_num_rows($data) &gt; 0)
{
    while($row = mysqli_fetch_assoc($data))
    {
        // вот в этом блоке знаки доллара в ключах массива были лишними
        $proizvoditeli = $row['proizvoditeli'];
        $strana = $row['strana'];
        $postavchiki = $row['postavchiki'];
        $sachita = $row['sachita'];
        $minpromtorg = $row['minpromtorg'];
        $preseyl = $row['preseyl'];
        $nastroyka = $row['nastroyka'];
        $servic = $row['servic'];
        $zip = $row['zip'];
        $proshivka = $row['proshivka'];
        $postavka = $row['postavka'];
        $dati = $row['dati'];
        $st_info = $row['st_info'];
        $st_smart = $row['st_smart'];
        $categori = $row['categori'];
        ?&gt;
        &lt;tr&gt;
            &lt;td&gt;&lt;?php echo $proizvoditeli; ?&gt;&lt;/td&gt;
            &lt;td&gt;&lt;?php echo $strana; ?&gt;&lt;/td&gt;
            &lt;td&gt;&lt;?php echo $postavchiki; ?&gt;&lt;/td&gt;
            &lt;td&gt;&lt;?php echo $proizvoditeli; ?&gt;&lt;/td&gt;
            &lt;td&gt;&lt;?php echo $sachita; ?&gt;&lt;/td&gt;
            &lt;td&gt;&lt;?php echo $minpromtorg; ?&gt;&lt;/td&gt;
            &lt;td&gt;&lt;?php echo $preseyl; ?&gt;&lt;/td&gt;
            &lt;td&gt;&lt;?php echo $nastroyka; ?&gt;&lt;/td&gt;
            &lt;td&gt;&lt;?php echo $servic; ?&gt;&lt;/td&gt;
            &lt;td&gt;&lt;?php echo $zip; ?&gt;&lt;/td&gt;
            &lt;td&gt;&lt;?php echo $proshivka; ?&gt;&lt;/td&gt;
            &lt;td&gt;&lt;?php echo $postavka; ?&gt;&lt;/td&gt;
            &lt;td&gt;&lt;?php echo $dati; ?&gt;&lt;/td&gt;
            &lt;td&gt;&lt;?php echo $st_info; ?&gt;&lt;/td&gt;
            &lt;td&gt;&lt;?php echo $st_smart; ?&gt;&lt;/td&gt;
            &lt;td&gt;&lt;?php echo $categori; ?&gt;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;?php
    }

}
else
{
    ?&gt;
    &lt;tr&gt;
        &lt;td&gt;
            records not found
        &lt;/td&gt;
    &lt;/tr&gt;
    &lt;?php
}

} ?> </tbody>

вариант №2

необязательно вытягивать из колонок все значения...
их просто можно проитерировать в цикле foreach

<?php
foreach ($row as $cellValue) { ?>
    <td><?php echo $cellValue; ?></td>
<?php
}
?>

и все

Код варианта 2 полностью

<tbody>
<?php
// ";" не было вот здесь ↓
include("menegeradd.php");
if(isset($_POST['submit']))
{
    // также точка с запятой отсутствовала
    $categori = $_POST['categori']; // ← здесь
    $strana = $_POST['strana']; // ← и здесь
    $proizvoditeli = $_POST['proizvoditeli']; // ← и здесь
    $postavchiki = $_POST['postavchiki']; // ← и здесь
    $sachita = $_POST['sachita']; // ← и здесь
    $minpromtorg = $_POST['minpromtorg']; // ← и здесь
    $preseyl = $_POST['preseyl']; // ← и здесь
    $nastroyka = $_POST['nastroyka']; // ← и здесь
    $servic = $_POST['servic']; // ← и здесь
    $zip = $_POST['zip']; // ← и здесь
    $proshivka = $_POST['proshivka']; // ← и здесь
    $postavka = $_POST['postavka']; // ← и здесь
    $st_info = $_POST['st_info']; // ← и здесь
    $st_smart = $_POST['st_smart']; // ← и здесь
    $dati = $_POST['dati']; // ← и здесь
}
if ($categori1 !="" || $categori !="" || $strana !="" || $proizvoditeli !="" || $postavchiki !="" || $sachita !="" || $minpromtorg !="" || $preseyl !="" ||
    $nastroyka !="" || $servic !="" || $zip !="" || $proshivka !="" || $postavka !="" || $st_info !="" || $st_smart !="" || $data !="" ||)
{
    // запрос обернул в HEREDOC
    $query = <<<SQL
SELECT * 
FROM records 
WHERE categori ='$categori' 
   OR strana ='$strana' 
   OR proizvoditeli='$proizvoditeli' 
   OR postavchiki ='$postavchiki'
/*  ↓ вот здесь отсутствовал OR */
   OR sachita ='$sachita'
   OR minpromtorg ='$minpromtorg'
   OR preseyl ='$preseyl'
   OR nastroyka ='$nastroyka'
/*  ↓ и здесь отсутствовал OR */
   OR servic ='$servic' 
   OR zip ='$zip'
   OR proshivka ='$proshivka'
/*  ↓ и здесь */
   OR postavka ='$postavka'
   OR st_info ='$st_info'
   OR st_smart ='$st_smart'
   OR dati='$data'
SQL;
    $data  = mysqli_query($conn, $query) or die('error');
    if(mysqli_num_rows($data) > 0)
    {
        while($row = mysqli_fetch_assoc($data))
        {
            ?>
            <tr>
                <?php
                foreach ($row as $cellValue) { ?>
                    <td><?php echo $cellValue; ?></td>                
                <?php
                }
                ?>
            </tr>
            <?php
        }
    }
    else
    {
        ?>
        <tr>
            <td>
                records not found
            </td>
        </tr>
        <?php
    }
}
?>
</tbody>
  • Спасибо ,что отозвались ,но не сработало. Причина мне неизвестна ,но ошибка та же 500 – Руслан Данилов Aug 24 '22 at 15:01
  • @РусланДанилов рано вы галочку значит поставили. Ну точек с запятыми там точно не хватало. Как и OR... что там еще может быть - попробую сейчас посмотреть – Михаил Ребров Aug 24 '22 at 15:08
  • @РусланДанилов нашел еще один косяк . через 5 минут обновлю ответ – Михаил Ребров Aug 24 '22 at 15:11
  • @РусланДанилов дописал ошибки, обновил код в ответе + добавил еще один запасной вариант... попробуйте их и отпишитесь – Михаил Ребров Aug 24 '22 at 15:28
  • Еще раз спасибо ,но не заработало ,видимо проблема не только в коде но и наверное в библиотеке jquery или в чем то еще ,сейчас попросил помощи знакомых ,поэтому напишу если найду ответ на данную ошибку или не найду) ,но спасибо что ответили. – Руслан Данилов Aug 24 '22 at 15:47
  • @РусланДанилов у вас apache на сервере?... посмотрите логи и текст ошибки и приложите его к вопросу если получится – Михаил Ребров Aug 24 '22 at 15:50
  • 1
    нашел ещё одну ошибку ,она была в файле .htaccess , потом всё заработало – Руслан Данилов Aug 25 '22 at 12:27