我在3个文件中制作了2个表单:loginMHS.php
,inputPerwalian.php
,insertMataKuliah.php
。
我在数据库中有4个表:mahasiswa
,matakuliah
,kelas
,mahasiswa_kelas
。
mahasiswa
表包含以下字段:
nrp | nama | pass | jatah_sks | foto_profil
matakuliah
表包含以下字段:
kode_mk | nama | jumlah_sks | deskripsi
kelas
表包含以下字段:
kode_kelas | kode_mk | kode_periode | nama_kelas
mahasiswa_kelas
表包含以下字段:
nrp | kode_kelas
首先,loginMHS.php
出现了。它有一个表单,其输入存储在var $nrp
(来自mahasiswa
表)中。登录后,inputPerwalian.php
出现了。它也有一个表单,其输入存储在var $kodeMK
(来自matakuliah
表)& $namaKelas
(来自kelas
表)。然后,输入将被插入表mahasiswa_kelas
。
这是我的代码(输入无法存储到DB,但没有显示错误):
$sql = "select kode_kelas from kelas inner join mahasiswa_kelas"
. " on kelas.kode_kelas = mahasiswa_kelas.kode_kelas"
. " where nama_kelas=" . $namaKelas;
$result = mysqli_query($link, $sql);
$sql2 = "insert into mahasiswa_kelas (nrp, kode_kelas)"
. " values ($nrp, $result)";
$result2 = mysqli_query($link, $sql2);
$row2 = mysqli_fetch_array($result2);
我不知道如何插入它,而输入的数据来自另一个表。因为,据我所知,我不能在插入查询中使用内连接。怎么解决?请解释一下你的答案。感谢
答案 0 :(得分:1)
$result
会返回一个对象,因此您无法插入mysqli_fetch_row()
作为值。请查看他们如何使用mysqli_fetch_row在手册中处理它。这应该解决您的问题
更新:
不确定你的意思是'使用'但我想不是。 。 。继续阅读。您需要从if ($result = mysqli_query($link, $query)) {
/* fetch associative array */
while ($row = mysqli_fetch_row($result)) {
printf ("%s (%s)\n", $row[0], $row[1]);
}
free result set */ mysqli_free_result($result);
}`
解析数组。看看
mysqli_query()
更新2:
不确定我是否应该为你编写代码但是你去了。如上所述,mysqli_fetch_row()
将$ result作为对象返回。 $kode_kelas_value
将$ result作为数组返回。从正确的数组索引中获取值并分配给变量$sql = "select kode_kelas from kelas inner join mahasiswa_kelas"
. " on kelas.kode_kelas = mahasiswa_kelas.kode_kelas"
. " where nama_kelas=" . $namaKelas;
if ($result = mysqli_query($link, $sql)) {
while ($row = mysqli_fetch_row($result)) {
$kode_kelas_value = $row[0];
}
/*free result set */
mysqli_free_result($result);
}`
$sql2 = "insert into mahasiswa_kelas (nrp, kode_kelas)"
. " values ($nrp, $kode_kelas_value)";
$result2 = mysqli_query($link, $sql2);
$row2 = mysqli_fetch_array($result2);
。使用$ sql2查询将该变量插入到数据库中。
{{1}}
答案 1 :(得分:0)
您应该使用连接查询获取nrp,kode_kelas值。如果您完美地获得了这些值,那么您只需知道就可以插入。有任何疑问都会问我。
答案 2 :(得分:0)
首先,您可以从loginMHS.php获取nrp值。您必须将该nrp值传递给inputPerwalian.php。在inputPerwalian.php中,您可以获得kodemk的值。如果您提交该表格,您将获得2个重要的必需数据,即nrp和kodemk。现在你会有nrp和kodemk。
现在你必须使用nrp,kode_kelas插入mahasiswa_kelas。你已经有了nrp,但你没有kode_kelas。为了获得kode_kelas值,你必须通过select查询从kelas表中选择kode_kelas数据。
"SELECT kode_kelas FROM kelas where kode_mk = kodemk "
通过使用此查询,您可以获得kode_kelas值。
现在您可以在mahasiswa_kelas中插入nrp和kode_kelas值。
希望它会有所帮助。