|
Yazan
|
Konu: Fonksiyon Parametreleri (Okunma Sayısı 478 defa)
|
beyhan80
Yeni Kullanıcılar
Offline
Mesaj Sayısı: 50
|
Arkadaşlar çoktandır uğraşıyorum...Bir portaldeki veritabanındaki bütün kullanıcıları bir select açılır menüsünde göstermek istiyorum. Bunun için while döngüsünden yararlandım. Ancak bunu kodları bir fonksiyon başlığı altında birleştirip "$sira_no,$sutun_ad,$tablo_adi" şeklinde paramatreler geçirerek diğer tablolardaki verileride bu şekilde kullanmak istiyorum.. Fonksiyonlar konusuna çok vakıf olmadığım için takılıp kaldım. Bu hususta acil yardımlarınızı bekliyorum arkadaşlar.. Şimdiden teşekkürler... Yazdığım Kod: <?php include ('fonksiyon/db_fonksiyon.php'); baglan ();
function uyeler ($sira_no,$sutun_ad,$tablo_adi){ echo '<select name="isimler" > <option>--İsimler--</option>'; $uye_liste = mysql_query("SELECT uye_no,uye_adi FROM uye_tablo WHERE uye_no ORDER BY uye_adi ASC"); while($uyeler = mysql_fetch_array($uye_liste)) { $uye_no = $uyeler["uye_no"]; $uye_adi = $uyeler["uye_adi"]; echo '<option value="'.$uye_no.'"'; if ($uye_id==2) echo 'selected'; echo '>'.$uye_adi.'</option>'; } }
uyeler();
?> //BU KODDA NASIL BİR DÜZENLEME YAPMALIYIMKİ // function isim ($sira_no,$sutun_ad,$tablo_adi) ŞEKLİNDE YAZDIĞIMDA BAŞKA BİR TABLODAKİ VERİLERE ULAŞABİLEYİM....
|
|
|
|
« Son Düzenleme: 21, 2005, 02:52:51 pm Gönderen: beyhan80 »
|
Logged
|
|
|
|
Witkey
Ziyaretçi
|
:S çok karmakarışık yazmışsın.  + ne yapmak istedigini daha rahat acıklarsan ve veritabanındaki alanları yazarsan daha iyi olur Çözüm bulabiliriz.
|
|
|
|
« Son Düzenleme: 21, 2005, 02:47:53 pm Gönderen: Witkey »
|
Logged
|
|
|
|
beyhan80
Yeni Kullanıcılar
Offline
Mesaj Sayısı: 50
|
Veritabanında çok sayıda tablo var.. Ve bir tane fonksiyon yazarak sadece tablodaki alan adlarını yazarak bunları select menüsü içerisinde göstermeye çalışıyorum. Bu kodlar ışığında bunu nasıl yapabilirim?
|
|
|
|
|
Logged
|
|
|
|
Allow-Man
Alaattin Kahramanlar
PHP Öğrencisi
Offline
Mesaj Sayısı: 111
|
Hızlıca bir şeyler yazdım senin için bak bakalım işini görecek mi? <?php
function tabloDump($selectAlanAdi, &$SorgulanacakAlanlar, $tablo, &$sonuc, $kriter=1, $limit=0, $siralama=1) { include_once('fonksiyon/db_fonksiyon.php'); baglan(); $x = 0; // Arrayle gelen sorgu alanlarini birlestir... $sorguAlanlari = ""; while($x<count($SorgulanacakAlanlar)) { $sorguAlanlari .=$SorgulanacakAlanlar[$x].","; $x++; } // Sorgu alanlarinin sonundaki fazladan virgülü at... $sorguAlanlari = substr($sorguAlanlari,0,-1);
// Limit degeri verilmisse ve verilmemisse 2 farkli sorgu olacak... if($limit==0) $sorgu = "SELECT ".$sorguAlanlari." WHERE ".$kriter." ORDER BY ".$siralama; else $sorgu = "SELECT ".$sorguAlanlari." WHERE ".$kriter." ORDER BY ".$siralama." LIMIT ".$limit; // Sorguyu calisalim $resId = @mysql_query($sorgu); $sonuc = "<select name=".$selectAlanAdi.">\n"; $x = 0; //Sorgu sonuclarini okuyup fonksiyona input arguman olarak gonderdigimiz degiskene yazalim... while ($data = @mysql_fetch_array($resId)) { if($x == 0) { $sonuc .= "<option value=\"".$data[$SorgulanacakAlanlar[0]]."\ selected=\"selected\">".$data[$SorgulanacakAlanlar[1]]."</option>\n"; $x++; } else { $sonuc .= "<option value=\"".$data[$SorgulanacakAlanlar[0]]."\">".$data[$SorgulanacakAlanlar[1]]."</option>\n"; } } $sonuc .= "</select>\n";
// fonksiyon/db_fonksiyon.php dosyasinda tanimladigin mysql_close() fonksiyonunu cagir... baglantiyiKes(); }
/******************** /*KULLANIM ORNEKLERI ... *********************/
// Butun ozellikleri ile bir kullanim... #Veritabanindaki ilgilendigimiz 2 sütun ismi $alanlar[0] = "uye_no"; $alanlar[1] = "uye_adi";
#Veritabaninda ilgilendigimiz tablo $tablomuz = "uyeler";
#Sorguda WHERE'den sonra gelecek ifade $kriterimiz = "uye_no>10";
#Sorgu limiti, belli sayida sonuc gostermek icin... $limitimiz = "10,50"; //10. kayıttan itibaren 50 kayıt göster...
#Cekilen bilgiler nasil siralansin? $siralamamiz = "uye_adi DESC";
#Select kutusunun formdaki adi ne olmali? $selectName = "uyeListesi";
#Ve biz bir degisken verecegiz arkadas sonucu ekrana degil o degiskene yazacak mesela; $HTMLuyeKutusu="";
tabloDump($selectName, $alanlar, $tablomuz, $HTMLuyeKutusu, $kriterimiz, $limitimiz, $siralamamiz);
// Bu satirdan sonra 5 satir ustteki $HTMLuyeKutusu degiskeni artik senin istedigin HTML kodlarini tasiyor olacak. // Bunu istedigin yerde bastirabilirsin..
echo $HTMLuyeKutusu; // Gibi...
//Bir de basit bir kullanim ornegi vereyim
#Veritabanindaki ilgilendigimiz 2 sütun ismi $alanlar[0] = "uye_no"; $alanlar[1] = "uye_adi";
#Veritabaninda ilgilendigimiz tablo $tablomuz = "uyeler";
#Select kutusunun formdaki adi ne olmali? $selectName = "uyeListesi";
#Ve biz bir degisken verecegiz arkadas sonucu ekrana degil o degiskene yazacak mesela; $HTMLuyeKutusu="";
tabloDump($selectName, $alanlar, $tablomuz, $HTMLuyeKutusu,,,);
// Bu satirdan sonra 5 satir ustteki $HTMLuyeKutusu degiskeni artik senin istedigin HTML kodlarini tasiyor olacak. // Bunu istedigin yerde bastirabilirsin..
echo $HTMLuyeKutusu; // Gibi...
?>
|
|
|
|
|
Logged
|
while(1) work;
|
|
|
|
 |