2016-10-21 2 views
1

Я отобразил значения из таблицы mysql вместе с переключателями с разными значениями. На кнопке отправки он должен перенаправить на следующую страницу и отобразить выбранные значения. Мой код на первый файл выглядит следующим образом:Получить значения радио выбранных значений всей строки в следующий файл

$query1 = "select * from booking"; 
$result1 = $connection->query($query1); 
echo "<form method='post' action='edit.php'>"; 
echo "<center>"; 
echo "<table border='1'>"; 
$count = 0; 
while($row = $result1->fetch_row()) 
{ 
    echo "<tr>"; 
    echo "<td width=".'10'.">"; 
    $count = $count + 1; 
    #$sr=$sr+1; 
    echo "<input type='radio' name='select' value='".$count."' />"; 
    #$row = mysqli_fetch_row($result1); 
    #echo "<tr>"; 
    echo "<td width=".'10'.">"; 
    $rooms = $row[0]; 
    $srrooms = $rooms; 
    echo "<input type='text' name='srrooms' value='".$srrooms."'  hidden='hidden'>"; 
    #echo $srrooms; 
    echo $rooms; 
    echo "</td>"; 
    echo "<td width=".'10'.">"; 
    $no_roomss = $row[1]; 
    $nosrrooms = $no_roomss; 
    echo "<input type='text' name='nosrrooms' value='".$nosrrooms."' hidden='hidden'>"; 
    echo $no_roomss; 
    echo "</td>"; 
    echo "<td width=".'10'.">"; 
    $no_dayss = $row[2]; 
    $nodays = $no_dayss; 
    echo "<input type='text' name='nodays' value='".$nodays."' hidden='hidden'>"; 
    echo $no_dayss; 
    echo "</td>"; 
    echo "<td width=".'10'.">"; 
    $name = $row[3]; 
    echo $name; 
    echo "</td>"; 
    echo "</tr>"; 
    #$count++; 
} 
echo "<input name='count' type='hidden' id='count'>"; // hidden input where  counter value will be stored 
echo "</table>"; 
echo "<input type='submit' name='submitRooms' />"; 
echo "</center>"; 
echo "</form>"; 

Javascript код:. $ (функция() { $ ('вход [имя = "выберите"]') изменить (функция() { $ ('# count'). Val ($ ("input [name = 'select']: checked"). Val()); }); });

код edit.php является:

<?php 
if(isset($_POST['submitRooms'])){ 
    @$count = $_POST['count']; 
    @$srrooms=$_POST['srrooms'.$count]; 
    @$nosrrooms=$_POST['nosrrooms'.$count]; 
    @$nodays=$_POST['nodays'.$count]; 
    echo 'Selected values are: '. $srrooms . $nosrrooms . $nodays; 
} 
?> 
+0

Один из вариантов, нажмите отправить, сохранить значения из формы в переменную сеанса и цикл через сеанс на следующей странице. – Blinkydamo

ответ

0

Вы можете использовать счетчик для представления значений строки выбранного RadioButton как:

<?php 
$query1 = "select * from booking"; 
$result1 = $connection->query($query1); 
echo "<form method='post' action='edit.php'>"; 
echo "<center>"; 
echo "<table border='1'>"; 

$count = 0; // counter variable 
while($row = $result1->fetch_row()) 
{ 
    echo "<tr>"; 
    echo "<td width=".'10'.">"; 

    echo "<input type='radio' name='select' value='".$count."' />"; 
    echo "<td width=".'10'.">"; 
    $rooms = $row[0]; 
    $srrooms = $rooms; 

    echo "<input type='hidden' name='srrooms".$count."' value='".$srrooms."' >"; // add counter value to every name of the input fields 
    echo $rooms; 
    echo "</td>"; 
    echo "<td width=".'10'.">"; 
    $no_roomss = $row[1]; 
    $nosrrooms = $no_roomss; 
    echo "<input type='hidden' name='nosrrooms".$count."' value='".$nosrrooms."'>"; 
    echo $no_roomss; 
    echo "</td>"; 
    echo "<td width=".'10'.">"; 
    $no_dayss = $row[2]; 
    $nodays = $no_dayss; 
    echo "<input type='hidden' name='nodays".$count."' value='".$nodays."' >"; 
    echo $no_dayss; 
    echo "</td>"; 
    echo "<td width=".'10'.">"; 
    $name = $row[3]; 
    echo $name; 
    echo "</td>"; 
    echo "</tr>"; 
    $count++; 
} 
echo "<input name='count' type='hidden' id='count'>"; // hidden input where counter value will be stored 
echo "</table>"; 
echo "<input type='submit' name='submitRooms' />"; 
echo "</center>"; 
echo "</form>"; 
?> 

, а затем использовать JQuery для сохранения активных радиокнопки рассчитывать в поле ввода скрытых счетчиков [после указанного выше php-кода]

<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script> 
<script type='text/javascript'> 
$(function(){ 
    $('input[name="select"]').change(function(){ 
     $('#count').val($("input[name='select']:checked").val()); 
    }); 
}); 
</script> 

затем на ваш edit.php получать отправленные данные, как:

<?php 
if(isset($_POST['submitRooms'])){ 
    @$count = $_POST['count']; 
    @$srrooms = $_POST['srrooms'.$count]; 
    @$nosrrooms = $_POST['nosrrooms'.$count]; 
    @$nodays = $_POST['nodays'.$count]; 
    echo 'Selected values are: '. $srrooms . $nosrrooms . $nodays; 
} 
?> 

Вы не добавили весь код формы так, пожалуйста, добавьте вышеупомянутый код формы и причину, почему ваш код не работает, что вам не добавили счет с именами полей ввода. А их нет, использования выборки отправленных данных со счетом в edit.php, пока вы не имеете поля ввода с именем с $ графом переменного

echo "<input type='hidden' name='srrooms".$count."' value='".$srrooms."' >"; 
+0

Благодарим вас за такой быстрый ответ. Я скопировал тот же код, но на edit.php, я получаю ошибки как: «Примечание: Неопределенный индекс: srrooms1 в C: \ xampp \ htdocs \ Hotel \ edit.php в строке 4 Примечание: Неопределенный индекс: nosrrooms1 in C: \ xampp \ htdocs \ Hotel \ edit.php в строке 5 Примечание: Неопределенный индекс: nodays1 в C: \ xampp \ htdocs \ Hotel \ edit.php в строке 6 Выбранные значения: ' –

+0

Отправить форму и то он покажет результат .. – sheetal

+0

, или если вы собираетесь использовать edit.php самостоятельно, вы можете использовать знак @ перед своим оператором. Еще раз проверьте код. Я добавил его – sheetal