Autor Zpráva
helmy
Profil *
Dobrý den potřeboval bych poradit s tímhle scriptem.

    $q_message = mysql_query("SELECT * FROM `message` WHERE `prijemce`='".$login."' ORDER BY `id` DESC");

// Pokud je počet zpráv větší než nula tzn. aspoň 1
    if(mysql_num_rows($q_message)!=0)
    {
            
// Zobrazime všechny zprávy v cyklusu    
        while($r_message = mysql_fetch_assoc($q_message))
        {
            $odesilatel = $r_message['odesilatel'];
            
// Vybereme z DB avatar odesílatele zprávy
            $q_avatar = mysql_query("SELECT `id`,`avatar` FROM `users` WHERE `login`='".$odesilatel."'");
            $r_avatar = mysql_fetch_assoc($q_avatar);
            if(!empty($r_avatar['avatar']))
            {
// Pokud je, tak ho uložime do proměnné 
                $avatar = $r_avatar['avatar'];
            } else {
// Jinak mu přiřadíme hodnotu no_avatar.jpg
                $avatar = "no_avatar.jpg"; 
            }
            
// Zobrazime samotnou zprávu
            echo '
            <table style="border:2px solid #ddd;">
                <tr>
                    <td style="border-right:2px solid #ddd; padding:5px;">
                        <img src="avatar/'.$r_avatar['avatar'].'" width="90" height="90" alt="avatar">
            <a href="message.php?mod=new&mes='.$odesilatel.'">poslat soukromou zprávu</a>
                    </td>
                    <td>
                        <div>Odesílatel: '.$odesilatel.'</div>
                        <div>Datum: '.$r_message['date'].'</div>
                        <div>Zpráva: <br> '.$r_message['zprava'].' </div>
                    </td>
                </tr>
            </table>
            ';        
        }
    } else {
        
// Počet zpráv je 0
        echo "Zprávy nejsou.";
    }

A chtěl bych v tomhle scriptu udělat, když máme moc zpráv tak bych je chtěl rozdělit třeba po 25ti na jednu stránku. Stačí mi poradit jak zobrazit zprávy až od 25.
Za všechny rady předem děkuji.
Taps
Profil
helmy:
jedná se o tzv. stránkování, viz níže uvedené
Stránkování v mysql
Kniha návštěv - výpis omez. počtu příspěvků na jednu stránku
http://php.vrana.cz/strankovani.php
helmy
Profil *
Jo díky. Mě se to nakonec povedlo udělat takhle

 if($mod=='prichozi') {
    $q_message = mysql_query("SELECT * FROM `message` WHERE `prijemce`='".$login."' ORDER BY `id` DESC");

// Pokud je počet zpráv větší než nula tzn. aspoň 1

$serad = 0;
$pagovani = $page * 10;
$reseni = $pagovani - 10;
$dohromady = mysql_num_rows($q_message);
///konec promenych v pagovani
    if(mysql_num_rows($q_message)!=0)
    {
            
// Zobrazime všechny zprávy v cyklusu    
        while($r_message = mysql_fetch_assoc($q_message))
        {
if($serad == $pagovani) break;    
            $odesilatel = $r_message['odesilatel'];
            
// Vybereme z DB avatar odesílatele zprávy
            $q_avatar = mysql_query("SELECT `id`,`avatar` FROM `users` WHERE `login`='".$odesilatel."'");
            $r_avatar = mysql_fetch_assoc($q_avatar);
            if(!empty($r_avatar['avatar']))
            {
// Pokud je, tak ho uložime do proměnné 
                $avatar = $r_avatar['avatar'];
            } else {
// Jinak mu přiřadíme hodnotu no_avatar.jpg
                $avatar = "no_avatar.jpg"; 
            }
     
    if ($serad>=$reseni) {        
// Zobrazime samotnou zprávu
            echo '
            <table style="border:2px solid #ddd;">
                <tr>
                    <td style="border-right:2px solid #ddd; padding:5px;">
                        <img src="avatar/'.$r_avatar['avatar'].'" width="90" height="90" alt="avatar">
            <a href="message.php?mod=new&mes='.$odesilatel.'">poslat soukromou zprávu</a>
                    </td>
                    <td>
                        <div>Odesílatel: '.$odesilatel.'</div>
                        <div>Datum: '.$r_message['date'].'</div>
                        <div>Zpráva: <br> '.$r_message['zprava'].' </div>
                    </td>
                </tr>
            </table>
            ';        
        }
   ++$serad; 
  } 

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:

0