Şimdi Ara

PHP Foreach ile ilgili yardim talebi

Bu Konudaki Kullanıcılar:
2 Misafir - 2 Masaüstü
5 sn
7
Cevap
0
Favori
130
Tıklama
Daha Fazla
İstatistik
  • Konu İstatistikleri Yükleniyor
0 oy
Öne Çıkar
Sayfa: 1
Giriş
Mesaj
  • Merhaba,

    PHP konusunda acemiyim, asagidaki kodlama ile ilgili yardimci olabilir misiniz?

    Satirlara bilgileri dagitamadim, sadece zit anlamlilara bilgiyi verebiliyorum, kodu nasil duzenlemeliyim? Yardiminiz icin tesekkur ederim.


    echo "
    Eş Anlamlı : ";
    echo "<tr><td colspan='2'><strong>Eş Sesli : </strong>";
    echo "<tr><td colspan='2'><strong>Zıt Anlamlı : </strong>";

    $sql = "SELECT * FROM sozluk WHERE id IN ({$sozluk['synonyme']}) AND onay ='e' GROUP BY id";
    $sql = "SELECT * FROM sozluk WHERE id IN ({$sozluk['homonyme']}) AND onay ='e' GROUP BY id";
    $sql = "SELECT * FROM sozluk WHERE id IN ({$sozluk['contraire']}) AND onay ='e' GROUP BY id";

    $stmt = $db->prepare($sql);
    $stmt->execute();
    $kelimeler = $stmt->fetchAll();

    foreach ($kelimeler as $row) {

    echo "<a href='kelime/?kelime={$row['word']}'>{$row['word']}</a> | ";
    }



  • $sql değişkenine 3 defa deger atadığın için en son atandığı degerde kalıyor o yüzden sadece karşıt anlamlılar geliyor. $sql'e 'synonime' ve 'homonyme' gibi her deger atamadan sonra $stmt = $db->prepare($sql); sonrasını tekrarlamalısın. Daha zarif çözüm için $stmt = $db->prepare($sql) ... kısmını fonksiyon olarak düzenleyip, $sql 'in değişen değerlerini argüman verip çağırabilirsin.

    < Bu ileti mini sürüm kullanılarak atıldı >
  • Merhaba,

    Cevap icin tesekkur ederim. Sanirim yapamadim, sonuc goruntulemede bir etki olmadi.

    <?php
    if ($stmt->rowCount() > 0) {
    $sozluk = $stmt->fetch();
    echo "<tr><td><strong>Kelime : </strong></td><td>{$sozluk['word']}</td></tr>";
    if ($sozluk['wtype'] == 'fiil') {
    $seo = 'fiil/' . sef($sozluk['word']) . '/';
    echo "<tr><td><strong>Kelime Tipi : </strong></td><td>{$sozluk['wtype']}
    <a href='$seo'> fiil çekimi için tıklayın.</a> </td></tr>";
    } else {
    echo "<tr><td><strong>Kelime Tipi : </strong></td><td>{$sozluk['wtype']}</td></tr>";
    }
    echo "<tr><td><strong>Kelime Pron : </strong></td><td>{$sozluk['wpron']}</td></tr>";
    echo "<tr><td><strong>Fransızca Açıklaması : </strong></td><td>{$sozluk['fr_def']}</td></tr>";
    echo "<tr><td><strong>Türkçe Açıklaması : </strong></td><td>{$sozluk['tr_def']}</td></tr>";
    echo "<tr><td><strong>Örnek : </strong></td><td>{$sozluk['example']}</td></tr>";
    echo "<tr><td><strong>İfade : </strong></td><td>{$sozluk['expression']}</td></tr>";
    echo "<tr><td colspan='2'><strong>Eş Anlamlı : </strong>";
    echo "<tr><td colspan='2'><strong>Eş Sesli : </strong>";
    echo "<tr><td colspan='2'><strong>Zıt Anlamlı : </strong>";

    $sql = "SELECT * FROM sozluk WHERE id IN ({$sozluk['synonyme']}) AND onay ='e' GROUP BY id";

    $stmt = $db->prepare($sql);
    $stmt->execute();
    $kelimeler = $stmt->fetchAll();

    $sql = "SELECT * FROM sozluk WHERE id IN ({$sozluk['homonyme']}) AND onay ='e' GROUP BY id";

    $stmt = $db->prepare($sql);
    $stmt->execute();
    $kelimeler = $stmt->fetchAll();

    $sql = "SELECT * FROM sozluk WHERE id IN ({$sozluk['contraire']}) AND onay ='e' GROUP BY id";

    $stmt = $db->prepare($sql);
    $stmt->execute();
    $kelimeler = $stmt->fetchAll();

    foreach ($kelimeler as $row) {

    echo "<a href='kelime/?kelime={$row['word']}'>{$row['word']}</a> | ";
    }


    echo "</td></tr>";

    } else {

    echo "<h2>Aradığınız kelime sözlükte bulunamamıştır.</h2>";

    }



    < Bu mesaj bu kişi tarafından değiştirildi Guest-1CB9793EF -- 21 Ekim 2018; 18:50:57 >
  • Kodu yerinde çalıştırmadan birşey diyemem. Satırlar arasına echo 'deneme 1'; echo 'deneme 2' gibi debug amaçlı satırlar koyarak hatanın oluştuğu yeri bularak devam edebilirsin. Uzaktan daha fazla birşey diyemem...

    < Bu ileti mini sürüm kullanılarak atıldı >
  • Tesekkur ederim.
  • 
Sayfa: 1
- x
Bildirim
mesajınız kopyalandı (ctrl+v) yapıştırmak istediğiniz yere yapıştırabilirsiniz.