Как создать таблицу поиска / фильтрации и добавить разбиение на страницы?
Всем привет! - мне нужна ваша помощь. У меня ошибка в коде, мой компилятор говорит "mysq_query() эксперты параметр 1, чтобы быть строка, ресурс дали test.php строка 21" и "mysql_fetch_array() ожидает параметр 1, чтобы быть ресурсом, нуль дается в test.php по строке 72" и я не могу выяснить, как решить эти ошибки и я не знаю, как я буду добавлять пагинацию на мои коды, и я хотел бы знать, как я могу показать сообщение, когда нет результата от фильтров. . Пожалуйста, посмотрите и проверьте мои коды ниже. Заранее благодарю вас за вашу помощь. :)
Вот мои коды:
<?php if(isset($_POST['search'])) { $valueToSearch = $_POST['valueToSearch']; // search in all table columns // using concat mysql function $query = "SELECT * FROM `dbcharity2016` WHERE CONCAT(`genNo`, `reliefNo`, `disas_date`, `area`, `city`, `type`, `surv_date`, `surv_date`, `surv_volunteers`, `vol_incharge`, `relief_date`, `volunteers`, `venue`, `T_Beneficiary`, `unit`, `individual`, `house`, `sacksNo`, `DRG`, `cost_set`, `cost_relief`, `DAI`, `CAG`, `TCA`) LIKE '%".$valueToSearch."%'"; $search_result = filterTable($query); } else { $query = "SELECT * FROM `dbcharity2016`"; $search_result = filterTable($query); } // function to connect and execute the query function filterTable($query) { $con = mysql_connect("localhost","test_webdev","e7#_AZ*9we_^","test_WebBase"); $filter_Result = mysql_query($con, $query); return $filter_Result; } ?> <!DOCTYPE html> <html> <head> <title>test</title> <style> table,tr,th,td { border: 1px solid black; } </style> </head> <body> <form action="test.php" method="post"> <input type="text" name="valueToSearch" placeholder="Value To Search"><br><br> <input type="submit" name="search" value="Filter"><br><br> <table> <tr> <th>General No.</th> <th>Relief No.</th> <th>Disaster Date</th> <th>Area</th> <th>City</th> <th>Relief type</th> <th>Survey Date</th> <th>Survey Volunteers</th> <th>Volunteer-in-Charge</th> <th>Relief Date</th> <th>Volunteers</th> <th>Venue</th> <th>Beneficiary</th> <th>Unit</th> <th>Individual</th> <th>House</th> <th>No. of Sacks</th> <th>Details of Relief Goods</th> <th>Cost per set</th> <th>Cost of Relief Goods <th>Death and Injuries</th> <th>Cash Assistance</th> <th>Total Cash Assistance</th> </tr> <!-- populate table from mysql database --> <?php while($row = mysql_fetch_array($search_result)):?> <tr> <td><?php echo $row['genNo'];?></td> <td><?php echo $row['reliefNo'];?></td> <td><?php echo $row['disas_date'];?></td> <td><?php echo $row['area'];?></td> <td><?php echo $row['city'];?></td> <td><?php echo $row['type'];?></td> <td><?php echo $row['surv_date'];?></td> <td><?php echo $row['surv_volunteers'];?></td> <td><?php echo $row['vol_incharge'];?></td> <td><?php echo $row['relief_date'];?></td> <td><?php echo $row['volunteers'];?></td> <td><?php echo $row['venue'];?></td> <td><?php echo $row['T_Beneficiary'];?></td> <td><?php echo $row['unit'];?></td> <td><?php echo $row['individual'];?></td> <td><?php echo $row['house'];?></td> <td><?php echo $row ['sacksNo'];?></td> <td><?php echo $row ['DRG'];?></td> <td><?php echo $row ['cost_set'];?></td> <td><?php echo $row ['cost_relief'];?></td> <td><?php echo $row ['DAI'];?></td> <td><?php echo $row ['CAG'];?></td> <td><?php echo $row ['TCA'];?></td> </tr> <?php endwhile;?> </table> </form> </body> </html>
Что я уже пробовал:
Я попытался изменить $connection на $con и mysqli_query на mysql_query, к сожалению, ошибка все еще существует и увеличилась еще больше. Я не знаю, как исправить этот беспорядок и как добавить разбиение на страницы тоже на каждой странице, когда таблица попадет в 10 строк автоматически, появится разбиение на страницы. и я тоже знаю, как показать сообщение "Нет результата", когда в фильтре нет результата.
[edit by Nelek] дополнительная информация скопирована из не ответа ниже
И я использую php версии 4.0.1 и Mysql версии 5.5.54