Daftar dan Belajar Sekarang!

Input data ke dalam tabel yang memiliki foreign key di dalamnya

foto Windasalsa
4 Kontribusi 0 Coto
6 bulan yang lalu
Permisi, mau tanya dong, saya mau bikin aplikasi berbasis web menggunakan html dan php dan mysql sbg basis data nya. jadi ada dua tabel. tabel pertama namanya user isinya id_user(pk), username, password, nama, alamat, notelp, email. Lalu tabel kedua namanya rekening isinya id_rek(pk), id_user(fk), no_rek, nama_rek. Untuk primary key dari kedua tabel (id_user dan id_rek) saya menggunakan auto increment. Saya ingin menginputkan data ke dalam tabel rekening lalu menampilkannya. Kodingannya seperti apa yah jika menginputkan ke dalam tabel yang memiliki foreign key? Terimakasih, mohon bantuannya. Berikut source code kodeakun.php untuk menampilkan form nya
<html>
<?php
include 'koneksi.php';
session_start();
$usr = $_SESSION['username'];
$e = mysqli_query($koneksi, "select * from user where username='$usr'");
// hitung hasil dan cek ada atau tidaknya data
$is_exist = mysqli_num_rows($e);
if($is_exist>0){
// keluarkan hasil
$r = mysqli_fetch_assoc($e);
$_SESSION['id_user'] = $r['id_user'];
$_SESSION['username_user'] = $r['username']; 

}else{
die('username atau password tidak ditemukan');
}
?>
<form action="input-aksi.php" method="post">		
<div class="panel-body">
<div class="input-group"> <span class="input-group-addon">Nomor Akun</span> <i><input class="form-control" placeholder="contoh : 101" type="text" name="no_rek"></i></div>
									<br>
<div class="input-group">
<span class="input-group-addon">Nama Akun</span><i><input class="form-control" placeholder="contoh : KAS" type="text" name="nama_rek"></i></div>
									<br>
<button type="submit" class="btn btn-info" name="simpan">Simpan</button>
</div></form>
</html>
Berikut source code input-proses.php
<?php
include 'koneksi.php';
// menyimpan data kedalam variabel
session_start();
$usr = $_SESSION['username'];
	
$no_rek           = $_POST['no_rek'];
$nama_rek         = $_POST['nama_rek'];


// query SQL untuk insert data
$a="select id_user from user where username='$usr'";
$b="INSERT INTO rekening SET id_rek='',id_user='$id_user',no_rek='$no_rek',nama_rek='$nama_rek'";

mysqli_query($koneksi,$a,$b);

header("location:index.php")
?>
  • coba lampirkan code yang udah kamu buat, kodingannya seperti apa ya itu tergantung si programmer nya mau seperti apa.. - cintadewiamelia
  • Sudah saya cantumkan kak code nya - Windasalsa

Jawaban
foto bosque
147 Kontribusi 73 Coto
6 bulan yang lalu
saya asumsikan kamu sdh berhasil menampilkan data user. lalu kamu oper id user ke dalam tabel rekening.
//memasukkan data ke tabel rekening
$sql= mysqli_query($conn,'INSERT INTO tbl_rekening('$id_user','$no_rek', '$nama_rek'); 
//menampilkan data di tabel rekening
$query = mysqli_query($conn, 'SELECT u.nama, r.* FROM rekening r INNER JOIN user u ON u.id_user = r.id_user');
  • Untuk menampilkan data nya masih belom bisa kak. Code nya saya cantumkan diatas - Windasalsa
  • Kamu salah di query insertnya, harusnya insert into namaTable(fields) values(data) dan pastikan juga id user yg mau di masukkan hrs ada - bosque

foto Windasalsa
4 Kontribusi 0 Coto
6 bulan yang lalu
Untuk menampilkan data nya masih belum bisa kak. Source code nya saya cantumkan diatas

foto irya
59 Kontribusi 12 Coto
6 bulan yang lalu
sialahkan sesuaikan dengan kebutuhan. semoga bisa membantu
<form action="input-aksi.php" method="post">		
	<div class="panel-body">
		<div class="input-group"><span class="input-group-addon">Nomor Akun</span> <i>
			<input class="form-control" placeholder="contoh : 101" type="text" name="no_rek"></i>
		</div>
		<br>
		<div class="form-group">
			<label>Nama Akun</label>
			<select id="kd_desa" class="form-control" name="id_user">
				<?php 
				$sql = mysqli_query($koneksi,"SELECT * FROM user");
				while ($result = mysqli_fetch_array($sql)) {
				?>
				<option value="<?php echo $result['id_user'] ?>"><?php echo $result['nama'] ?></option>
				<?php } ?>
			</select>
		</div>
		<br>
		<button type="submit" class="btn btn-info" name="simpan">Simpan</button>
	</div>
</form>
proses input
<?php
include 'koneksi.php';

$no_rek = $_POST['no_rek'];
$id_user = $_POST['id_user'];

$sql = mysqli_query($koneksi, "INSERT INTO rekening (id_rek,id_user,no_rek) VALUES ('$id_rek','$id_rek','$no_rek')");
header("location:index.php")
?>
menampilkan
<?php
include 'koneksi.php';
$id_rek = isset($_POST['id_rek']) ? $_POST['id_rek'] : '';
$tampil = mysqli_query($koneksi, "SELECT id_rek,no_rek,id_user,nama FROM user JOIN rekening USING (id_user)");
while ($ambil = mysqli_fetch_array($tampil)) {
	echo $ambil['id_rek'];
	echo $ambil['no_rek'];
	echo $ambil['nama'];
}
?>
  • Kak maaf ntuk nama akun itu maksud saya bukan nama user, tapi nama_rek. Akun yang dimaksud adalah nama akun dalam akuntansi - Windasalsa

foto irya
59 Kontribusi 12 Coto
6 bulan yang lalu
<form action="input-aksi.php" method="post">		
	<div class="panel-body">
		<div class="form-group">
			<?php
			if ($_SESSION['username']) {
				$username = isset($_GET['username']) ? $_GET['username'] : '';
				$user = mysqli_query($conn,"SELECT * FROM user WHERE username='$_SESSION[username]'");
				while ($nama = mysqli_fetch_array($user)) {
				?>
					<input type="hidden" name="id_user" class="form-control" value="<?php echo $nama['id_user'] ?>">
				<?php }
			}
			?>
		</div>
		<div class="input-group"><span class="input-group-addon">Nomor Akun</span> <i>
			<input class="form-control" placeholder="contoh : 101" type="text" name="no_rek"></i>
		</div>
		<br>
		<div class="form-group">
			<div class="input-group">
			<span class="input-group-addon">Nama Akun</span><i>
				<input type="text" class="form-control" placeholder="contoh : KAS" type="text" name="nama_rek"></i>
			</div>
		</div>
		<br>
		<button type="submit" class="btn btn-info" name="simpan">Simpan</button>
	</div>
</form>
dibagian proses inputnya ditambahin aja nama_rek nya (id_rek,id_user,no_rek,nama_rek) VALUES .....
  • Proses inputnya tidak perlu ditambahin session yah? - Windasalsa


Login untuk diksusi di forum sekolah koding