• 25-11-2020, 14:46:23
    #1
    Merhaba,
    Mysql tarafında tutulan soru ve cevapları excel olarak almaya çalışıyorum.
    Örneğin.
      
     A                       B                     C
    1 Soru Başlık     Soru Başlık      Soru Başlık
    
    2 Cevap            Cevap              Cevap
    3 Cevap            Cevap              Cevap
    4 Cevap            Cevap              Cevap
    Şeklinde 1. satırda soru başlıkları ve hemen altında soruya ilişkin verilen cevap kayıtları.

    Veritabanı
    soru tablosu                           cevap tablosu
    id, anketid, soru id,                  id, anketid, anketsoruid,  cevap
    1 - 1- Sorulan soru?                1 -   1 -            1 -            Verilen cevap
    2 - 1- Sorulan soru?                2 -   1 -            2 -            Verilen cevap
    3 - 2- Sorulan soru?                3 -   2 -            3 -            Verilen cevap
    4 - 2- Sorulan soru?                4 -   2 -            4 -            Verilen cevap
    Gİbi kayıtlar yer alıyor. Bu kayıtları Excel tarafına dökmeye çalıştım. Bunun için,

    $anketId = 1;
    $objPHPExcel      =   new PHPExcel();
    $sql         =   $db->query("SELECT * FROM `sorular` INNER JOIN `cevaplar` ON  sorular.anketsoruid = cevaplar.anketsoruid  WHERE cevaplar.anketid = 1");
    $objPHPExcel->setActiveSheetIndex(0);
    
    $column = 'A';
    $rowCount   =   2;
    foreach($sql as $rows){
      $objPHPExcel->getActiveSheet()->SetCellValue($column.'1', $rows['soru'],'UTF-8');
      $objPHPExcel->getActiveSheet()->SetCellValue($column.$rowCount, $rows['cevap'],'UTF-8');
      $column++;
      $rowCount++;
    }
    Yaparak Excelde 1. satıra tüm soruları yazdırabiliyorum. Cevapları ise A2, B3, C4, D6 şeklinde çıkıyor. Çıkması gereken sonuç, A2, B2, C2, D2
    RowCount++ yaptığım için bu sonuç normal. İstediğim gibi çıktıyı nasıl sağlayabilirim.
  • 25-11-2020, 14:52:02
    #2
    Cevaplar ve sorular ayrı tablolar mı? Eşleşen alan var mı ?
    Sql kodunu tam yazabilirmisin ?
  • 25-11-2020, 14:59:24
    #3
    cartel24 adlı üyeden alıntı: mesajı görüntüle
    Cevaplar ve sorular ayrı tablolar mı? Eşleşen alan var mı ?
    Sql kodunu tam yazabilirmisin ?
    evet eşleşen alanlar var soru tablosunda ki anketid ile cevap tablosunda ki anketid ile eşleştirip Join yaptım ve foreach ile döngüye soktum.
    Yukarıda tekrar düzenledim.