Afisare mai multe rezultate la apasare de buton

Discutii despre script-uri si coduri PHP-MySQL, precum si lucru cu XML in PHP.
claUdiu
Mesaje: 313

Afisare mai multe rezultate la apasare de buton

Buna revin si eu cu o intrebare. Am un script care cauta in DB si pentru ca nu stiu sa fk paginare in url cu variabila GET am pe pagina vreo 20 de rezultate cum as putea sa imi apara doar 10 si la o apasare de buton sa arate si alte 10 rezultate in jos pe pagina si tot asa??ms mult
Se spune ca...."omul tot invata in viata". Dar...Totusi...Trebie sa ne oprim undeva, nu?

MarPlo Mesaje: 4343
Poti folosi scriptul de la Script paginare daca vrei sa inveti / sa folosesti paginare cu GET in PHP.
Iar pentru ca sa afiseze in aceeasi pagina, dupa primele rezultate, altele, prin apasarea unui buton, trebuie combinat JavaScript si CSS.
- Rezultatele ce trebuie afisate de la buton trebuie adaugate intr-un DIV ascuns, acel div e descoperit prin cod JS cand se apasa butonul.
Te poti inspira din urmatorul exemplu:

Cod: Selectaţi tot

Rand 1 ... <br />
Randul 2 // ... <br />
Alte randuri
<div id="asc" style="display:none;">
Linia 3 ... <br />
Linia 4 ... <br />
Alte linii
</div>
<button onclick="document.getElementById('asc').style.display='block';">Buton</button>
Sau cu ajax, dar e mai complicat, tot ca o paginare.

claUdiu Mesaje: 313
am facut cu codul dat de tine asa:

index.php:

Cod: Selectaţi tot

<?php
include("rezultate.php");
?>
<div id="asc" style="display:none;">
<?php
include("rezultate2.php");
?>
</div>
<button onclick="document.getElementById('asc').style.display='block';">Buton</button>
rezultate.php:

Cod: Selectaţi tot

<?php
$conn = mysql_connect("localhost", "root", "")
    or die("Unable to connect to MySQL");
$selectdb = mysql_select_db('mesaje_private'); 
$interogare = "SELECT `username`, `email` FROM `useri` order by id desc LIMIT 10";
$rezultat = mysql_query($interogare);
if (mysql_errno()) {
    echo "<br />". mysql_errno(). " : ". mysql_error(). "<br />";
}
$nr_campuri = mysql_num_fields($rezultat);
if (mysql_num_rows($rezultat) == 0) {
    echo '0 rezultate';
}
else {
      

       while ($rand = mysql_fetch_assoc($rezultat)) {
   echo ''. $rand['username']. '<br>';
 }
}
?>
rezultate2.php:

Cod: Selectaţi tot

<?php
$conn = mysql_connect("localhost", "root", "")
    or die("Unable to connect to MySQL");
$selectdb = mysql_select_db('mesaje_private'); 
$interogare = "SELECT `username`, `email` FROM `useri` order by id desc";
$rezultat = mysql_query($interogare);
if (mysql_errno()) {
    echo "<br />". mysql_errno(). " : ". mysql_error(). "<br />";
}
$nr_campuri = mysql_num_fields($rezultat);
if (mysql_num_rows($rezultat) == 0) {
    echo '0 rezultate';
}
else {
      

       while ($rand = mysql_fetch_assoc($rezultat)) {
   echo ''. $rand['username']. '<br>';
 }
}
?>
cand intru in index.php apar primele 10 rezultate dar cand dau click pe buton apar si primele zece rezultate + cate mai sunt in db. Cum as putea sa fac sa apara rezultate de la ce username o ramas??ms mult
Se spune ca...."omul tot invata in viata". Dar...Totusi...Trebie sa ne oprim undeva, nu?

MarPlo Mesaje: 4343
Poti sa pui si primul set de rezultate intr-un DIV si la Buton cod JS care sa-l ascunda.
Vezi cum e in exemplu:

Cod: Selectaţi tot

<div id="re1">
Rand 1 ... <br />
Randul 2 // ... <br />
Alte randuri
</div>
<div id="asc" style="display:none;">
Linia 3 ... <br />
Linia 4 ... <br />
Alte linii
</div>
<button onclick="document.getElementById('asc').style.display='block'; document.getElementById('re1').style.display='none';">Buton</button>

Subiecte similare