Tolong pilih kategori sesuai, jenis posting (diskusi atau bukan) dan sertakan tag/topik yang sesuai seperti komputer, java, php, mysql, dll. Promosi atau posting tidak pada tempatnya akan kami hapus!
- Bagi Anda yang ingin mendaftar, baca link berikut:
http://diskusiweb.com/discussion/50491/how-to-registrasi-diskusiweb-com-baca-ini-terlebih-dahulu
- Cara menyisipkan kode program supaya tampil rapi dan terformat dengan baik di diskusiweb.com: http://www.diskusiweb.com/discussion/50415/cara-menyisipkan-kode-program-di-diskusiweb-com
- Cara posting gambar/image di post Anda: http://www.diskusiweb.com/discussion/47345/cara-menyisipkan-menyertakan-image-pada-posting/p1

Session php pada selectbox

permisi para mastah dweb ..
nubi pingin bertanya masalah session di php dengan kondisi tertentu, tapi entah bener atau tidak masalah dibawah ini adalah perkara session, jadi gini, ada proses submit berupa ajax yang menampilkan sebuah selectbox dan valuenya diambil dari Mysql:

proses.php
 <!--?php
if(isset($_POST['submit'])){
include "koneksi.php";
$kode = $_POST['kode_negara'];
echo "<select id='selectbox'-->";
$sql = mysql_query("SELECT negara FROM data WHERE kodeneg like '%$kode'");
while($baris = mysql_fetch_array($sql)){
echo "<option value="&quot;.$baris[" negara']."'="">".$baris['negara']."</option>";
}
echo "";
}
?&gt;

index.html
 
<title>Belajar</title>
&lt;script src="http://code.jquery.com/jquery-1.9.1.js"&gt;
<skript>
$(document).ready(function(){
$("#submit").click(function(){
var kode_negara = $("#kode_negara").val();
$.ajax({
type: "POST",
url: "proses.php",
data: "kode_negara="+kode_negara,
success: function(msg){
$("#hasil").show();
$("#hasil").html(msg);
}
});
});
});
&lt;/script&gt;
 
 
<form>
<input id="kode_negara" placeholder="Enter text .." type="text">
<input id="submit" value="submit" type="button">
<div id="hasil" style="display:none;"></div>
</form>
 
</skript>

Output (ceritanya)
<select id="selectbox">
<option value="indonesia">Indonesia</option>
<option value="singapura">Singapura</option>
<option value="thailand">Thailand</option>
</select>


Permasalahan
Ketika user pada aksi pertama kali memilih value selectbox "thailand" nah pemilihan user ini ditampung pada session gitu .. jadi ketika user close browser / refresh page / aksi kedua maka value yang bakal ke select pertama kali "thailand" padahal kalo menurut urutan value "indonesia,singapura,thailand" dan seterusnya mastah .. jadi urutan value select bukan berdasarkan data MySql lagi jika user sudah memilihnya .. solusinya gimana yah?

Comments

  • edited April 2016
    ada perintah nampung session kode negara tidak? dan session kode negara dipanggil tidak? kalau tidak ya berarti bukan session, kalo close browser atau url di enter tidak akan balik, tp kalo hanya refresh bisa jadi. tapi kalau melihat flow dari ajax, harusnya refresh pun tidak


  • belom ada session apapun kk..
    makanya aku nanya baiknya gimana yah?
  • itu script proses bener jalan begitu? and ngeluarin select dengan nilai? kalo tak liat sekilas sih gak mungkin, keluarnya pasti cuman select aja tanpa option
  • edited April 2016
    ini kk proses.php
    if(isset($_POST['kode_negara'])){
    include "koneksi.php";
    $kode = $_POST['kode_negara'];
    echo "<select id='selectbox'>";
    $sql = mysql_query("SELECT negara FROM data WHERE kodeneg='$kode'");
    while($baris = mysql_fetch_array($sql)){
    echo "<option value='".$baris['negara']."'>".$baris['negara']."</option>";
    }
    echo "</select>";
    }

    Masih salah ga kk?
  • oalah, salah keluar pas ngetik disini aja toh, script mu bener kok. udah coba pake browser lain?
  • edited May 2016
    aku pake browser mojila dimari kk ...
    contohnya ada dimari kk http://stackoverflow.com/questions/31212030/how-to-save-in-cookie-value-from-select-using-jquery

    ada contohnya aja aku masih kebingungan :(
  • edited May 2016
    lah lah, kamu pake cookie jquery dari contoh itu? dimana scriptmu yang pake cookie? kok gak ditampilin?
    jadi sebenernya pertanyaanmu mau pake cookie jquery atau gak? soalnya dipertanyaanmu diatas tidak mencerminkan kamu pake cookie
  • edited May 2016
    itu hanya contoh aja kk ..modelnya pingin kaya gitu aku hasil dari pemograman aku
    ada cookies/session gitu .. nah aku bingung buatnya seperti apa dari pemograman aku :(
  • edited May 2016
    sorry missleading, karna kamu tulis itu permasalahan, bahasanya jadi ambigu, kukira permasalahan yang kamu sebutkan itu kamu ketemu masalah value secara entah bagaimana tersimpan di cookie, padahal ndak ada deklarasi cookie disitu,
    jadi kamu itu sekarang pengennya select itu tersimpan di cookie?

    1. kalo mau pake jquery arahkan ke plugin jquery.cookie.js
    2. set cookie setelah $(#hasil).html(msg).

    $("#selectbox").on("change", function(){
    var hasilselect = $(this).val();
    alert(hasilselect);
    $.cookie("negara", hasilselect, {expires: 365, path: '/'})

    3. buat baca cookie nya
    $.cookie("negara",  { path: '/' });
    taruh sebelum create cookie,
  • edited May 2016
    wahaha udah dicoba tetep aja gatot kk, berikut scriptnya:
    <script>
    $(document).ready(function(){
    $("#submit").click(function(){
    var kode_negara = $("#kode_negara").val();
    $.ajax({
    type: "POST",
    url: "proses.php",
    data: "kode_negara="+kode_negara,
    success: function(msg){
    $("#hasil").show();
    $("#hasil").html(msg);
    $("#selectbox").on("change", function(){
    var hasilselect = $(this).val();
    alert(hasilselect);
    $.cookie("hasilnya", hasilselect, {expires: 365, path: '/'});
    });
    }
    });
    );
    });
    <script>

    mohon dikoreksi kk, jadi ketika klik "submit" lagi .. value yang keluar hasil loopingan MySql bukan berdasarkan value yang di select sebelumnya, dengan kondisi text "sama" pada inputan :(
  • itu baru set cookie, blom kamu read, urutannya gini

    1.tampil hasil
    2. read cookie, if !=undefined then set option yg nilainya sama dengan cookie "selected"
    3. baru fingsi onchange, dalam fungsi onchange kasih delete cookie sebelum set cookie
  • stetment if nya begini ga kk?
    var cokis = $.cookie("#selectbox");
    if(cokis != undefined){
    $("#selectbox option[value='cokis']").attr("selected","selected");
    }
    $("#selectbox").on("change", function(){
    var hasilselect = $(this).val();
    $.removeCookie('hasilnya');
    $.cookie("hasilnya", hasilselect, {expires: 365, path: '/'});
    });

    gatot kk .. mohon bantuannya, masih nubi buat main jquery soalnya :(

  • var cokis = $.cokis("negara");
    if (cokis!="undefined"){
    $("#selectbox option[value="+cokis+"]").attr("selected","selected");
    }
    gak usah pake path pas read, malah jadi ambigu dia nge set lagi, kurang ngasih taunya td mlm.


  • makasih kk udh sabar hajarin aku :D
    you're awesome!
  • edited May 2016
    kk @bigson16m, aku mau nanya terkait dengan postingan yang dimari http://diskusiweb.com/discussion/48921/session-php-pada-selectbox

    inikan bisa bekerja untuk 1 cookies, gimana yah kalo aku ada multiple cookies daan bentuknya dinamis?
    berikut filenya aku lampirkan:
    - index.html = http://pastebin.com/pbYiJQtT
    - proses.php = http://pastebin.com/L7Tf5cjn

    mohon bantuannya yah kk :(
    nanya nya jangan di inbox ya, di forum saja, biar sama2 belajar dan berguna buat yang lain.

    multi cookie itu tergantung nam cookie, mau bikin multiple cookie ya tinggal di set nama yang berbeda,
    $.cookie("hasilnya", hasilselect, {expires: 365, path: '/'});-> ini nanti cookienya berupa var hasilnya
    $.cookie("negara", hasilselect, {expires: 365, path: '/'});-> var cookie negara
    $.cookie("itunya", hasilselect, {expires: 365, path: '/'});-> var cookie itunya,
    3 cookies yang berbeda dengan value sama, hasilselect
  • edited May 2016
    hehe ga enak abisnya kk :D
    apalagi kasusnya udh kelar, eh malah nanya lagi ..

    jadi gini kasusnya kk..
    nih cookie jquery ga bisa bedain mana yg harus diganti berdasarkan id nya, jika text yang di input lebih dari satu. Mungkin ga unik kali yah id nya?

    misal:

    1. database
    - baris - kodeneg - negara
    - 1 - asia - indonesia | singapura | malaysia | ... (n)
    - 2 - eropa - belanda | inggris | wales | ... (n)
    - 3 - afrika - arab saudi | sundan | bahrain | ... (n)
    ................. (n)


    2. index.html
    <html>
    <head>
    <script type="text/javascript" src="https://code.jquery.com/jquery-1.9.1.js"></script>;
    <script type="text/javascript" src="https://raw.githubusercontent.com/carhartl/jquery-cookie/master/src/jquery.cookie.js"></script>;
    <script>
    $(document).ready(function(){
    $("#submit").click(function(){
    var kode = $("#kode").val();
    $.ajax({
    type: "POST",
    url: "proses.php",
    data: "kode="+kode,
    success: function(msg){
    $("#hasil").show();
    $("#hasil").html(msg);
    var cokis = $.cookie("hasilnya");
    if(cokis != "undefined"){
    $("#selectbox option[value='"+cokis+"']").attr("selected", "selected");
    }
    $("#selectbox").on("change", function(){
    var hasilselect = $(this).val();
    $.removeCookie("hasilnya");
    $.cookie("hasilnya", hasilselect, {expires: 365, path: '/'});
    });
    }
     
    });
    });
    });
    </script>
    </head>
    <body>
    <form>
    <input id='kode' type='text' placeholder='Enter text ..'></input>
    <input type='button' id='submit' value='submit'/>
    <div id='hasil' ></div>
    </form>
    </body>
    </html>


    3. proses.php
    <?php
    if(isset($_POST['kode'])){
    include "koneksi.php";
    $kode = $_POST['kode'];
    $explode = explode(" ", $kode);
    foreach ($explode as $value){
    echo "<select id='selectbox'>";
    $sql = mysql_query("SELECT negara FROM data WHERE kodeneg='$value'");
    while(list($baris) = mysql_fetch_array($sql)){
     
    echo "<option value='".$baris."'>".$baris."</option>";
     
    }
     
    echo "</select>";
    }
    }
    ?>


    4. Permasalahan ekstra
    jika aku ketik pada textfield "asia" maka akan muncul tuh select berupa

    <option value="indonesia">indonesia</option
    <option value="singapura">singapura</option>
    <option value="malaysia">malaysia</option>

    karena aku explode " | " dan count() .. cookie pun bekerja, lain hailnya jika aku ketik pada textfield "asia afrika eropa dan seterusnya .." select option nya muncul cuma cookie jquery ga berfungsi keseluruhan, hanya select yang pertama kali, nah gimana solusinya yah? :(
  • dbase mu gimana sih? structure dan isinya, gak mudeng yang kamu gimana,
  • ini kk model dbase aku http://pastebin.com/N2ypYUsU
    cuma masih sementara .. belum di insert semuanya hehe
  • ooo, ya query mu masih pake yang lama? query mu itu cuman buat select hasilnya 1 row

    harusnya querymu 
    SELECT negara FROM DATA WHERE kodeneg IN ('asia','amerika')
    nah bagian dalam kurung itu kamu ganti deh pake variable, kamu variable in tu inputanmu dan dibikin suapaya jadi text ('asia','amerika',dst)
  • bukan ntuh yang aku maksud kk .. tapi cookie jquerynya ga berfungsi untuk seleruh selectbox nya dari script yang aku jabarkan diatas :( mungkin SS ini bisa memperjelas

    image
  • script mu yang itu mana? nama selectnya aja dibedain buat ketiganya, cookie nya juga dibedain nama
  • Kalo nama selectnya statik kan buat bedainnya mudah, sedangkan nanti data aku banyak dan dibuat dinamis dengan memanfaatkan variable $value, nah itu gimana?
  • lha ya tinggal ikutin dari var querymu to, kan querymu juga mengikuti inputan kan jadinya, ya dipake var nya sebagai nama
  • masih belon paham kk @bigson16 karena baru pertama kali pake jquery cookie plugin :(
  • scriptmu mana yang buat nampilin 3 selectbox dari 1 textbox nya
  • selectboxnya auto generate kk @bigson16 dalam proses.php, jika ada teks setelah SPASI terhitung 1, berikut skripnya sama seperti diatas:

    <?php
    if(isset($_POST['kode'])){
    include "koneksi.php";
    $kode = $_POST['kode'];
    $explode = explode(" ", $kode);
    foreach ($explode as $value){
    echo "<select id='selectbox'>";
    $sql = mysql_query("SELECT negara FROM data WHERE kodeneg='$value'");
    while(list($baris) = mysql_fetch_array($sql)){
    echo "<option value='".$baris."'>".$baris."</option>";
    }
    echo "</select>";
    }
    }
    ?>

    ini bukan maksudnya kk?
  • ya select id nya jangan di statik dong kalo mau variable, ganti id='selectbox' itu dengan variable.
Sign In or Register to comment.