Onchange отправить, обновить базу данных и отобразить результат вместо выпадающего

0

У меня есть раскрывающийся список имен драйверов, когда диспетчер выбирает имя драйвера, ему необходимо обновить БД, а затем отобразить содержимое этого столбца в базе данных вместо раскрывающегося списка.

Это то, что я до сих пор и не знаю, куда идти отсюда.

$sql = "SELECT * FROM  dispatch WHERE driver = '' OR pu_time = '' OR do_time = ''";
    $result = mysql_query($sql);
            $i = 0;
        $color1 = "#ff0000";
        $color2 = "#00ff00";
        while($row = mysql_fetch_array($result)){

            if($i%2 == 1) {$color = $color1;}
                else {$color = $color2;}

                echo "<tr style='background-color: $color'>";
                echo '<td><input name="id" type="hidden" value="'.$row['id'].'" />'.$row['call_time'].'</td>';
                echo "<td>".$row['start_address']."</td>";
                echo "<td>".$row['end_address']."</td>";
                echo "<td>".$row['phone']."</td>";
                echo "<td>".$row['puat']."</td>";

                    if (isset($row['driver']) === true && empty($row['driver']) === true){

                        echo '<td>
                             <form id = "driver">
                              <select name="driver">
                              <option value="Mike">Mike</option>
                              <option value="Cheek">Cheek</option>
                              <option value="Spencer">Spencer</option>
                              <option value="Melissa">Melissa</option>
                            </select>
                            </form></td>';

                        }
                        else {
                            echo "<td>".$row['driver']."</td>";
                            }

                echo "</tr>";
                $i++;
        }
    }
  • 1
    Вам нужно будет использовать AJAX (я вижу jQuery с тегами, поэтому AJAX jQuery сделает свое дело) - подключитесь к событию select элементов onchange (или .change () `с jQuery)
  • 0
    Я как бы понял, и посмотрел на некоторые примеры, однако все они используют разные файлы для обработки формы ... и мне нужно остаться на той же странице. или я недопонимаю. По общему признанию я абсолютно ничего не знаю об AJAX.
Теги:
database
forms

1 ответ

0

Я придумал очень грубую работу... Если у кого-то есть лучшая идея, я открыт для этого!

$sql = "SELECT * FROM  dispatch WHERE driver = '' OR pu_time = '' OR do_time = ''";
    $result = mysql_query($sql);
            $i = 0;
        $color1 = "#ff0000";
        $color2 = "#00ff00";
        while($row = mysql_fetch_array($result)){

            if($i%2 == 1) {$color = $color1;}
                else {$color = $color2;}

                echo "<tr style='background-color: $color'>";
                echo '<td><input name="id" type="hidden" value="'.$row['id'].'" />'.$row['call_time'].'</td>';
                echo "<td>".$row['start_address']."</td>";
                echo "<td>".$row['end_address']."</td>";
                echo "<td>".$row['phone']."</td>";
                echo "<td>".$row['puat']."</td>";

                    if (isset($row['driver']) === true && empty($row['driver']) === true){

                        echo '<td>
                             <form id = "driver">
                              <select name="driver" onchange="this.form.submit()">
                              <option value="Mike">Mike</option>
                              <option value="Cheek">Cheek</option>
                              <option value="Spencer">Spencer</option>
                              <option value="Melissa">Melissa</option>
                            </select>
                            </form></td>';
                                if (isset($_GET['driver'])){
                                    $new_driver = $_GET['driver'];
                                    $id = $row['id'];
                                    $update_d = "UPDATE dispatch SET driver = '$new_driver' WHERE id = '$id'";
                                    mysql_query($update_d,$con)
                                    or die;
                                    unset($_GET['driver']);
                                    echo '<script type="text/JavaScript">
                                            window.location.href = "new_index.php";
                                          </script>';
                                    }
                        }
                        else {

                            echo $_GET['driver']."Hello";
                            echo "<td>".$row['driver']."</td>";
                            }



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

Ещё вопросы

Сообщество Overcoder
Наверх
Меню