• 28-11-2012, 14:02:06
    #1
    foreach kullanımında birden fazla değişken kullanımı varmı arkadaşlar?

    örneğin :

    $kodbara = array("PHP","MySQL","HTML","Css");
    foreach($kodbara as $anahtar => $deger){
    echo $deger." değerinin anahtar değeri: ".$anahtar."<br />";
    }
    döngüsünde ben şu satıra
    foreach($kodbara as $anahtar => $deger){
    daha fazla değişken yazabilirmiyim?
  • 28-11-2012, 15:49:29
    #2
    malesef yapamazsın. fakat şöyle bir şey yapabilirsin;

    $kodbara = array("PHP|Php ikinci verisi","MySQL|MySQL İkinci verisi","HTML|HTML ikinci verisi","Css|Css İkinci verisi");
    foreach($kodbara as $anahtar => $deger){
    
    	$bol = explode("|", $deger);
    	$birinci = $bol[0];
    	$ikinci = $bol[1];	
    		
    	echo $birinci ." (". $ikinci .")  değerinin anahtar değeri: ".$anahtar." <br />";
    	
    
    }
    dizi ya da değişken içine "|" ayracını kullanarak veri girebilirsin, sonra explode ile bölüp kullanırsın.
  • 28-11-2012, 15:57:15
    #3
    peki hocam bu değerler formdan geliyor. onu nasıl atamam gerekli söylediğiniz şekilde? yani formdan gelen verilerin aralarına nasıl çizgi koyabilirim?
  • 28-11-2012, 16:19:07
    #4
    formdan gelen verileri neden foreach ile döküyorsun anlamadım ama şöyle yapabilirsin.

    gelen verilerin

    $ad = $_POST['ad'];
    $soyad = $_POST['soyad'];

    olduğunu varsayarsak

    $veri = $ad ."|" .$soyad;

    yaparak ikisini tek değişkende birleştirebilirisin.
  • 28-11-2012, 18:38:42
    #5
    hocam şöyleki, formumdaki sorular cevaplar vb. veriler veritabanından geliyor. Dizi şeklindeler. Bende bu şekilde alabileceğimi düşündüm. Farklı bir yolu varsa söylerseniz sevinirim.
  • 28-11-2012, 18:58:21
    #6
    soru cevaplar tablolarının yapısını verirsen yardımcı olabilirim sanırım. Ama büyük ihtimalle for ile çıkacaksın işin içinden
  • 29-11-2012, 15:42:01
    #7
    Zafi adlı üyeden alıntı: mesajı görüntüle
    soru cevaplar tablolarının yapısını verirsen yardımcı olabilirim sanırım. Ama büyük ihtimalle for ile çıkacaksın işin içinden
    hocam aslında şöyle bir yapım var, sınavlarım var bu sınavlara bağlı bölümlerim var, bölümlere bağlı sorularım ve sorulara bağlı cevaplarım bulunmakta. Yani toplamda 4 bölümüm var sınav ile ilgili. Sayfaya döküm konusunda sıkıntım yok. İlgili sınava girildiğinde bölümleri ve o bölümlere ait soruları listeliyor, altlarındada o sorulara ait seçilecek cevaplar listeleniyor. Ancak benim sınav yapılıp kayıt düğmesine basıldığında bütün verileri yapılan sınavlar tablosuna kayıt etmem gerekiyor. Bunun içinde yapılan sınavlar tablosunda sınav id, bölüm id, soru id, cevap id, öğrenci id, öğretmen id gibi sütunlarım mevcut. Öyle bir döngü yapmam gerekli ki bütün bu verileri alabileyim ve veri tabanına kayıt edebileyim.
  • 05-12-2012, 22:03:09
    #8
    dj_nuz adlı üyeden alıntı: mesajı görüntüle
    hocam aslında şöyle bir yapım var, sınavlarım var bu sınavlara bağlı bölümlerim var, bölümlere bağlı sorularım ve sorulara bağlı cevaplarım bulunmakta. Yani toplamda 4 bölümüm var sınav ile ilgili. Sayfaya döküm konusunda sıkıntım yok. İlgili sınava girildiğinde bölümleri ve o bölümlere ait soruları listeliyor, altlarındada o sorulara ait seçilecek cevaplar listeleniyor. Ancak benim sınav yapılıp kayıt düğmesine basıldığında bütün verileri yapılan sınavlar tablosuna kayıt etmem gerekiyor. Bunun içinde yapılan sınavlar tablosunda sınav id, bölüm id, soru id, cevap id, öğrenci id, öğretmen id gibi sütunlarım mevcut. Öyle bir döngü yapmam gerekli ki bütün bu verileri alabileyim ve veri tabanına kayıt edebileyim.
    form yapısında bunların name'lerini dizi olarak gösterip, o dizinin length'i kadar for döndüreceksin. Ne yazıkki foreach işin içinden kurtulabileceğini sanmıyorum.
  • 06-12-2012, 13:00:28
    #9
    sınav id, bölüm id, öğrenci id, öğretmen id bunlar zaten sabir veriler sanırım her seferinde döngü içinde almana gerek yok. form içine hiddenlar ile bu bilgileri edinebilirsin.

    hangi cevabın hangi soruya ait olduğunu da input(radio)'u;
    name="soru[<?php echo $soru_id ?>]" value="<?php echo $cevap_id ?>"
    şekli yapabilirsin.

    verileri işlerken de soru ve cevapları
    foreach ($sorular as $soru => $cevap) şeklinde alıp işleyebilirsin.


    * değişkenler tamsili kendine göre değiştir
    * foreach 2 değişkenli kullanımında ilk değişken dizi indisini/keyini, ikinci değişken değeri barındırır.

    karışık anlatmış olabilirim