Таблица результатов поиска php не ведет себя как оригинальная таблица - PullRequest
0 голосов
/ 12 июня 2018

У меня есть таблица сотрудников, для которой мне нужно иметь возможность выполнять функцию поиска, но когда я реализовал эту функцию, мне пришлось создать еще одну страницу для результата, поэтому я скопировал код заполненной таблицы с исходной страницы ион работал нормально, за исключением того, что я добавил кнопки во внешние 3 столбца таблицы, и они работают только с исходной таблицей (там прекрасно работает), но когда я пытаюсь использовать кнопки на странице результатов, я получаю пустую страницу только с моимиHTML + CSS дизайн на нем без какого-либо вывода, даже если у меня есть вывод, указанный для каждого случая - это как PHP-код даже не работает -

примечание: почтовые запросы не проблема, потому что онибыла ли проблема, что страница вообще ничего не делала (что и ожидалось в тот момент).

Я добавлю ссылку с php-файлами моих страниц, чтобы все могли их увидеть, и я буду доступен, если понадобится дополнительная информация:)

https://drive.google.com/drive/folders/17wWScailbySmSpUPCuHDdgIur74VAp1d?usp=sharing

Файл employee.php использует тот же код, за исключением того, что он вызывает каждого сотрудника, а не некоторых из них.

Я попытался добавить код employee.php, который относится к этому вопросу, но кто-то сказал, что он не нужен.

форма, вызывающая этот код, существует в файле employee.php, и она

<form action="searchEmp.php" method="post"> 
    <input type="text" name="search" value="">
    <input type="submit" name="search-btn" value="Search">
</form>

и это код из поиска сотрудников (в котором есть проблема) ::

    if(isset($_POST['search-btn'])) {
        //  echo 'search btn pressed ';

         $search = mysqli_real_escape_string($con , $_POST['search']);
        // echo 'looking for : ' . $search ; 
         $sql =  "select * from employees where emp_fname like '%$search%' or emp_lname like '%$search%' or emp_email like '%$search%' or idNumber = '$search' or emp_phonenumber = '$search' " ; 
         $result = mysqli_query($con , $sql);
        //     echo 'result : ' . $result ; 
         $queryResult  = mysqli_num_rows($result);
        //   echo 'result : ' . $queryResult; 
         if($queryResult > 0 ){
        //    echo 'more than 0 results...' ;
        echo "<form action='".$_SERVER['PHP_SELF']."' method='post'>";
        echo '<div class="table_" align="center">' ; 
        echo '<table style="font-family: arial; font-size: 15px;" border="1" cellpadding="1" align="center">';
        echo '<tr bgcolor="#009933">
                <th><b>ID</b></th>
                <th><b>First Name</b></th>
                <th><b>Last Name</b></th>
                <th><b>Phone Number</b></th>
                <th><b>Email</b></th>
                <th><b>Salary</b></th>
                <th><b>Status</b></th>
               </tr>';
            $i = 0 ;
        while($row =mysqli_fetch_assoc($result)){
            echo '<tr>' ;

            echo '<td>'.'<input type="text" name="id'.$i.'" value="'.$row['emp_id'].'"/> '.'</td>';


            echo '<td>'.'<input type="text" name="fname'.$i.'" value="'.$row['emp_fname'].'" />'.'</td>';


            echo '<td>'.'<input type="text" name="lname'.$i.'" value="'.$row['emp_lname'].'" />'.'</td>';


            echo '<td>'.'<input type="text" name="phone_number'.$i.'" value="'.$row['emp_phonenumber'].'" >'.'</td>';


            echo '<td>'.'<input type="text" name="email'.$i.'" value="'.$row['emp_email'].'"/> '.'</td>';


            echo '<td>'.'<input type="text" name="salary'.$i.'" value="'.$row['emp_salary'].'"/> '.'</td>';


            echo '<td>'.'<input type="text" name="status'.$i.'" value="'.$row['emp_status'].'" />'.'</td>';

            echo '<td> <input type="submit" name="update_btn'.$i.'" value="update"/> ';

            echo '<td> <input type="submit" name="profile_btn'.$i.'" value="profile"/> ';

            if(isset($_POST['profile_btn'.$i])){
                // the profile btn has been pressed..
                ob_end_clean(); 
               $id = $_POST['id'.$i] ; 
               header("Location: profile.php?id=".$id) ;
               exit(); 
              //  printf("Location : " .$i) ;
               }


            if(isset($_POST['update_btn'.$i])){
                if(isset($_POST['check'.$i])){
                    $id = $_POST['id'.$i];
                    $fname  = $_POST['fname'.$i] ;
                    $lname = $_POST['lname'.$i];
                    $phone_number =  $_POST['phone_number'.$i];
                    $email = $_POST['email'.$i];
                    $salary =$_POST['salary'.$i] ;
                    $status =$_POST['status'.$i];

                    $updateStatus = "update employees set emp_fname ='$fname' , emp_lname='$lname' ,emp_phonenumber='$phone_number', emp_email='$email', emp_salary='$salary', emp_status='$status' WHERE emp_id = '$id' " ;

                    $qry = mysqli_query($con,$updateStatus);
                    if(!$qry){
                        echo 'failed to update...';
                    }else{
                        header("Location: employee.php");
                    }

                }else{
                    echo'please activate the update modification options using the tick' ;
                }
            }

            echo  '</td>';
            echo '<td>';
            echo ' <input type="submit" name="delete'.$i.'" value="delete"/> ';
            if(isset($_POST['delete'.$i])){
             if($_POST['check'.$i]){

                 $id = $_POST['id'.$i];

                 $delete = "delete from employees where emp_id = '$id'";
                 $query = mysqli_query($con,$delete);
                 if(!$query){
                     echo'delete failed';
                 }else{
                     header("Location: employee.php");
                 }

             }else{
            echo'please activate the check modify the data' ;
             } 
            }
            echo '</td>';

            echo '<td>' ;
            echo '<input type="Checkbox" name="check'.$i.'"  />' ;
            echo '</td>' ;

            echo'</tr>';
            $i++;
        }   

            echo '</table>';
            echo '</div>' ;
            echo '</form>' ;

         } else{
            echo 'no results..' ; 
         } 
    }

кнопки таблицы на странице поиска не работают.(последние три столбца таблицы -buttons- не работают по сути).

1 Ответ

0 голосов
/ 12 июня 2018

Решение:

Просто добавьте скрытое поле ввода в форму на странице результатов .

<input type="hidden" name="search-btn" value="Search">

Теперь, когда вы не обрабатываетев этом поле значение не имеет значения.

Объяснение:

На странице результатов в самой первой строке вы проверяете поле POST search-btn и если он не найден, весь блок кода пропускается.

Теперь ваша страница результатов поиска работает, потому что форма, из которой отправляется запрос , имеет поле ввода с именемsearch-btn так что работает нормально.

Но при попытке нажать кнопку из результата поиска данные публикуются от самого * до самого себя, т.е.Дополнительные данные не добавляются.А поскольку у вас нет поля с именем search-btn в форме в форме , код пропускает написанный вами логический блок и просто показывает пустую страницу.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...