Обработка массива переключателей в php - PullRequest
1 голос
/ 27 февраля 2010

У меня есть немного кода PHP, который действительно сказывается на мне. Для упрощения у меня есть таблица, в которой три столбца представляют собой внешние ключи ( event_type, Accommodation_type и public_user ). Я динамически создаю набор переключателей и правильно установил атрибут ID для каждого входного значения.

                        $result2 = mysql_query("SELECT * FROM event_type", $connection);
                        if(!$result2){
                            die("Database query failed: " . mysql_error());
                        }
                        $event = mysql_fetch_array($result2);   

                    echo "<input type='radio' name='event_type' value='";
                    echo $event["id"];
                    echo "' >&nbsp;&nbsp;";
                    echo $event['name'];
                    echo "</input><br /><br />";$result4 = mysql_query("SELECT * FROM accommodation_type", $connection);

                        if(!$result4){
                            die("Database query failed: " . mysql_error());
                        }
                        while($row = mysql_fetch_array($result4)){
                            if($row["id"] == 7 || $row["id"] == 8){
                            echo"<tr><td>";
                            echo $row["name"] ;
                            echo"</td><td>$";
                            echo $row["price"];
                            echo ".00</td><td>";
                            echo "<input type='radio' name='accommodation_type' value='";
           echo $row["id"];
                            echo "' />";
                            echo "</td></tr>";
                            }
                        }

Я получил правильный идентификатор из запроса. Таким образом, после отправки формы с помощью POST я продолжаю небольшую проверку и подготавливаю имена из своего поста следующим образом:

    $event_type = trim(mysql_prep($_POST['event_type']));
    $accommodation_type= trim(mysql_prep($_POST['accommodation_type']));
    $public_user = trim(mysql_prep($_POST['public_user']));
    $comments = trim(mysql_prep($_POST['comments']));
    $grand_total = trim(mysql_prep($_POST['grand_total']));

Затем я приступил к записи операторов вставки для вставки данных в соответствующие таблицы. Это требует двух запросов следующим образом.

        $query = "INSERT INTO event_registration (event_type, accommodation_type, public_user, comments, grand_total) VALUES ('{$event_type}','{$accommodation_type}','{$public_user}','{$comments}','{$grand_total}')";
        $query1 = "INSERT INTO additional_member (first_name, last_name, gender, age_group, public_user) VALUES ('{$first_name}','{$last_name}','{$gender}','{$age_group}','{$public_user}')";
        $result = mysql_query($query, $connection);
        $result1 = mysql_query($query1, $connection);

Запрос1 работает, как и ожидалось, однако первый запрос не может вставить данные. Это говорит неопределенный индекс в строках, где у меня есть

    $event_type = trim(mysql_prep($_POST['event_type']));
    $accommodation_type= trim(mysql_prep($_POST['accommodation_type']));

Я не совсем уверен, где что-то пошло не так. Кажется, все настроено правильно, и данные из формы просто не сохраняются.

Есть идеи?

Ответы [ 2 ]

2 голосов
/ 27 февраля 2010

Почему бы не попробовать просмотреть код с нуля и посмотреть, есть ли какие-либо синтаксические ошибки, а затем двигаться дальше.

0 голосов
/ 27 февраля 2010

Вы создаете тип размещения

 echo "<input type='radio' name='accommodation_type' value='";
       echo $row["id"];

Но нигде не повторяется event_type. Попробуйте повторить это тоже:

 echo "<input type='radio' name='accommodation_type' value='";
       echo $row["id"];

 echo "<input type='radio' name='event_type' value='";
       echo $row["whatever"];
...