Ajax ve PHP yardım

4 Cevap php

Im şu anda sayfası yeniden kalmaması AJAX kullanarak bir mysql db sonuçlarını görüntüleyen bir php kodu çağırarak!

Php kodu içinde, ben kullanıcıların sadece "özel reklamları" veya "tüm reklamları" görüntülemek için seçtim bir menü oluşturma.

Senin yardımına ihtiyacım nerede "sadece özel gösterisi", uygulanan sığınak çünkü şu anda, "tüm reklamların" belirtildiği gibi ajax kullanarak bir div kap görüntülenir ...

Bu kullanıcı görüntülenen php kodu "show özel sadece" sekmesine tıklar ve ardından bir şey için bir değişken belirleme ve daha sonra "özel görüntülemek için değişken kullanan AYNI php kodu göndermeden kontrol AJAX kullanmak mümkün mü reklamlar "sadece MySQL için yeni bir sorgu yapmadan?

If you need more input just tell me... SOME MORE INPUT:

Bu ne istiyorsunuz:

AJAX arama kriterleri kontrol etmek için kullanılır ... AJAX PHP kriterleri gönderir ... PHP, tablolarda kriterler ve görüntüler için mysql db Çekler de iki bağlantıları, "tüm reklamların" için bir tane ve "sadece özel" için bir tane oluşturur ... PHP ekran tabloları yankıları ... AJAX HTML sayfasında bir DIV kapta masaları görüntüler (innerHTML = blabla)

UPDATE HERE COMES THE ADDITION I WANT: the users click on one of the links provided by the PHP code, lets say "private only", AJAX reacts and calls PHP code again ... PHP code this time displays the tables differently, filtering out all non-private ads... AJAX displays in the div container...

Böylece doğru yönde bana gelin, bu, mümkün mü lütfen!

Teşekkürler

4 Cevap

Eğer doğru anladıysam, bir kritere göre reklamlarınızı filtreleme yapmak istiyorum. Bu kolayca php kod ikinci bir sorgu olmadan yapılabilir. Sadece kategori açıklanır reklam girişinde bir sınıf eklemek için html kodu değiştirin. Sonra istenmeyen dışarı süzer düğmeleri ekleyin.

HTML:

<a href="#" id="all_ads">Display all ads</a>
<a href="#" id="normal_ads">Display normal ads</a>
<a href="#" id="private_ads">Display private ads</a>
<div id="ads">
<ul>
   <li class="normal">Advertisment 1</li>
   <li class="normal">Advertisment 2</li>
   <li class="private">PRIVATE Advertisment 1</li>
   <li class="normal">Advertisment 3</li>
</ul>
</div>

<!-- Then add the following code to capture click events -->
<script type="text/javascript">
$(document).ready(function() 
{
    $('#normal_ads').click(function() 
    {
        $('#ads li:not(.normal)').hide();
        $('#ads li.normal').show();
        return false;
    });

    $('#private_ads').click(function() 
    {
        $('#ads li:not(.private)').hide();
        $('#ads li.private').show();
        return false;
    });
    $('#all_ads').click(function() 
    {
        $('#ads li').show();
        return false;
    });
});
</script>

Bu zihin yazılmış, ben hemen çapraz kontrol edecektir. Tamam çalışır.

Bunun avantajı tüm reklamlar ilk kez gönderilir ve JavaScript istenmeyen filtre gibi kullanıcı her tıklama için yeniden sorgu zorunda istiyor. Ayrıca jQuery etkilerini aracılığıyla göstermek / gizlemek bazı efektler ekleyebilirsiniz.

Php sadece formu çıktısı olmalıdır, yani javascript kesinlikle formu değer gönderme ve / veya görüntüleme reklamları ve formu değere dayalı filtreleme (ya AJAX isteği sunucu tarafı filtreleme yapmak icar) önce ne olduğunu kontrol edebilirsiniz .

Sorunuzu doğru anlaşıldığı takdirde, kolaylıkla JQuery ile bunu uygulamak olabilir.

HTML:
<a href="#" id="normal_ads">Display normal ads</a>
<a href="#" id="private_ads">Display private ads</a>
<div id="ads"></div>

JQuery:
$(document).ready(function() 
{
    $('#normal_ads').click(function() 
    {
        $('#ads').html("").load("ajax_ads.php?normal=1");
        return false;
    });

    $('#private_ads').click(function() 
    {
        $('#ads').html("").load("ajax_ads.php?private=1");
        return false;
    });
});

Sadece XMLHTTP isteği gider URL dizesine bir simge eklemek?

Diğer bir deyişle "my.server.script.php? Ads = all" veya "reklamlar = özel? My.server.script.php" ve dönmek belirlemek için PHP script isteğiniz değişkenlerin incelenmesi.