Webmaster общности: Predpriemach.com | SearchEngines.bg

    Местене на резултатите на нов ред при определен брой

    Автор: jooorooo

    така ето един урок, как да се прехвърлят резултатите на нов ред когато стигнат до зададения брои на ред. ще ви покажа 2 начина, единия е с таблици а другия с див. този който е с дивовете не се различава от нормална заявка, всичко става с CSS.
    та стига приказки а ето го и него.

    забележете в CSS-а как съм задал 800пиксела на контеинера и 195 пиксела на дивовете, значи като разделиме 800/195 е приблизително равно на 4, винаги оставям малко по голям контеинера (на 1 див по 5 пиксела) защото често се получава да не е желания резултат заради бордера на дива.

    <style type="text/css">
    <!--
    #konteiner
    {
    width: 800px;
    }
    .div{
    width:195px;
    height:150px;
    float:left;
    }
    -->
    </style>
    <?php
    $server="localhost";
    $dbusername="dbuser";
    $dbpassword="dbpassword";
    $db_name="dbname";
    
    mysql_connect($server, $dbusername, $dbpassword)or die("Сайтът не може да се свърже към базата данни");
    @mysql_select_db($db_name) or die("Грешна база данни");
    $query="SELECT * FROM testova ORDER BY id DESC";
    $result=mysql_query($query);
    
    $num=mysql_numrows($result);
    
    mysql_close();
    
    $i=0;
    
    echo '<div id="konteiner">'; //тук задаваме един див, който ще ни е контейнер
    while ($i < $num) {
    
    $title=mysql_result($result,$i,"title");
    $pic=mysql_result($result,$i,"pic");
    //дивовете в които ще визуализираме резултата и при достигане до края на контейнера минават на нов ред. размерите са зададени в CSS стила по-горе.
    echo "<div class=\"div\">
    <img alt='$title' src='img/$pic' border='0'><br>
    <center><b>$title</b><center>
    </div>";//затваряме дивовете за резултатите
    $i++;
    }
    echo '</div>';//затваряме контейнера
    
    ?>

    а ето сега и начина с таблица:

    <table>
    <?php
    $server="localhost";
    $dbusername="dbuser";
    $dbpassword="dbpassword";
    $db_name="dbname";
    
    $i="0";
    $nared="4"; //по колко резултата на ред да покаже
    mysql_connect($server, $dbusername, $dbpassword);
    @mysql_select_db($db_name) or die("Unable to select database");
    $query="SELECT * FROM testova ORDER BY id DESC";
    $result=mysql_query($query);
    while ( $red = mysql_fetch_array( $result )){
    $title=$red[title];
    $pic=$red[pic];
    $i++;
    $width=ceil(100/$nared);//смятаме 100% делено на броя който сме задали да са на ред необходимо за td-тата на таблицата
    echo "<td valign=\"top\" width=\"".$width."%\"><img alt='$title' src='img/$pic' border='0'><br>
    <center><b>$title</b></td>";
    if ($i==$nared) //правиме проверка и ако броя е достигнал до зададения, да визуализира </tr><tr> за да пренесе резултата на нов ред.
    {
    echo "</tr>
    <tr>";
    $i=0;
    }
    }
    ?></table>

    а сега ето и една примерна База данни за да тествате спокойно 🙂

    CREATE TABLE `testova` (
    `id` int(10) NOT NULL auto_increment,
    `title` varchar(255) default NULL,
    `pic` varchar(255) default NULL,
    PRIMARY KEY (`id`)
    );

    така, според примерите които съм дал, полето pic е за картинка и се записва само името и разширението на картинката, а картинките трябва да са в папка img, а ако искаше да смените папката, намерете src=’img/$pic’ и маркираното в червено го сменете с името на папката която желаете.

    Урока е подготвен по поръчка на потребител на https://web-tourist.net/forum/ и специално за https://web-tourist.net

    Забранява се неговото копиране в други сайтове, без разрешение.

    Оставете коментар