2014-01-14 1 views
0

У меня есть таблица, созданная в php. Я назвал эту страницу событиями. Я использовал функцию include на моей странице пользователя, чтобы отобразить таблицу, чтобы пользователь мог использовать события для бронирования события. Дело в том, что теперь мне нужно создать страницу, которая будет запускаться, как только пользователь нажал кнопку «Забронировать сейчас». Эта страница обновит таблицу бронирования в моей базе данных. Я полностью потерялся здесь и не знаю, как создать эту страницу, поскольку мне кажется, что мне нужна переменная, которая вводится из таблицы событий, возможно, с помощью кнопки. В таблице бронирования в базе данных есть эти столбцы. Booking_ID, User_ID, Event_ID, Payment_Type и Date_Booked. Я знаю, что использую mysql, но я получу более новые версии после того, как все это будет работать. Я просто не знаю, с чего начать создание php бронирования и вставка значений из таблицы событий в базу данных. Любая помощь будет оценена.Как создать и ввести переменную с другой php-страницы

Это таблица событий, которые отображаются на странице пользователя, чтобы заказать событие

<?php 

$con = mysql_connect("localhost","root",""); 

if(!$con) 
{ 
    die('Could not connect: ' . mysql_error()); 
} 

mysql_select_db("flexiflash", $con); 

    // Creating the foundations for the table headings // 
    echo "<thead>"; 
    echo "<tr>"; 
     echo "<th>ID</th>"; 
     echo "<th>Venue</th>"; 
     echo "<th>Event</th>"; 
     echo "<th>Date</th>"; 
     echo "<th>Time</th>"; 
     echo "<th></th>"; 
    echo "</tr>"; 
    echo "</thead>"; 

    // Running a JavaScript function to check for the user's payment type before submitting the form to book_event.php // 
    echo '<script> 
     function check() { 

     if (document.getElementById("checkbox").checked && document.getElementById("card").checked) 
     { 
      alert("Pay by card with 20% off"); 
      return true; 
     } 
     else if (document.getElementById("checkbox").checked && document.getElementById("paypal").checked) 
     { 
      alert("Pay via PayPal with 20% off"); 
      return true; 
     } 
     else if (document.getElementById("card").checked) 
     { 
      alert("Pay by card without a voucher!"); 
      return true; 
     } 
     else if (document.getElementById("paypal").checked) 
     { 
      alert("Pay via PayPal without a voucher!"); 
      return true; 
     } 
     else 
     { 
      alert("Nothing was checked. Please select your payment type"); 
      return false; 
     } 
    } 
    </script>'; 

$result = mysql_query("SELECT * FROM events"); 

while($row = mysql_fetch_array($result)) 
{ 
    // Outputting the data from the $result variable into a formatted table // 
    echo "<tbody>"; 
    echo "<form class='table-form' action='book_event.php' method='post' onsubmit='return check()'>"; 
    echo "<tr>"; 
     echo "<td>" . $row['Event_ID'] . "</td>"; 
     echo "<td>" . $row['Event_Venue'] . "</td>"; 
     echo "<td>" . $row['Event_Name'] . "</td>"; 
     echo "<td>" . $row['Event_Date'] . "</td>"; 
     echo "<td>" . $row['Event_Time'] . "</td>"; 
     echo "<td><input type='submit' class='sub_btn' value='Book now'></td>"; 
    echo "</tr>"; 
    echo "</form>"; 
    echo "</tbody>"; 
} 

mysql_close($con); 
?> 

Если вам нужно больше кода или любой другой информации, пожалуйста, не стесняйтесь спрашивать.

Я знаю, что мой код невелик, и я использую javascript внутри своего php, но я все еще изучаю php. Только делал это около 2 месяцев, поэтому я знаю, что это не самое лучшее.

Спасибо за помощь, если вы делаете :)

+3

использовать глобальную переменную '$ _SESSION' – codepixlabs

+1

Btw не использует так много выражений эха. Вы можете закрыть тэг php (?>) И написать обычный html, а затем открыть его снова, когда вам нужно. В противном случае одно эхо-заявление с разрывами строк в нем будет работать отлично. – Roy

+0

Я использую сеансы, просто не на этой странице, так как я включаю его только на другой странице. – niven300

ответ

0

Если страница, которую вы отправляете свои данные на том же хосте, то сессия может быть, что ты ищешь. Вы также можете использовать форму для данных POST, посредством действия формы на другую страницу для обработки данных. Если данные нечувствительны, вы можете передавать vars между страницами с помощью GET или даже файлов cookie, но кажется, что передача данных не является для вас главной проблемой.

Один из вариантов, чтобы посмотреть на это создание отдельной страницы для обработки обработки формы и вставить данные, это можно назвать в the form action tag

Похоже, вы новичок в этом, и это, возможно, более усложнять, но это стоит посмотреть на MVC to separate concerns.

+0

Спасибо за ответ, я обязательно посмотрю. – niven300

+0

, что мне кажется, это event_ID здесь echo "". $ row ['Event_ID']. ""; так что я могу использовать это на странице бронирования, чтобы вставить данные из таблицы в мою базу данных. – niven300

Смежные вопросы