Tolong pilih kategori sesuai, jenis posting (pertanyaan atau bukan) dan sertakan tag/topik yang sesuai misal komputer, php, mysql, dll.
Promosi atau posting tidak pada tempatnya akan kami hapus.
Mencantumkan kode program di posting Anda, tolong ikuti aturan yang sesuai, baca http://diskusiweb.com/discussion/39204/aturan-cara-menyisipkan-kode-program-di-diskusiweb

Baca cara posting gambar/image di post Anda: http://www.diskusiweb.com/discussion/47345/cara-menyisipkan-menyertakan-image-pada-posting/p1

mohon bantuan looping

langsung aja gan, ane punya tabel angka neh, isinya 2, 3, 7, 9
<pre lang="php"> 
<?php
//koneksi
$source="localhost";$user="root";$pass="";$database="belajar";
mysql_connect($source,$user,$pass) or die (mysql_error());
mysql_select_db($database);
//lakukan query
        $sqlnilai=mysql_query("select angka from angka") or die (mysql_error());
        //mulai while ambil nilai
while ($k=mysql_fetch_array($sqlnilai)){
            $nilai=$k[0];
        //for mulai
        for ($i=1;$i<=10;$i++){
            if ($nilai==$i){
                echo $i."sudah ada<br>";
                    }
            else{ 
                echo $i."<br>";
                }
            //selesai for
        }
    //selesai while
    }
    
        ?>
</pre>
hasil perulangannya berantakan sekali

nah gmana caranya supaya tampilan perulangannya sperti ini?

1
2sudah ada
3sudah ada
4
5
6
7sudah ada
8
9sudah ada
10

Tanggapan

  • 1.
    tampung data dr db di variabel array
    lakukan for setelah while, bukan di dalam while
    perbandingan dgn array penampung data db

    2.
    gw kagak suka "gan", ini reply terakhir dr gw kalo gw masih baca kata yg sama
  • hahaha... abang @boo ngambekan deh.
    penasaran, kenapa sih sebel ama kata itu ?
    :-))
  • edited March 2013
    sapa juga yg ngambekan :P

    gw cuma mempertahankan budaya forum ini
    ini forum it, bukan kaskus, bukan detik
    dari dulu budayanya ya kaya gini, kagak ada yg suka gan
    jadi kagak perlu import budaya tetangga sebelah

    dimana bumi dipijak, disitu langit dijunjung
  • iye maaf bang
    begini maksudnya?

    while($k=mysql_fetch_array($sqlnilai)){
    $x[]=$k[0];
    }
            for ($i=1;$i<=13;$i++){
    if ($x[$i]==$i){
                echo $i."sudah ada<br>";
                      }
                else{ 
                    echo $i."<br>";
                    }
    }

    belum bisa juga, keluarnya 1 sampai 13 aja
  • edited March 2013
    ya kagak bisa model gitu ...

    $x[]=$k[0];    ... index kalo model $x[] spt itu mulai dari 0, bukan 1
    jadi kalo pake :

    for ($i=1;$i<=13;$i++){
      if ($x[$i]==$i) ...
      ...
    }

    pasti kelewat 1 yg ber index [0]

    jumlah elemen $x[] itu tergantung banyak data di db, dan kagak urut
    kalo di db adanya cuma : 2, 3, 7, 9
    $x[0] = 2
    $x[1] = 3
    $x[2] = 7
    $x[3] = 9

    itu belum kalo data di db kebalik-balik

    jadi kagak bisa elo pake : if ($x[$i]==$i)

    buka php manual, baca fungsi : in_array()
    - elo sudah punya array nya
    - elo sudah punya value yg mau dicari

    kalo pake in_array(), kagak perlu bingung index dan isi $x, biar di cek sendiri ama in_array()
    mau index mulai dari 0 kek, dari 1 kek, urut atau pun tidak, lompat atau pun lengkap ... tidak masalah


    ... atau ...

    elo bikin array value db bukan : $x[]=$k[0];
    tapi buat untuk menghasilkan, misal : $x[2] = 2 ... elo punya value "2" di $k[0]

    tapi kalo pake cara ini, banyak elemen array yg kagak terdefinisi
    lebih riskan utk kagak clean koding

    gw lebih prefer cara pertama
  • oke solved bang, ane gak tau in_array, gak pnh make , ini sdh slesai

    while($k=mysql_fetch_array($sqlnilai)){
    $x[]=$k[0];
    }
            for ($i=1;$i<=13;$i++){
    if (in_array($i,$x)){
                echo $i."sudah ada<br>";
                      }
                else{ 
                    echo $i."<br>";
                    }
    }
    terima kasih :)
  • ina.. emang in_array() apa ? maaf newbie banget nih, haha... :-p
Sign In or Register to comment.