Suriani Kamal Ответов: 1

Как подключить 2 таблицы из одной базы данных ?


я новичок в PHP,SQL и хотел бы знать, можно ли подключить 2 таблицы из одной базы данных ? так что , когда я наберу то же самое название курса, оно уменьшит 1 свободное место от другого стола. мой код в беспорядке извините

Что я уже пробовал:

<?php 
	require_once ('Database.php'); 
	

	$Name = mysql_real_escape_string ($_REQUEST["Name"]);
	$Course_applied = mysql_real_escape_string ($_REQUEST["Course_applied"]);
	$Email = mysql_real_escape_string ($_REQUEST["Email"]);
	$Contact = mysql_real_escape_string ($_REQUEST["Contact"]);
	$Register_Date = mysql_real_escape_string ($_REQUEST["Register_Date"]);
	
	$sql = "SELECT * FROM tblregistercourse WHERE Name = '" . $Name . "'";

	$result = mysql_query ($sql, $dbconn);
	if (mysql_num_rows ($result) ) {
$sql =("UPDATE tblcourse SET Avail_Seats = Avail_Seats-1  WHERE tblcourse.Course_Name = tblregistercourse.Course_applied");
	}	
	else {
		$sql = "INSERT INTO tblregistercourse (Name, Course_applied, Email, Contact, Register_Date) VALUES ('" . $Name . "', '" . $Course_applied ."', 
		'" . $Email . "', '" . $Contact . "', '" . $Register_Date . "')";
		$result = mysql_query ($sql, $dbconn);
	}
		if ($result) {
			$message = "Registration Successful.";
  echo "<script type='text/javascript'>alert('$message'); window.location='coursedetails.php';</script>";
		} 
		else 
			$sql("UPDATE tblcourse SET Avail_Seats = Avail_Seats-1 WHERE tblcourse.Course_Name = tblregistercourse.Course_applied");
	
		
	echo json_encode($resultStr);
?>

1 Ответов

Рейтинг:
2

Dirk Bahle

Вы должны использовать представление на вашем бэкэнде базы данных SQL для подключения 2 таблиц - затем вы должны выбрать из этого представления. Это дает вам дополнительный уровень гибкости, потому что позже вы можете изменить свою базу данных, но это нормально, пока вы можете настроить свое представление - а это означает, что вам не нужно менять код в этом случае :-)

Ваш код показывает только одну вкладку

tblregistercourse
поэтому я не могу дать вам ответ, который будет соответствовать вашим предпосылкам. Но вы должны быть в состоянии решить эту проблему, если вы исследуете, как это сделать:

- Использование внутренних таблиц соединения в SQL MySQL :: MySQL 5.7 справочное руководство :: 13.2.9.2 синтаксис соединения[^] и
- Используйте этот оператор Select Join для создания представления MySQL :: MySQL 5.7 справочное руководство :: 13.1.21 создание синтаксиса представления[^]

Затем вы должны иметь возможность выбрать из представления, используя тот же оператор, который вы опубликовали выше:
$sql = "SELECT * FROM tblregistercourse WHERE Name = '" . $Name . "'";


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


Suriani Kamal

спасибо :)