Autor Zpráva
Akali
Profil
Ahoj. Vypisuji data z databáze tímto kódem

                                         <?php  
                                            include '../db.php';
                                            $objekt_vysledku = mysqli_query($db_spojeni,"SET NAMES 'UTF8'");
                                            
                                            $radku=MySQLi_Fetch_Row(MySQLi_Query($db_spojeni,"SELECT COUNT(0) FROM muzi"));$radku=$radku[0]/20;
                                        
                                            $strana=IntVal($_GET['strana']); //číselná hodnota ?strana=
                                              $strana=$strana*20;
                                            $objekt_vysledku = mysqli_query($db_spojeni,"SELECT * FROM ".$kategorie." ORDER BY id DESC LIMIT $strana,20");
                                            
                                                Echo '<div style="background-color: #2C292A; text-align: center; color: white; ">';
                                                Echo 'Strana: ';
                                                For($i = 0; $i < $radku; $i++) Echo '<a class="odkazy_v_kategoriich" href="'.$_SERVER["SCRIPT_NAME"].'?strana='.Floor($i).'">'.Floor($i + 1).'</a>'.($i + 1 < $radku ? ', ' : '');
                                                Echo '</div><br>';
                                            
                                                if ($radku == "0"){
                                                echo "<font color=\"white\">Do tohoto fóra nebyl prozatím vložen žádný komentář!</font><br><br>";
                                                }
                                            
                                            // Zobrazení všech vrácených dat.
                                            while ($radek = mysqli_fetch_array($objekt_vysledku))
                                            {
                                                   ////výpis různých blbostí
                                            }
                                             
                                            mysqli_free_result($objekt_vysledku);
                                             
                                            if ($db_spojeni)
                                              mysqli_close($db_spojeni);
                                              
                                                Echo '<div style="background-color: #2C292A; text-align: center; color: white; ">';
                                                Echo 'Strana: ';
                                                For($i = 0; $i < $radku; $i++) Echo '<a href="'.$_SERVER["SCRIPT_NAME"].'?strana='.Floor($i).'">'.Floor($i + 1).'</a>'.($i + 1 < $radku ? ', ' : '');
                                                Echo '</div>';
                                      ?>
                             

A potřebuji nějak udělat, aby se vypsalo mas 100 řádků. Ale nevím, jak by měl SQL kód vypadat.. Poradil by mi někdo?
Prochy
Profil
LIMIT OFFSET,
OFFSET určuje od jakého řádku to začne vypisovat a LIMIT kolik řádků to od offsetu vypíše
Akali
Profil
Jo, je mi jasný, že se to nastavuje příkazem "limit".. ale jak toho docílit, když už limit nastavuju při stránkování?
SELECT * FROM ".$kategorie." ORDER BY id DESC LIMIT $strana,20
Tori
Profil
Akali:
Tzn. chcete změnit stránkování tak, aby se zobrazovalo sto (místo dvaceti) záznamů na stránku?
Jestli ano, tak si počet záznamů na stránku uložte do proměnné (nebo konstanty) a pak ji použijte místo 20 na řádkách 5,8,9.
Akali
Profil
Ne, tak to nemyslím. Potřebuji, aby se na stránku zobrazovalo pořád 20 zápisů z databáze, ale aby jich bylo na najvýš 100 (nebo 200 celkem).. Čili 200 / 20 (20 záznamů na stránku) = 10 vypsaných stránek. Dál by se nic vypisovat nemělo..
Tori
Profil
Změňte tohle $radku=$radku[0]/20; na:
$zaznamuNaStranku = 20;
$maxStranek = 10;
$radku = min(($radku[0]/$zaznamuNaStranku), $maxStranek);
(Btw proč se proměnná jmenuje "[počet] řádků", když obsahuje počet stránek?)

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: