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

29/04/2010 - 10:41:15 cevap (7) Okunma : 2381 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.

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 12: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 20: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 03.10.2008 21: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 08: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 16: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 06: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 12: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

üyeler Son Kahramanlar...

stats Kimler Burada? web stats

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

...

Blog Bölümü Blogevi.com'a Taşınıyor

Selam arkadaşlar MMIstanbul'da , tasarımcı ve programcıların blog yazılarını "feedleyerek" MMIstanbul okurlarını MMIstanbul dışın ...

7.500'üncü üyemiz Cem Koç!

Neler Yapılabilir?

500 Hatası Hakkında!

Reklam, MMIstanbul ve Yeni Projeler (Durumumuz Bu Tarzında)

coldfusion mysql ubuntu
 
sponsor adobe istanbul