Я занимаюсь программированием на PHP. Я сделал регистрационную форму, которая имеетРегистрационная форма - флажок установлен в новые строки в базе данных
2 Text Area (для First Name и Last) 2 радиокнопок (Для выбора пола - не начал работу над этим еще) 8 флажками (по 4 для Предмета и Хобби)
у меня есть таблицы баз данных по имени лиц, который имеет
5 Колонны (FirstName, LastName, Пол, Subject, хобби)
данные из формы в настоящее время неправдоподобным, но каждый флажок вставляется в следующую строку под именем.
Например, Дэвид Бекхэм, читающий текст php asp и hobby tv вместо того, чтобы появляться в одной строке и против имени записи, они появляются в следующей строке.
Поскольку это мой первый раз, мой вопрос
Q1: - Это то, как запись для такой формы должны появиться? Q2: - Если нет, то где/в чем проблема? Q3: - Не могли бы вы помочь мне изменить код радиокниги или предоставить мне легкую ссылку, чтобы узнать его.
HTML FORM
<!DOCTYPE>
<html>
<head>
<title>Insert Data</title>
</head>
<body>
<h1> Insert to Register </h1>
<form name="form1" method="post" action="insert.php" >
<fieldset>
<legend> Registration Form </legend>
FirstName <input type="text" name="a" value="Enter firstname"/>
<br/><br/>
LastName <input type="text" name="b" value="Enter lastname"/>
<br/><br/>
<h3> Gender selection </h3>
Male <input type="radio" name="gender"/> female <input type="radio" name="gender"/>
<br/><br/>
<h3> Subject selection </h3>
<input type="checkbox" name="sb[]" value="php"/> PHP
<br/>
<input type="checkbox" name="sb[]" value="asp"/> ASP.NET
<br/>
<input type="checkbox" name="sb[]" value="html"/> HTML
<br/>
<input type="checkbox" name="sb[]" value="css"/> CSS
<br/><br/>
<h3> Hobbies selection </h3>
<input type="checkbox" name="hb[]" value="tv"/> Tv
<br/>
<input type="checkbox" name="hb[]" value="pc"/> Computer
<br/>
<input type="checkbox" name="hb[]" value="book"/> Reading books
<br/>
<input type="checkbox" name="hb[]" value="games"/> Games
<br/><br/>
<input type="submit" name="submit" value="Submit"/>
</fieldset>
</form>
</body>
</html>
PHP файл
<!DOCTYPE>
<html>
<head>
<title>Processing_Insert_main</title>
</head>
<body>
<?php
// =============== code for Connection_SQLi ==============================
$con=mysqli_connect("localhost","root","","Ismat_db");
//check connection
if(mysqli_connect_errno())
{
echo "Cannot connect to mysqli:" . mysqli_connect_error();
}
// =============== code for Submit_input type ================================
if(isset($_POST['submit']))
{
// ========== code for Name_TextArea ===============
$sqlta = "INSERT INTO persons(FirstName,LastName)VALUES ('$_POST[a]','$_POST[b]')";
if (!mysqli_query($con,$sqlta))
{
die('Error: ' . mysqli_error($con));
}
echo "record added for name<br/>";
// ====== code for subject_checkbox ================
$s = $_POST['sb'];
$how_many=count($s);
for($i=0;$i<$how_many;$i++)
{
echo "You Selected: " .$s[$i]."<br/>";
if(!mysqli_query($con,"INSERT INTO persons(Subject) VALUES('$s[$i]')"))
{
echo "Not Recorded".mysqli_error($con);
}
echo "Record Added for subject<br/>";
}
// ============ Code for Hobbies_checkbox ========================
$h = $_POST['hb'];
$how_many=count($h);
for($i=0;$i<$how_many;$i++)
{
echo "You Selected: " .$h[$i]."<br/>";
if(!mysqli_query($con,"INSERT INTO persons(Hobbies) VALUES('$h[$i]')"))
{
echo "Not Recorded".mysqli_error($con);
}
echo "Record Added for Hobby<br/>";
}
//============================================================
echo '<br/>'.'<a href="insert_main.html">'. "Back" . '</a>';
}
?>
</body>
</html>
У вас возникли проблемы с чем-то? Кажется, я не совсем понимаю, в чем ваш вопрос. Является ли ваша форма работы и данные фактически вставлены в вашу базу данных? Или это просто вопрос «как он размещен» в вашей базе данных? –
Привет @Fred мой код работает нормально, все, что выбрано, входит в базу данных, но значения из флажка (я) отображаются в следующей строке под именем в таблице, поэтому, если я выбрал 4 флажка, я будет иметь 5 строк, один для имени и четыре для каждого из них. Я не знаю, правильно ли это, как должны отображаться данные или что-то не так, а что? –
ах ок, я вижу. Ну, из того, что я увидел на SO, я сомневаюсь, что это хороший способ сделать это, и я не специалист в этой области. Сначала я бы поставил Google на ваш вопрос, и вы могли бы найти ссылку на (ответный) вопрос здесь, на SO. Я рассмотрю ваш код, чтобы узнать, могу ли я что-то придумать, но не подставляйте меня, приветствуйте. –