İçeriğin rss beslemesi kullanımda değil Soru - Cevap Bölümü / Kategori: Programlama

01/10/2008 - 12:56:19 cevap (7) Okunma : 502 Bu yazıyı 0 kişi tuttu.

PHP - Combobox da Varsayılan Seçim

Arkadaşlar size sorunu şöyle anlatayım;

Şimdi benim bir yazı ekleme panelim var. Kişi oradan yazılarını ekliyor. Birde combobox var o da dinamik ( php komutlarıyla ) katagorileri listeliyor. Kişi katagorisini seçiyor ve yazı ekleniyor. Daha sonra başka biri yazıyı düzeltmek isteyince ( tam da benim sorunum bu işte ) combobox da diğer adamın seçtiği varsayılan olsun. sanırım bu mmistanbulda mevcut.

Combobox a katagorilerimi ekleyen php komutları;


$arat=mysql_query("select * from katagoriler");
while ($yaz=mysql_fetch_array($arat)){
$isim=$yaz['isim'];
$id=$yaz['id'];
echo "<option value=$id>$isim</option>";
}

Şimdiden teşekkürler. İyi günler, iyi çalışmalar…

adres Yakari profilini göster
Harun Barış Bulut 01.10.2008 15:22:31
En iyi cevap mı ?

şöyle yapabilirsin. Misal daha önceden değiştirmek istediğin yazıyı


$yazi = mysql_fetch_assoc(..); 

diye aldın

while($yaz = mysql_...) {
   $isim = ...;
   $id = ...;
   $selectString = "";
   if($id == $yazi['CategoryID']) {$selectedString = "selected";} else {$selectedString = "";}
   echo "<option value=$id $selectedString>$isim</option>";
}

gibi yapabilirsin tabi ama bu kod yapına direkt uygulayabileceğin en kolay çözüm. Daha güzelleri de yok değil tabi.

adres youngwe profilini göster
Ertuğrul Erkan 01.10.2008 23:57:46
En iyi cevap mı ?

Kodlara baktım yanlız tam olarak yapısını anlayamadım. Benim verdiğim kodlara göre nasıl olabilir acaba :/ Ayrıca if yönetimi de düşündüm ama bağlantı kuramadım bir türlü.

Cevap için teşekkürler…

adres emrebakan profilini göster
Emre Bakan 04.10.2008 00:51:47
En iyi cevap mı ?

Merhaba,

Öncelikle, düzelti sayfasına giden linke örneğin http://benimhostum.com/duzenleme.php?id=yazarid şeklinde bir bilgi gönderme eki yapman gerekiyor. Burada yazarid bölümüne yazarın id numrası yazılacak.

Bu sayfada ise gönderilen bilgiyi alarak kodU şöyle düzenlemen mümkün:


//Aşağıdaki satırla gönderilen sayfadan sonuna eklediğin "?id=yazarid" bilgisini alınıyor
$yazarId = $_REQUEST['yazarid'];

$arat=mysql_query("select * from katagoriler");
while ($yaz=mysql_fetch_array($arat)){
$isim=$yaz['isim'];
$id=$yaz['id'];
$selectedStr = "";

//Gönderen sayfadan gelen yazar id ile veritabanındaki id kaşılaştırılıyor ve aynıysa option satırına selected parametresi ekleniyor.
if($id == $yazarid){
$selectedStr = " SELECTED ";
}
echo "<option value=$id $selectedStr>$isim</option>";
}
adres youngwe profilini göster
Ertuğrul Erkan 04.10.2008 11:32:50
En iyi cevap mı ?

yanıt için teşekkürler yanlız çalıştıramadım;


<?php
$yaziid = $_GET["id"];

$arat=mysql_query("select * from katagoriler");
while ($yaz=mysql_fetch_array($arat)){
$isim=$yaz['isim'];
$id=$yaz['id'];
$selectedStr = "";

if($id == $yaziid){
$selectedStr = " SELECTED ";
}
echo "<option value=$id $selectedStr>$isim</option>";
}
    ?>

Kod hata vermedi yanlız çalışmadı da.

adres emrebakan profilini göster
Emre Bakan 04.10.2008 19:46:33
En iyi cevap mı ?

‘id’ değeri gönderici sayfadan bir form ile gönderiliyorsa $POST[’id’] kullanılıyor. $GET[’id’] ile get metodu kullanıyor. Gönderici sayfadaki kodunuz bilgiyi nasıl iletiyor onu kontrol eder misiniz. Ya da benim örneğimdeki $_REQUEST’i kullanıp denediniz mi? Bir de düzenleme sayfası açılıyorsa eğer onun koduna web browser’ın "kaynağı görüntüle" seçeneğiyle bakıp select box’a hangi değerler gelmiş onu kontrol edebilirsiniz. Hatayı bulmayı kolaylaştırır. Bir de option bloğunun başında <select> tagı olmalı. Yani kod söyle olsa daha doğru:


//Aşağıdaki satırla gönderilen sayfadan sonuna eklediğin "?id=yazarid" bilgisini alınıyor
$yazarId = $_REQUEST['yazarid'];
echo "<select id=\"yazar_id\" name=\"yazar_id\"> \n";

$arat=mysql_query("select * from katagoriler");
while ($yaz=mysql_fetch_array($arat)){
$isim=$yaz['isim'];
$id=$yaz['id'];
$selectedStr = "";

//Gönderen sayfadan gelen yazar id ile veritabanındaki id kaşılaştırılıyor ve aynıysa option satırına selected parametresi ekleniyor.
if($id == $yazarid){
$selectedStr = " SELECTED ";
}
echo "<option value=$id $selectedStr>$isim</option>\n";
}
echo "</select>\n";
adres youngwe profilini göster
Ertuğrul Erkan 05.10.2008 09:12:27
En iyi cevap mı ?

Teşekkürler hocam. Ondan değil ben de sorun varmış. Yazı nın id si yerine katagori nin id isi ile karşılaştırınca oldu.

Herkese iyi günler, iyi çalışmalar…

adres emrebakan profilini göster
Emre Bakan 05.10.2008 15:24:46
En iyi cevap mı ?

Önemli değil kardeşim. Gerçi kendin çözmüşsün. Ben de dikkat etmemişim, oysa ki sorguda kategoriler tablosundan veri isteniyor :)

aç-kapa Bu Yazıyı Tutanlar

bu yazıyı tutan kimse yok.

yeni üyelik | şifremi unuttum

aç-kapa Toplantı Kahraman ve need4code.com Projesi Connect Toplantısı

Kahraman ve need4code.com Projesi Connect Toplantısı

Selam arkadaslar, Programlama ile uğraşanların hayatlarını kolaylaştıracak desktop ve web tabanlı ortak iki proje ile ilgili 3. toplantımızı 3Aralık...
Kategori: Toplantı

aç-kapa Yarışma Fikir10000 Dijital Pazarlama Fikir Yarışması

Fikir10000 Dijital Pazarlama Fikir Yarışması

ADTECH tarafından düzenlenen Fikir10000 yarışmasına; dijital pazarlama ile ilgili size ait olan fikrinizle katılabilir ve 10.000 YTL’lik birinci...
Kategori: Yarışma

aç-kapa Yarışma 7Dx Demoscene Party

7Dx Demoscene Party

2002 yılından beri amatör bilgisayar kültürü ile ilgilenen insanları bir araya getirmeyi hedefleyen 7DX parti serisinin bu seneki ayağı olan 7D8 Demo ...
Kategori: Yarışma

aç-kapa Eğitim Türkiye'de İnternet Konferansı - Internet Teknolojileri Derneği -22-23 Aralık ODTÜ

Türkiye'de İnternet Konferansı - Internet Teknolojileri Derneği -22-23 Aralık ODTÜ

Etkin Katılım Çağrısı Türkiye’de Internet ile ilgili grupları biraraya getirerek İnternet’i tum boyutlarıyla tanıtmak, gelistirmek, tartı...
Kategori: Eğitim

aç-kapa Konferans Bilgi Güvenliği ve Kriptoloji Konferansı

Bilgi Güvenliği ve Kriptoloji Konferansı

Önemli Tarihler: Etkinlik Tarihi : 24-26 Aralık 2008 Son Bildiri Gönderme Tarihi : 20 Ekim 2008 Bildiri Kabul Tarihi Bildirimi :...
Kategori: Konferans

üyeler Son Kahramanlar...

stats Kimler Burada? web stats

Son 1 dakika içinde MMIstanbul' da 362 (1 kayıtlı, 361 ziyaretçi) kullanıcı varmış. Login durumda olanlar aşağıda:

coldfusion mysql ubuntu
 
sponsor adobe istanbul