Bu 'iyi yolu' Bunu yapmanın bir yolu var mı?

3 Cevap php

Ben bir mysql db saklanan kayıtların sürü ile bir reklam web sitesi var.

On my main page, I have a form where users may specify their search criteria. Action is set to myPhp.php file.

myPhp.php NO HTML, sadece php kodu içeren, ve bu temelde böyle bir şey olur:

1- get values from FORM and build a SQL query
2- query MYSQL db. 
3-display all results in a table using
`while($row=mysql_fetch_array($res))`
4- echo the table.

PHP oluşturulan bu tabloda, ben de birkaç bağlantıları var ve onlar tıklandığında zaman, ana sayfada bir javascript fonksiyon şey gizli bir giriş değerini ayarlar ve daha sonra seçilen değişkeni ile tekrar form gönderdiğinde, hangi denir .

Ör: Kullanıcıların arama sonuçlarında bir sonraki sayfaya gitmek istediğinizde, daha sonra bir 'sonraki' PHP oluşturulan bağlantı, ve sonra javascript çağrılır, 'next' gizli bir giriş değerini ayarlar ve tıklayın var form tekrar teslim ve PHP dosyası gizli girişinden değişken GETS ve değeri 'Next' ayarlanmış olduğunu algılar ve daha sonra bir sonraki sonuçlar görüntüler.

Tüm bunu yapmak için başka bir yolu yok değil mi? (Performans ve güvenilirlik söz konusu olduğunda, daha iyi bir yoludur)

Im still learning so I am very thankful for your help! I will update this Question whenever you need more input.

Teşekkürler

3 Cevap

Bir bağlantı ile sonraki javascript çağrıyı değiştir

http://yourdomain/myPhp.php?page=2

Sonra myPhp.php yılında Get parametresini kontrol edin:

if(isset($_GET['page']) AND is_numeric($_GET['page'])){
    $limit = (int) $_GET['page'] * MAX_RECORDS . ', ' . MAX_RECORDS;
} else {
    $limit = MAX_RECORDS;
}

//...
$query .= 'LIMIT '. $limit;

Of course you have to change it as your constants change and such.
This method called paginating. Take a look at the Zend Framework's Paginator module to the better understanding.

Bağlantıyı oluştururken size değil bir form göndererek daha sunucuya göndermek istiyorum parametresini belirtmek için bir sorgu dizesi kullanabilirsiniz. Bir sonraki denilen bir form gizli girişi var ise o zaman bu gibi aynı şeyi accompish yapabilirsiniz:

<a href="myPhp.php?next=NEXT">Next</a>

MyPhp.php sayfada size bir form göndermek olduğu gibi benzer bir şekilde bir sonraki değerini alabilirsiniz.

Bu bağlantıları (bir başlık özniteliği ile) yönüyle en az bir aynı sınıf varsa tek bir tıklama olay ve eleman tıklandığında ne başlık görmek için teste bütün bu bağlantıları ekleyebilirsiniz onlara ekleyebilirsiniz.

Bu size (JQuery / Ajax kullanarak varsayalım) görevi gerçekleştirmek için doğru fonksiyonunu tetiklemek için bir anahtar kullanabilirsiniz.

Bu çalışması gerekir. En azından hiç alan gizli.

Örnek:

<a href="myPhp.php?whatever you querystring is" title="NEXT">Next</a>

<a href="myPhp.php?whatever you querystring is" title="AdDetails">Ad Details</a>