<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>
Asked
Active
Viewed 48 times
-2
Oliver Patterson
- 4,468
- 2
- 6
- 22
-
попробуйте ответ и отпишитесь – Михаил Ребров Aug 24 '22 at 14:47
-
2Возможный дубликат вопроса: Как и какими средствами находить ошибки в PHP коде? – Алексей Шиманский Aug 24 '22 at 14:53
-
1ошибка 500 - ошибка на сервере. какая именно и как найти - см. дубликат, Также смотри https://ru.stackoverflow.com/q/1437802/191482 и https://ru.stackoverflow.com/q/1364090/191482 – Алексей Шиманский Aug 24 '22 at 14:53
1 Answers
0
- неправильный синтаксис php-кода:
не хватает 16-ти точек с запятой в конце строки
php это не javascript - здесь;в конце инструкции - обязательна - неправильный синтаксис запроса:
не хватает 3ORв разделеWHEREмежду разными условиями - одинарные кавычки не поддерживают подстановку значений переменных:
по этой причине обращения$row['$postavchiki']могут привести к ошибке
т.к. в массиве не будет ключа "$postavchiki"
т.к. в данном случае подстановки значения в строку не будет и ключ будет искаться с знаком$ - более того переменные там вообще не нужны
т.к. в переменной$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) > 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>
вариант №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>
Михаил Ребров
- 6,029
-
Спасибо ,что отозвались ,но не сработало. Причина мне неизвестна ,но ошибка та же 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