lostyazilim
tr.link

Selectbox tekrarlanan veri

9 Mesajlar 951 Okunma
lstbozum
tr.link

efegungor efegungor WM Aracı Kullanıcı
  • Üyelik 18.09.2018
  • Yaş/Cinsiyet 35 / E
  • Meslek gıda mühendisi
  • Konum Bursa
  • Ad Soyad E** G**
  • Mesajlar 13
  • Beğeniler 7 / 1
  • Ticaret 0, (%0)
Merhabalar, localhostta çalıştığım bir scriptte selectbox ile ilgili bir sorunum var.

Veritabanı üzerinden verileri çekip selectboxa while döngüsü ile aktarıyorum fakat varsayılan olarak daha önce girilmiş olan veriyi göstermek istiyorum. Bunu yaptığımda ise hem daha önce girilen veri olduğu yerinde kalıyor hem de while döngüsü ile gelen verilerden bir tanesi doğal olarak varsayılan veri ile aynı bu yüzden varsayılan ve while döngüsü ile db den gelen veri kendini tekrarlamış oluyor bunun nasıl engelleneceğini kafamda çözmeme rağmen kod bilmediğimden gerçekleştiremiyorum. Bu konuda yardımlarınızı bekliyorum.


function birimgetir ($a) {
global $baglanti;
$birimgetir=$baglanti->query("SELECT ad FROM birim");
$option = '';
while($row1 = $birimgetir->fetch(PDO::FETCH_ASSOC))
{
$option .= '';
}
echo $option;
}
 

 

wmaraci
reklam

MuhammedArslan MuhammedArslan Msa Web Tasarım Kullanıcı
  • Üyelik 19.02.2017
  • Yaş/Cinsiyet 24 / E
  • Meslek Web Developer
  • Konum Bursa
  • Ad Soyad M** A**
  • Mesajlar 933
  • Beğeniler 136 / 276
  • Ticaret 11, (%100)

if ( $a != $row1['ad'])
{$option.=''.$row1['ad'].'';}

Galiba bunu istiyorsun?
efegungor

kişi bu mesajı beğendi.

efegungor efegungor WM Aracı Kullanıcı
  • Üyelik 18.09.2018
  • Yaş/Cinsiyet 35 / E
  • Meslek gıda mühendisi
  • Konum Bursa
  • Ad Soyad E** G**
  • Mesajlar 13
  • Beğeniler 7 / 1
  • Ticaret 0, (%0)
Öncelikle cevap için teşekkürler fakat bunu while döngüsünün içine yazdığım zaman bu sefer sadece varsayılan veri çağrılıyor. Önceki durumdaki görüntü de bu şekildeydi.

 

 

MuhammedArslan MuhammedArslan Msa Web Tasarım Kullanıcı
  • Üyelik 19.02.2017
  • Yaş/Cinsiyet 24 / E
  • Meslek Web Developer
  • Konum Bursa
  • Ad Soyad M** A**
  • Mesajlar 933
  • Beğeniler 136 / 276
  • Ticaret 11, (%100)
Değerleri option degiskeninde tutup tek bir seferde basmk yerine direk tek tek basmayı dener misin.
Yani $option yerine direk echo yaz.
efegungor

kişi bu mesajı beğendi.

wmaraci
wmaraci

efegungor efegungor WM Aracı Kullanıcı
  • Üyelik 18.09.2018
  • Yaş/Cinsiyet 35 / E
  • Meslek gıda mühendisi
  • Konum Bursa
  • Ad Soyad E** G**
  • Mesajlar 13
  • Beğeniler 7 / 1
  • Ticaret 0, (%0)
<script>
$("#birim option").val(function(idx, val) {
$(this).siblings('[value="'+ val +'"]').remove();
});
</script>


Bu kodu ekleyerek düzeltmeyi başardım. Fakat ne kadar mantıklı oldu bilemedim ben direk php ile halledebileceğimi düşünüyordum.
 

 

MuhammedArslan MuhammedArslan Msa Web Tasarım Kullanıcı
  • Üyelik 19.02.2017
  • Yaş/Cinsiyet 24 / E
  • Meslek Web Developer
  • Konum Bursa
  • Ad Soyad M** A**
  • Mesajlar 933
  • Beğeniler 136 / 276
  • Ticaret 11, (%100)

if ( $a != $row1['ad'])
{
echo ''.$row1['ad'].'';}

Şeklinde sorunsuz olması lazım. En basit if yapısı bu :)
efegungor

kişi bu mesajı beğendi.

efegungor efegungor WM Aracı Kullanıcı
  • Üyelik 18.09.2018
  • Yaş/Cinsiyet 35 / E
  • Meslek gıda mühendisi
  • Konum Bursa
  • Ad Soyad E** G**
  • Mesajlar 13
  • Beğeniler 7 / 1
  • Ticaret 0, (%0)
function getir ($a,$b) {
global $baglanti;
$sql=$baglanti->query("SELECT ad FROM $b");
$option = '';
while($row = $sql->fetch(PDO::FETCH_ASSOC))
{
if ( $a != $row1['ad'])
{$option.=''.$row1['ad'].'';}

}
echo $option;

}
?>




Kodu bu şekilde güncellediğimde sadece tek bir veri görünüyor.


include ("header.php");
$sql=$baglanti->prepare("SELECT * FROM uyemalzeme");
$sql->execute();
if ( $sql->rowCount() ){
echo "







";
foreach( $sql as $row){
$sql2=$baglanti->prepare("SELECT ad FROM malzeme WHERE id=?");
$sql2->execute(array($row["malzeme"]));
$rows = $sql2->fetch(PDO::FETCH_ASSOC);

echo '







';

}
echo '



ID Adı Birim Fiyat Tür



';
}

?>
 

 

efegungor efegungor WM Aracı Kullanıcı
  • Üyelik 18.09.2018
  • Yaş/Cinsiyet 35 / E
  • Meslek gıda mühendisi
  • Konum Bursa
  • Ad Soyad E** G**
  • Mesajlar 13
  • Beğeniler 7 / 1
  • Ticaret 0, (%0)
function getir ($a,$b) {
global $baglanti;
$sql=$baglanti->query("SELECT ad FROM $b");
echo '';
while($row = $sql->fetch(PDO::FETCH_ASSOC)){
if ( $a != $row['ad']){
echo '';
}
}
}
?>


Bahsettiğiniz gibi kodu bu şekilde güncelledim ve çalıştı teşekkürler.
MuhammedArslan

kişi bu mesajı beğendi.

ClkOfis ClkOfis http://www.clkofis.com Kullanıcı
  • Üyelik 03.10.2015
  • Yaş/Cinsiyet 29 / E
  • Meslek Yazılım ve Tasarım
  • Konum Bursa
  • Ad Soyad E** Ç**
  • Mesajlar 228
  • Beğeniler 43 / 61
  • Ticaret 11, (%91)
if($row1["ad"]==$a) $s = 'selected';
else $s = '';
$option .= '';
efegungor

kişi bu mesajı beğendi.

wmaraci
wmaraci
Konuyu toplam 1 kişi okuyor. (0 kullanıcı ve 1 misafir)
Site Ayarları
  • Tema Seçeneği
  • Site Sesleri
  • Bildirimler
  • Özel Mesaj Al