memanggil data dari database?

maaf saya mau nanya, kita-kira ini salahnya dimana ya, data dari database ngga bisa muncul? ini source code


<?php
#------- memulai page number -------------------------------------------------------------------------------------#
$dataPerPage = 5;
if(isset($_GET['hal']))
{
	$noPage = $_GET['hal'];
}else{
	$noPage = 1;
}
$offset   = ($noPage - 1) * $dataPerPage;
include "koneksi.php";
$ambil_data = mysql_query("select * from tbl_berita order by id_berita desc limit $offset, $dataPerPage",$koneksi);
$hitung_record = mysql_query("SELECT COUNT(*) AS jumData FROM tbl_berita",$koneksi);
$data          = mysql_fetch_array($hitung_record);
$jumData       = $data['jumData'];
$jumPage  = ceil($jumData/$dataPerPage);
# ceil digunakan untuk membulatkan hasil pembagian
#------- akhir page number -------------------------------------------------------------------------------------#

while($hasil_data = mysql_fetch_array($ambil_data)){
?>
	<div class="row-fluid">
      <div class="span4">
        <img data-src="holder.js/300x200" alt="300x200" src="<?=$hasil_data['gambar'];?>" style="width: 300px; height: 200px;">
      </div>

      <div class="span8">
          <h2><? $hasil_data['judul'];?></h2>
          <p style="text-align:justify;"><?=substr($hasil_data['isi'],0,500);?></p>
          <p>
          	<a href="lihatDetailBerita.php">Baca Selengkapnya</a>
			<h6>Diposkan pada : <?=$hasil_data['tanggal'];?></h6>
          </p>
      </div>
    </div>
    <hr>
<?php
}
?>

<!----  menampilkan page number di bawah post ------------>
<div class="pagination pagination-centered">
    <ul>
	<?php
		$link = "berita.php?link=lihatBerita.php&hal=";
		# menampilkan link previous
		if ($noPage > 1) echo  "<li><a href='".$link."".($noPage-1)."'>← Prev</a></li>";
		# memunculkan nomor halaman dan linknya
		for($jml_hal = 1; $jml_hal <= $jumPage; $jml_hal++)
		{
			if($noPage == $jml_hal){
				echo "<li class='disabled'><a href='#' style='cursor'>".$jml_hal."</a></li> ";
			}else{
				echo "<li><a href='".$link."".$jml_hal."'>".$jml_hal."</a></li> ";}
		}
		# menampilkan link next
		if ($noPage < $jumPage) echo "<li><a href='".$link."".($noPage+1)."'>Next →</a></li>";
		?>
    </ul>
</div>

ini adalah tampilan web yang tidak dapat memanggil data dari database.

ini tabel data di database :

avatar lastriani
@lastriani

28 Kontribusi 0 Poin

Diperbarui 7 tahun yang lalu

17 Jawaban:

kalo mau string index lebih baik tambahin 1 parameter lagi yakni MYSQLI_ASSOC di bagian fetch arraynya jadi kyk gini


$hasil_data = mysqli_fetch_array($ambil_data, MYSQLI_ASSOC)

kayaknya sih gara2 itu masalahnya, soalnya tanpa parameter kedua emang ada masalah, mungkin karena kalau defaultnya jadi ngereturn dua2nya number ama string index. sumber: https://stackoverflow.com/questions/13830244/the-second-parameter-of-mysqli-fetch-array

***saran sih kalo mau pake string index langsung, pake

$hasil_data = mysqli_fetch_assoc($ambil_data)

aja biar lebih cepet

avatar naufalhfzhn
@naufalhfzhn

172 Kontribusi 59 Poin

Dipost 7 tahun yang lalu

nah jadinya kaya gini kak kalo tambahin 1 parameter :

 $hasil_data = mysqli_fetch_array($ambil_data, MYSQLI_ASSOC)

ini source code keseluruhan :

 <?php
#------- memulai page number -------------------------------------------------------------------------------------#
$dataPerPage = 5;
if(isset($_GET['hal']))
{
	$noPage = $_GET['hal'];
}else{
	$noPage = 1;
}
$offset   = ($noPage - 1) * $dataPerPage;
include "koneksi.php";
$ambil_data = mysql_query("select judul,isi,gambar from tbl_berita order by id_berita desc limit $offset, $dataPerPage",$koneksi);
$hitung_record = mysql_query("SELECT COUNT(*) AS jumData FROM tbl_berita",$koneksi);
$data          = mysql_fetch_array($hitung_record);
$jumData       = $data['jumData'];
$jumPage  = ceil($jumData/$dataPerPage);
# ceil digunakan untuk membulatkan hasil pembagian
#------- akhir page number -------------------------------------------------------------------------------------#

$hasil_data = mysqli_fetch_array($ambil_data, MYSQLI_ASSOC){

?>
	<div class="row-fluid">
      <div class="span4">
        <img data-src="holder.js/300x200" alt="300x200" src="<?=$hasil_data['gambar'];?>" style="width: 300px; height: 200px;">
      </div>

      <div class="span8">
          <h2><? $hasil_data['judul'];?></h2>
          <p style="text-align:justify;"><?=substr($hasil_data['isi'],0,500);?></p>
          <p>
          	<a href="lihatDetailBerita.php">Baca Selengkapnya</a>
			<h6>Diposkan pada : <?=$hasil_data['tanggal'];?></h6>
          </p>
      </div>
    </div>
    <hr>
<?php
}
?>

<!----  menampilkan page number di bawah post ------------>
<div class="pagination pagination-centered">
    <ul>
	<?php
		$link = "berita.php?link=lihatBerita.php&hal=";
		# menampilkan link previous
		if ($noPage > 1) echo  "<li><a href='".$link."".($noPage-1)."'>← Prev</a></li>";
		# memunculkan nomor halaman dan linknya
		for($jml_hal = 1; $jml_hal <= $jumPage; $jml_hal++)
		{
			if($noPage == $jml_hal){
				echo "<li class='disabled'><a href='#' style='cursor'>".$jml_hal."</a></li> ";
			}else{
				echo "<li><a href='".$link."".$jml_hal."'>".$jml_hal."</a></li> ";}
		}
		# menampilkan link next
		if ($noPage < $jumPage) echo "<li><a href='".$link."".($noPage+1)."'>Next →</a></li>";
		?>
    </ul>
</div>

kalo yang langsung :

 $hasil_data = mysqli_fetch_assoc($ambil_data)

hasilnya tetap sama di line 20

avatar lastriani
@lastriani

28 Kontribusi 0 Poin

Dipost 7 tahun yang lalu

oalaah iya jelas salah diline 20 , whilenya kenapa ilang ? harusnya gk usah diilangin :D

harus kyk gini nih


while ( $hasil_data = mysqli_fetch_array($ambil_data, MYSQLI_ASSOC) ){

?>
	<div class="row-fluid">
      <div class="span4">
        <img data-src="holder.js/300x200" alt="300x200" src="<?=$hasil_data['gambar'];?>" style="width: 300px; height: 200px;">
      </div>

      <div class="span8">
          <h2><? $hasil_data['judul'];?></h2>
          <p style="text-align:justify;"><?=substr($hasil_data['isi'],0,500);?></p>
          <p>
          	<a href="lihatDetailBerita.php">Baca Selengkapnya</a>
			<h6>Diposkan pada : <?=$hasil_data['tanggal'];?></h6>
          </p>
      </div>
    </div>
    <hr>
<?php
}
?>
avatar naufalhfzhn
@naufalhfzhn

172 Kontribusi 59 Poin

Dipost 7 tahun yang lalu

:D maaf ka kurang fokus

tapi itu juga ngga bisa kak. jadinya kaya gini :

avatar lastriani
@lastriani

28 Kontribusi 0 Poin

Dipost 7 tahun yang lalu

pake fetch array, apa fetch assoc ?

avatar naufalhfzhn
@naufalhfzhn

172 Kontribusi 59 Poin

Dipost 7 tahun yang lalu

itu pake fetch assoc kak.

avatar lastriani
@lastriani

28 Kontribusi 0 Poin

Dipost 7 tahun yang lalu

maaf kurang fokus juga, coba yg bagian ini

 $ambil_data = mysql_query("select judul,isi,gambar from tbl_berita order by id_berita desc limit $offset, $dataPerPage",$koneksi);
$hitung_record = mysql_query("SELECT COUNT(*) AS jumData FROM tbl_berita",$koneksi);

diganti dg

 $ambil_data = mysqli_query($koneksi, "select judul,isi,gambar from tbl_berita order by id_berita desc limit $offset, $dataPerPage");
$hitung_record = mysqli_query($koneksi, "SELECT COUNT(*) AS jumData FROM tbl_berita");
avatar naufalhfzhn
@naufalhfzhn

172 Kontribusi 59 Poin

Dipost 7 tahun yang lalu

ingat parameternya mysqli_query($koneksi_db, $baru_querynya);

avatar naufalhfzhn
@naufalhfzhn

172 Kontribusi 59 Poin

Dipost 7 tahun yang lalu

malah tambah banyak kak.. :D

maaf kak jadi merepotkan..

avatar lastriani
@lastriani

28 Kontribusi 0 Poin

Dipost 7 tahun yang lalu

waduuh ya gini nih kalo bukan code sendiri bingung dari mana :D, coba saya lihat code yang sekarang ?

avatar naufalhfzhn
@naufalhfzhn

172 Kontribusi 59 Poin

Dipost 7 tahun yang lalu

iya kak padahal tinggal manggil dari databasenya aja lagi. cuman ngga bisa manggil itu.

 <?php
#------- memulai page number -------------------------------------------------------------------------------------#
$dataPerPage = 5;
if(isset($_GET['hal']))
{
	$noPage = $_GET['hal'];
}else{
	$noPage = 1;
}
$offset   = ($noPage - 1) * $dataPerPage;
include "koneksi.html";
$ambil_data = mysqli_query($koneksi, "select judul,isi,gambar from tbl_berita order by id_berita desc limit $offset, $dataPerPage");
$hitung_record = mysqli_query($koneksi, "SELECT COUNT(*) AS jumData FROM tbl_berita");
$data          = mysql_fetch_array($hitung_record);
$jumData       = $data['jumData'];
$jumPage  = ceil($jumData/$dataPerPage);
# ceil digunakan untuk membulatkan hasil pembagian
#------- akhir page number -------------------------------------------------------------------------------------#

while ( $hasil_data = mysqli_fetch_array($ambil_data, MYSQLI_ASSOC)){
?>
	<div class="row-fluid">
      <div class="span4">
        <img data-src="holder.js/300x200" alt="300x200" src="<?=$hasil_data['gambar'];?>" style="width: 300px; height: 200px;">
      </div>

      <div class="span8">
          <h2><? $hasil_data['judul'];?></h2>
          <p style="text-align:justify;"><?=substr($hasil_data['isi'],0,500);?></p>
          <p>
          	<a href="lihatDetailBerita.php">Baca Selengkapnya</a>
			<h6>Diposkan pada : <?=$hasil_data['tanggal'];?></h6>
          </p>
      </div>
    </div>
    <hr>
<?php
}
?>

<!----  menampilkan page number di bawah post ------------>
<div class="pagination pagination-centered">
    <ul>
	<?php
		$link = "berita.php?link=lihatBerita.php&hal=";
		# menampilkan link previous
		if ($noPage > 1) echo  "<li><a href='".$link."".($noPage-1)."'>← Prev</a></li>";
		# memunculkan nomor halaman dan linknya
		for($jml_hal = 1; $jml_hal <= $jumPage; $jml_hal++)
		{
			if($noPage == $jml_hal){
				echo "<li class='disabled'><a href='#' style='cursor'>".$jml_hal."</a></li> ";
			}else{
				echo "<li><a href='".$link."".$jml_hal."'>".$jml_hal."</a></li> ";}
		}
		# menampilkan link next
		if ($noPage < $jumPage) echo "<li><a href='".$link."".($noPage+1)."'>Next →</a></li>";
		?>
    </ul>
</div>

nah ini koding koneksinya kak :

 <?php
$server   = "localhost";
$username = "root";
$password = "";
$database = "ccan";

$koneksi = mysql_connect($server,$username,$password) or die ('Koneksi gagal');

if($koneksi){
	mysql_select_db($database) or die ('Database belum dibuat');
}

?>
avatar lastriani
@lastriani

28 Kontribusi 0 Poin

Dipost 7 tahun yang lalu

phpnya versi berapa ya ? check phpinfo

coba $koneksi diganti pake mysqli semua

$koneksi = mysqli_connect($server,$username,$password) or die ('Koneksi gagal');

if($koneksi){
	mysqli_select_db($database) or die ('Database belum dibuat');
}

***koreksi bagian ini gk ada tanda "="

 <h2><? $hasil_data['judul'];?></h2>
avatar naufalhfzhn
@naufalhfzhn

172 Kontribusi 59 Poin

Dipost 7 tahun yang lalu

ngga ngaruh kak itu. ditambah = atau ngga.

avatar lastriani
@lastriani

28 Kontribusi 0 Poin

Dipost 7 tahun yang lalu

phpny versi berapa?

harusnya emang pake tanda =

kalo emang masih gak bisa, coba balikan semua yang ada kata mysqli diganti mysql aja

avatar naufalhfzhn
@naufalhfzhn

172 Kontribusi 59 Poin

Dipost 7 tahun yang lalu

sudah kak ngga ada yang error cuman masih ngga muncul data yang ada di databasenya :D

avatar lastriani
@lastriani

28 Kontribusi 0 Poin

Dipost 7 tahun yang lalu

coba pake kode yang awal pas nanya , cuma $koneksi ditempatin diawal

 <?php

$ambil_data = mysql_query($koneksi, "select * from tbl_berita order by id_berita desc limit $offset, $dataPerPage");
$hitung_record = mysql_query($koneksi, "SELECT COUNT(*) AS jumData FROM tbl_berita");
?>

kalo masih gk bisa coba tes ada hasilnya atau nggak? print_r(mysql_num_rows($ambil_data); die();

avatar naufalhfzhn
@naufalhfzhn

172 Kontribusi 59 Poin

Dipost 7 tahun yang lalu

makasih kak ilmunya dan jawabannya. :D

avatar lastriani
@lastriani

28 Kontribusi 0 Poin

Dipost 7 tahun yang lalu

Login untuk ikut Jawaban