• 02-11-2022, 08:47:26
    #1
    Arkadşalar merhaba, php ilk defa kodluyorum denebilir, ufak bir modülcük yapmam gerekti lakin, else bloğunu devreye sokamıyorum, bazen soktuğumda ise 2 kez giriyor.
    Sorgudan dönen sonuç özetle,

    Sorgu =
    select pk.adi,pk.soyadi,pg.personel_id, pg.tarih,min(pg.giris_saat),
    CASE
    WHEN min(pg.giris_saat) > '09:15:00' THEN '1'
    END AS 'DURUM'
    from personel_giriscikis pg
    inner join personel_kartlari pk on pk.id=pg.personel_id
    where pg.tarih='".$tarih."'and (  servis_kod='18')
    group by pg.tarih,pg.personel_id
    order by giris_saat desc";
    isim durum saat
    ahmet 1 19.15
    mehmet 1 19.17
    can 20.15 durum kolonu boş


    Kodlarım;
    <body>
      <H3> BALYEM  ARGE 15 DK OPSIYONLU (9.15) SONRASI GIRIS YAPAN PERSONEL LISTESI</H3>
    <table>
      <tr>
        <th>Adı</th>
        <th>Soyadı</th>
        <th>Giriş Saati</th>
        <th>Durum</th>
        <th>Tarih</th>
      </tr>
    
    
    <?php while ($row = mysql_fetch_array($denemesonuc, MYSQL_ASSOC)) {
      ?>
      <tr>
       <?php if ($row['DURUM'] == "1")
       {
           echo '<td>'.$row['adi'].'</td>';
           echo '<td>'.$row['soyadi'].'</td>';
           echo '<td>'.$row['min(pg.giris_saat)'].'</td>';
           echo '<td>'.$row['DURUM'].'</td>';
           echo '<td>'.$row['tarih'].'</td>';
           } else{
             echo "Arge Biriminde Gec Girise Rastlanmamistir.";
           }
        ?>
    Durumu 1 olanları listeye yazdır, durum kolonu boş olanları yazdırma,
    eğer listede hiç 1 yok ise
    geç girişe rastlanamamıştır yazır. bunu deneme yanılma ile bir kere yazdırabildim ondada iki kez
    'Arge Biriminde Gec Girise Rastlanmamistir. '
    uyarısı aldım. Çözüm önerisi olan var mı arkadaşlar ?
    Not: Phpmyadmin yok, sorgu ekranı not defteri gibi view vs oluşturulamıyor o yüzden algoritmik çözmem gerekiyor
  • 02-11-2022, 09:09:12
    #2
    Üyeliği durduruldu
    M_Can adlı üyeden alıntı: mesajı görüntüle
    Arkadşalar merhaba, php ilk defa kodluyorum denebilir, ufak bir modülcük yapmam gerekti lakin, else bloğunu devreye sokamıyorum, bazen soktuğumda ise 2 kez giriyor.
    Sorgudan dönen sonuç özetle,

    Sorgu =
    select pk.adi,pk.soyadi,pg.personel_id, pg.tarih,min(pg.giris_saat),
    CASE
    WHEN min(pg.giris_saat) > '09:15:00' THEN '1'
    END AS 'DURUM'
    from personel_giriscikis pg
    inner join personel_kartlari pk on pk.id=pg.personel_id
    where pg.tarih='".$tarih."'and (  servis_kod='18')
    group by pg.tarih,pg.personel_id
    order by giris_saat desc";
    isim durum saat
    ahmet 1 19.15
    mehmet 1 19.17
    can 20.15 durum kolonu boş


    Kodlarım;
    <body>
      <H3> BALYEM  ARGE 15 DK OPSIYONLU (9.15) SONRASI GIRIS YAPAN PERSONEL LISTESI</H3>
    <table>
      <tr>
        <th>Adı</th>
        <th>Soyadı</th>
        <th>Giriş Saati</th>
        <th>Durum</th>
        <th>Tarih</th>
      </tr>
    
    
    <?php while ($row = mysql_fetch_array($denemesonuc, MYSQL_ASSOC)) {
      ?>
      <tr>
       <?php if ($row['DURUM'] == "1")
       {
           echo '<td>'.$row['adi'].'</td>';
           echo '<td>'.$row['soyadi'].'</td>';
           echo '<td>'.$row['min(pg.giris_saat)'].'</td>';
           echo '<td>'.$row['DURUM'].'</td>';
           echo '<td>'.$row['tarih'].'</td>';
           } else{
             echo "Arge Biriminde Gec Girise Rastlanmamistir.";
           }
        ?>
    Durumu 1 olanları listeye yazdır, durum kolonu boş olanları yazdırma,
    eğer listede hiç 1 yok ise
    geç girişe rastlanamamıştır yazır. bunu deneme yanılma ile bir kere yazdırabildim ondada iki kez
    'Arge Biriminde Gec Girise Rastlanmamistir. '
    uyarısı aldım. Çözüm önerisi olan var mı arkadaşlar ?
    Not: Phpmyadmin yok, sorgu ekranı not defteri gibi view vs oluşturulamıyor o yüzden algoritmik çözmem gerekiyor

    <html>
    <body>
    <h3> BALYEM  ARGE 15 DK OPSIYONLU (9.15) SONRASI GIRIS YAPAN PERSONEL LISTESI</h3>
    <table>
      <tr>
        <th>Adı</th>
        <th>Soyadı</th>
        <th>Giriş Saati</th>
        <th>Durum</th>
        <th>Tarih</th>
      </tr>
      <tr>
        <?php
        $tds = '';
        while($row = mysql_fetch_array($denemesonuc, MYSQL_ASSOC)) {
          if($row['DURUM'] == '1') {
            $tds.= '<td>'.$row['adi'].'</td>';
            $tds.= '<td>'.$row['soyadi'].'</td>';
            $tds.= '<td>'.$row['min(pg.giris_saat)'].'</td>';
            $tds.= '<td>'.$row['DURUM'].'</td>';
            $tds.= '<td>'.$row['tarih'].'</td>';
          }
        }
        echo $tds != '' ? $tds : '<td colspan="5">Arge Biriminde Gec Girise Rastlanmamistir.</td>';
        ?>
      </tr>
    </table>
    </body>
    </html>
  • 02-11-2022, 09:23:01
    #3
    hasyer adlı üyeden alıntı: mesajı görüntüle
    <html>
    <body>
    <h3> BALYEM  ARGE 15 DK OPSIYONLU (9.15) SONRASI GIRIS YAPAN PERSONEL LISTESI</h3>
    <table>
      <tr>
        <th>Adı</th>
        <th>Soyadı</th>
        <th>Giriş Saati</th>
        <th>Durum</th>
        <th>Tarih</th>
      </tr>
      <tr>
        <?php
        $tds = '';
        while($row = mysql_fetch_array($denemesonuc, MYSQL_ASSOC)) {
          if($row['DURUM'] == '1') {
            $tds.= '<td>'.$row['adi'].'</td>';
            $tds.= '<td>'.$row['soyadi'].'</td>';
            $tds.= '<td>'.$row['min(pg.giris_saat)'].'</td>';
            $tds.= '<td>'.$row['DURUM'].'</td>';
            $tds.= '<td>'.$row['tarih'].'</td>';
          }
        }
        echo $tds != '' ? $tds : '<td colspan="5">Arge Biriminde Gec Girise Rastlanmamistir.</td>';
        ?>
      </tr>
    </table>
    </body>
    </html>
    Yorumunuza istinaden, şunu söylemek geçti içimden,
    Çok Rahat, Çok Profosyonel
    Teşekkür ederim. $tds != '' ? $tds : bu syntaxda ne yapmak istedik ? şansımı zorlayarak sizide bulmuşken bir bilgi daha istiyeyim.
    gerçekten problemim çözüldü çok teşekkürler
  • 02-11-2022, 09:50:21
    #4
    Üyeliği durduruldu
    M_Can adlı üyeden alıntı: mesajı görüntüle
    Yorumunuza istinaden, şunu söylemek geçti içimden,
    Çok Rahat, Çok Profosyonel
    Teşekkür ederim. $tds != '' ? $tds : bu syntaxda ne yapmak istedik ? şansımı zorlayarak sizide bulmuşken bir bilgi daha istiyeyim.
    gerçekten problemim çözüldü çok teşekkürler
    Rica ederim.
    $tds değişkeninin değeri boş değilse ekrana yazdırıyoruz.
    Eğer boşsa, veri tabanında DURUM alanı 1 olan veri olmadığı anlamına geliyor.