Kodları lütfen aşağıdaki butonları kullanarak renklendirin. Örnek: <php> echo "Selam Dünya"; </php>
Yardım
karakter kaldı

Php ile verilerin sayfaya dökülmesi

Asp bırakıp Php ile yeni ilgilenmeye başlayan biri olarak merak ettiğim bir konuyu sormak istiyorum.

diyelimki mysql den verileri sayfaya dökeceğiz.

1. sayfaya dökme şeklimiz verilerin tamamı olsun
2. ise sadece belirli bir id e ait verileri sayfaya dökmek olsun...

1. işlem için sql sorgumuz şu şekilde diyelim
mysql_query("Select * from tblUye");

2. işlem için sql sorgumuz şu şekilde diyelim
mysql_query("Select * from tblUye where id=1");

bu iki farklı sayfaya dökme işleminde kullanacağımız bağlantı türü farklı mıdır?
Bağlantı türü yanlış ifade olabilir kastettiğim sormak istediğim şu.

mysql_fetch_object()
mysql_fetch_array()
mysql_fetch_row()
mysql_fetch_assoc()

bunlardan başka var mı bilemiyorum ancak yukarıdaki iki işlemde hangisini kullanmam ve nasıl bir kodlama ile kullanmam gerekir tam bilmiyorum.
Nedir bunların kullanım alanı ya da birbirinden farkı ya da üstünlükleri yahut püf noktaları...
+0
-0
Cevaba KatılıyorumKatılmıyorum
Cevap Yaz Yorum Yaz Arşivime Ekle Takip Et

Cevaplar

  • kralmermi adlı üyenin fotoğrafı
    12 yıl önce yazılmış
    102 cevap - 6 soru
      $sorgu = mysql_query("Select * from tblUye"); 
      while($sonuc = mysql_fecth_assoc($sorgu))
    {
      echo $Sonuc[id]."<br>";
    }
    


    yukaridaki koddda tblUye tablosundaki butun verileri sayfana dokecektir. ben sadece id kısmını yazdirdim ayni sekilde butun alanlarini yazdirirsin.

      $sorgu = mysql_query("Select * from tblUye WHERE id='1'"); 
      $sonuc = mysql_fecth_assoc($sorgu);
      echo $Sonuc[id]."<br>";
    


    yukaridaki sorguda tblUye tablosundaki id 'si 1 olan veriyi yazdirirsin sadece tek bir veri yazdirmak istedigin icin while kullanmana gerek yok. ben sadece id kismini yazdirdim ayni sekilde butun olanlarini yazdirirsin

    mysql_fetch_object(), array, row(), assoc() hepsi ayni islemini yapicaktir.

    KOlay gele.
    • zyber adlı üyenin fotoğrafı zyber
      Merhaba,

      bir kaydı ve tüm kayıtları aynı özellik ya da
      mysql_fetch_object()
      mysql_fetch_array()
      mysql_fetch_row()
      mysql_fetch_assoc()
      lerden biri kullanarak açmak aynı olmamalıdır.
      aynı olsa neden bu kadar özellik oluşturulsun ki?
      Bunların herbirinin bir özelliği olmalıya da döndürdüğü sonuçlar açısından birbirlerine üstünlükleri vb. olmalı diye düşünüyorum.

      Söylemek istediğim şu id değerini almak ya da tüm verileri sayfaya dökmek değil amacım yukarıdaki özelliklerin hangi işlemlerde doğru olarak kullanmayı öğrenmektir.
      12 yıl önce yazılmış
    • kralmermi adlı üyenin fotoğrafı kralmermi
      //mysql_fetch_object örnegi
      
      mysql_connect("hostname", "user", "password");
      mysql_select_db("mydb");
      $result = mysql_query("select * from mytable");
      while ($row = mysql_fetch_object($result)) {
          echo $row->user_id;
          echo $row->fullname;
      }
      mysql_free_result($result);
      
      
      //mysql_fetch_array örneği
      mysql_connect("localhost", "mysql_user", "mysql_password") or
          die("Could not connect: " . mysql_error());
      mysql_select_db("mydb");
      
      $result = mysql_query("SELECT id, name FROM mytable");
      
      while ($row = mysql_fetch_array($result, MYSQL_NUM)) {
          printf("ID: %s  Name: %s", $row[0], $row[1]);  
      }
      
      mysql_free_result($result);
      
      //mysql_fetch_row örnegi
      $result = mysql_query("SELECT id,email FROM people WHERE id = '42'");
      if (!$result) {
          echo 'Could not run query: ' . mysql_error();
          exit;
      }
      $row = mysql_fetch_row($result);
      
      echo $row[0]; // 42
      echo $row[1]; // the email value
      
      //mysl_fetch_assoc() öneğinide ilk mesajimda gonderdim
      


      sonuc olarak butun yollar aynı kapiya cikiyor işlev ayni hangi yoldan gitmek istedigine sen karar vericeksin ve ayni kapiya cikicaksin en con ve genelde array ve assoc kullanılıyoru. OOP(Nesne TAbanlı Programlama) yazanlar ise object kullaniyolar. row u daha once hiç kullanmadım.

      Kolay gelsin
      12 yıl önce yazılmış
  • 3
    GncArt adlı üyenin fotoğrafı
    12 yıl önce yazılmış
    42 cevap - 13 soru
    tabikide hepsinin ayrı görevleri olmasına rağmen temelde yaptıkları şey aynı sadece çekilen verilere ulaşma biçimini değiştiryor. Ör:

    eğer "mysql_fetch_array" ı kullanırsan, gelen verinin sütun adına hem numara yazarak :
    $row[0] // id
    $row[1] // name 
    


    hem de sütun adını yazarak ulaşabilirsin:
    $row['id'] // id
    $row['name'] // name
    

    bu kullanım büyük projelerde sıkıntı yaşatabilir çünkü aynı veri için 2 farklı array yaratılıyor.


    eğer "mysql_fetch_assoc" kullanırsan verilere sadece sütun adı yazarak ulaşırsın:
    $row['id'] // id
    $row['name'] // name
    


    eğer "mysql_fetch_row" kullanırsan verilere sadece sütun rakamı yazarak ulaşırsın:
    $row[0] // id
    $row[1] // name 
    


    ve son olarak "mysql_feth_object" kullanırsan aynı nesne tabanlı programlamadaki gibi verileri çekersin:
    $row->id // id
    $row->name // name 
    



    ilk başlarda farklarını bilmediğim için array kullanıyordum ama şimdi farklarını öğrendiğim için genelde assoc işimi rahatlıkla görüyor.
    • zyber adlı üyenin fotoğrafı zyber
      Teşekkür ederim aslında aradığım tam da bu
      php geçmişi ile konuyla ilgili tecrübe ve düşünceleri görmek.
      Umarım konuyla ilgili diğer arkadaşlarda trcrübelerini bir kaç satırla da olsa paylaşırlar.
      12 yıl önce yazılmış
  • zyber adlı üyenin fotoğrafı
    12 yıl önce yazılmış
    57 cevap - 25 soru
    Şimdi şöyle bir genelleme yapabilir miyiz?

    $result = mysql_query("SELECT * FROM tblUye WHERE id='1'");
    


    şeklinde id numarasını çeken ya da mysql tablomuzda kayıtlı satırlaradan herhangi birini çekeceğimiz zaman

    mutlaka (performans ve profesyonel bir kodlama için....)
    $row = mysql_fetch_row($result);
    


    ile işlem yapılmalıdır. diyebilir miyiz?
  • Alexander adlı üyenin fotoğrafı
    12 yıl önce yazılmış
    29 cevap - 28 soru
    print_r ile ekrana yazdırarak bu fonksiyonların neler dönderdiğine bakabilirsin hem daha iyi kavramış olursun.

    $sorgu = mysql_query("Select * from tablo");
    print_r(mysql_fetch_object($sorgu));
    print_r(mysql_fetch_array($sorgu));
    print_r(mysql_fetch_row($sorgu));
    print_r(mysql_fetch_assoc($sorgu));
    
    • zyber adlı üyenin fotoğrafı zyber
      hmm bunu bilmiyordum deneyeyim hemen
      12 yıl önce yazılmış
    • zyber adlı üyenin fotoğrafı zyber
      sonuç

      mysql_fetch_row
      Array ( 
      [0] => 1 
      [1] => Ali 
      [2] => YILMAZ 
      )
      


      mysql_fetch_assoc
      Array ( 
      [id] => 1 
      [ad] => Ali
      [soyad] => YILMAZ
      )
      


      mysql_fetch_object  
      stdClass Object(
      [id] => 1 
      [ad] => Ali
      [soyad] => YILMAZ 
      )
      


      mysql_fetch_array
      Array( 
      [0] => 1 [id] => 1 
      [1] => Ali [ad] => Ali 
      [2] => YILMAZ [soyad] => YILMAZ 
      )
      


      Bir adım ilerledik. Katkısa bulunanlara teşekkürler.


      Ancak şu soruma hala net bir cevap alamadım.

      mysql databasemizdeki tbluye isimli tablomuzun içinde 100 tane satır-kayıt olsun

      Tek sorgu ile 100 kaydı sayfada gösterirken mysql_fetch_row ya da mysql_fetch_assoc kullanmak mantıklı gibi...

      peki bu 100 kayıttan sadece birini diyelimki id numarası 55 olan uye bilgilerini sayfada gösterirken where id=55.... hangisini seçmek gereklidir.

      Bunu şu düşüncemden dolayı özellikle soruyorum.

      1 kayıt çekmek ile 100 kaydı çekmede kullandığımız veri çekme metodu farklı olmalıdır diye düşünüyorum... yanılıyor muyum?
      12 yıl önce yazılmış