Merhaba, Ziyaretçi. Lütfen giriş yapın veya üye olun.
Aktivasyon mailiniz gelmediyse buraya tıklayın.
09, 2008, 02:40:50 am
42744 Mesaj 8090 Konu Gönderen: 17931 Üye
Son üye: medist
Turk-Php.Com Forum  |  Yardım Forumları  |  PHP Yardım Forumu  |  Fonksiyon Parametreleri « önceki sonraki »
Sayfa: [1] Yazdır
Yazan Konu: Fonksiyon Parametreleri  (Okunma Sayısı 482 defa)
beyhan80
Yeni Kullanıcılar
*
Offline Offline

Mesaj Sayısı: 50



Üyelik Bilgileri
Fonksiyon Parametreleri
« : 21, 2005, 02:02:48 pm »

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


E-Posta
Ynt: Fonksiyon Parametreleri
« Yanıtla #1 : 21, 2005, 02:30:46 pm »

:S çok karmakarışık yazmışsın. Sad + 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 Offline

Mesaj Sayısı: 50



Üyelik Bilgileri
Ynt: Fonksiyon Parametreleri
« Yanıtla #2 : 21, 2005, 02:51:56 pm »

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 Offline

Mesaj Sayısı: 111



Üyelik Bilgileri WWW
Ynt: Fonksiyon Parametreleri
« Yanıtla #3 : 21, 2005, 04:29:58 pm »

Hızlıca bir şeyler yazdım senin için bak bakalım işini görecek mi?

Kod:
<?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;
Sayfa: [1] Yazdır 
« önceki sonraki »
Gitmek istediğiniz yer:  


Turk-Php.Com Forum | SMF Forum Software © 2005, Simple Machines LLC. All Rights Reserved.