-2

I have a problem with my project and i don't know to where is the bug.

Problem: After i Submit Form data is not fetch in the Page.

I tried var_dump($result) but is not return data. I will Expose my Code and i hope you can help me or guide me to resolve the problem.

<?php
include "connect.php";
include 'header.php';



ini_set('display_errors', 1);
ini_set('display_startup_errors', 1);
error_reporting(E_ALL);

if (isset($_POST["Search"])) {

    $table_name = 'imp_acc';
    $query = "
    SELECT * FROM '.$table_name.' WHERE  available = 'YES'
  ";
    if (isset($_POST["regi"], $_POST["stat"])) {
        $query .= "
     AND reg  " . $_POST["regi"] . " AND stat " . $_POST["stat"] . "
     ";

    }

    $statement = $connect->prepare($query);
    $statement->execute();
    $result = $statement->fetchAll();
    $total_row = $statement->rowCount();
    $output = '';

    if($total_row > 0)
    {
        $output .= '
                            <table class="table">
                        <thead>
                        <tr>
                            <th scope="col">RRG</th>
                            <th scope="col">LV</th>
                            <th scope="col">CR</th>
                            <th scope="col">PR</th>
                            <th scope="col">FR</th>
                            <th scope="col">ES</th>
                            <th scope="col">RO</th>
                            <th scope="col">BO</th>
                            <th scope="col">CP</th>
                            <th scope="col">SK</th>
                            <th scope="col">LP</th>
                            <th scope="col">PRI</th>
                            <th scope="col">Action</th>
                            <th scope="col"><th>
                            <th scope="col"></th>
                        </tr>
                        </thead>
        ';

        foreach($result as $row)
        {
            $timestamp = strtotime($row['lap']);
            $newformat = date('Y-m-d',$timestamp);
            //$product_id = $row["id"];
            $output .= '
          <tr>
             <td>' . $row["regi"] . '</td>
             <td>' . $row["lv"] . '</td>
             <td>' . $row["crr_rr"] . '</td>
             <td>' . $row["prr_rr"] . '</td>
             <td>' . $row["frr_rr"] . '</td>
             <td>' . $row["stat"] . '</td>
             <td>' . $row["b_o"] . '</td>
             <td>' . $row["r_o"] . '</td>
             <td>' . $row["cc_count"] . '</td>
             <td>' . $row["sk_count"] . '</td>
             <td>' . $newformat . '</td>
             <td>' . $row["pri_cc"] . '</td>
          </tr>
          ';
        }
        $output .= ' </table>';
    }
    else
    {
        $output = '<h3>No Data Found</h3>';
    }
    echo $output;
}
?>

Also i need your Opinion for finish my Projects. I have a Search Page with alot of filters options. Couple of them are not mandatory , are just optional. Every filter have a different value in form. I want to continue in this way to makes more POST like this:

if (isset($_POST["regi"], $_POST["stat"] , ....)

Or i can give a chance to Switch statement, to see how it works. I wait your opinions and ideea. Thank you for help

alexdoobre
  • 39
  • 5

1 Answers1

-1

I find the error on code. It was my fault because i using value and not the form name. In form data i have something like this:

submit: "Search"

and the code need to be like this:

if (isset($_POST["submit"])) 

Now i see another problem is my $result because it comes array.

Thank you for your tips and help.

alexdoobre
  • 39
  • 5
  • and please also correct your sql injection problem see https://stackoverflow.com/questions/60174/how-can-i-prevent-sql-injection-in-php – nbk Apr 23 '20 at 15:37