开发者

Doing while with html and php

Hello i have done whiles with php but never html... I have a script that works fine but looks ugly so a friend has made me a html layout.

Here is my php script.

<p>


    <?php
        /* Place code to connect to your DB here.     */


        $tbl_name="adds";        //your table name
        // How many adjacent pages should be shown on each side?
        $adjacents = 3;     
        /* 
        First get total number of rows in data table. 
        If you have a WHERE clause in your query, make sure you mirror it here.
        */

        $query = "SELECT COUNT(*) as num FROM adds ";
        $total_pages = mysql_fetch_array(mysql_query($query));
        $total_pages = $total_pages['num'];  
        /* Setup vars for query. */
        $targetpage = "earn.php";     //your file name  (the name of this file)
        $limit = 6;     
        //how many items to show per page
        $page = isset($_GET['page']) ? $_GET['page'] : 0;
        if($page) 
            $start = ($page - 1) * $limit;
        //first item to display on this page
        else 
            $start = 0;                                //if no page var is given, set start to 0     
        /* Get data. */
        $sql = "SELECT * FROM $tbl_name LIMIT $start, $limit ";
        $result = mysql_query($sql);
        /* Setup page vars for display. */
        if ($page == 0) $page = 1;                    //if no page var is given, default to 1.
        $prev = $page - 1;                            //previous page is page - 1
        $next = $page + 1;                            //next page is page + 1
        $lastpage = ceil($total_pages/$limit);        //lastpage is = total pages / items per page, rounded up.
        $lpm1 = $lastpage - 1;                        //last page minus 1
        /* 
        Now we apply our rules and draw the pagination object.
        We're actually saving the code to a variable in case
        we want to draw it more than once.
        */

        $pagination = "";
        if($lastpage > 1)
        {
            $pagination .= "<div class=\"pagination\">";         //previous button
            if ($page > 1) 
                $pagination.= "<a href=\"$targetpage?page=$prev\">« previous</a>";
            else 
                $pagination.= "<span class=\"disabled\">« previous</span>";    
            //pages
            if ($lastpage < 7 + ($adjacents * 2))    //not enough pages to bother breaking it up
            {
                for ($counter = 1; $counter <= $lastpage; $counter++)             {
                    if ($counter == $page)
                        $pagination.= "<span class=\"current\">$counter</span>";
                    else
                        $pagination.= "<a href=\"$targetpage?page=$counter\">$counter</a>";                    
            }         }         elseif($lastpage > 5 + ($adjacents * 2))    //enough pages to hide some
            {
                //close to beginning; only hide later pages
                if($page < 1 + ($adjacents * 2))                     {
                    for ($counter = 1; $counter < 4 + ($adjacents * 2); $counter++)
                    {
                        if ($counter == $page)
                            $pagination.= "<span class=\"current\">$counter</span>";
                        else
                            $pagination.= "<a href=\"$targetpage?page=$counter\">$counter</a>";                    
                    }
                    $pagination.= "...";
                    $pagination.= "<a href=\"$targetpage?page=$lpm1\">$lpm1</a>";
                    $pagination.= "<a href=\"$targetpage?page=$lastpage\">$lastpage</a>";        
                }             //in middle; hide some front and some back
                elseif($lastpage - ($adjacents * 2) > $page && $page > ($adjacents * 2))             {
                    $pagination.= "<a href=\"$targetpage?page=1\">1</a>";
                    $pagination.= "<a href=\"$targetpage?page=2\">2</a>";
                    $pagination.= "...";
                    for ($counter = $page - $adjacents; $counter <= $page + $adjacents; $counter++)
                    {
                        if ($counter == $page)
                            $pagination.= "<span class=\"current\">$counter</span>";
                        else
                            $pagination.= "<a href=\"$targetpage?page=$counter\">$counter</a>";                    
                    }
                    $pagination.= "...";
                    $pagination.= "<a href=\"$targetpage?page=$lpm1\">$lpm1</a>";
                    $pagination.= "<a href=\"$targetpage?page=$lastpage\">$lastpage</a>";        
                }             //close to end; only hide early pages
                else
                {
                    $pagination.= "<a href=\"$targetpage?page=1\">1</a>";
                    $pagination.= "<a href=\"$targetpage?page=2\">2</a>";
                    $pagination.= "...";
                    for ($counter = $lastpage - (2 + ($adjacents * 2)); $counter <= $lastpage; $counter++)
                    {
                        if ($counter == $page)
                            $pagination.= "<span class=\"current\">$counter</span>";
                        else
                            $pagination.= "<a href=\"$targetpage?page=$counter\">$counter</a>";                    
            }             }         }
            //next button
            if ($page < $counter - 1)
                $pagination.= "<a href=\"$targetpage?page=$next\">next »</a>";
            else 
                $pagination.= "<span class=\"disabled\">next »</span>";
            $pagination.= "</div>\n";
    } ?>

    <?php
        while($row = mysql_fetch_array($result))
        {
            echo '<a href="http://geatzo.com/do123.php?uid='.$row['id'].'"><img src="http://www.geatzo.com/images/coins.jpg" height=开发者_开发知识库"100px" width="100px"/>';
            echo '"<p> </p>';
            echo '"You will earn<b>"'.$row['coins'].'"</b>Coins"<p> </p>';
            echo '"Posted By "'.$row['username'].'<p> </p>';
            echo '"Site you will be viewing "'.$row['url'].'<p> </p>';
        }
    ?>

    <?=$pagination?>



</p>

I want to put that php in a a html div here is the html

<div class="ptcbox-link"><a href="http://www.mysite.com/gpt.php?v=entry&amp;type=ptc&amp;id=6960&amp;sid=TWk0Mk1Ea3hORGc1TVRB&amp;sid2=TWk0M&amp;siduid=186998&amp;"></a></div>
                <div class="ptcbox-value-w1">
                    <div class="ptcbox-value">$2</div>
                    <div class="ptcbox-seconds">30 seconds</div>
                </div>

I want there to be like http://img841.imageshack.us/img841/6651/unledfte.png the div tags for each different result a new box for each result

Thanks

P.s the html code and php code works both works i just wanna put them together in a while


You are not using a Template Engine. You can't have not ugly looking code without a template engine.

By Template Engine I mean that you should seperate your logic application from your presentation. (ie: separating HTML from PHP)

You can use plain old PHP code to handle your template engine or a custom snytax by template engine already built:

  • Smarty
  • Savant3 http://phpsavant.com/

and many others


To have a better seperation of model and view I highly suggest you to do the following things

  1. do all the data catching stuff, insert it into variables
  2. build an extra file which consists only out of HTML and echoing variables and loops. try to use alternative syntax like <?php foreach ( $text as $block): ?> to make it visiually more appealing
  3. include this extra file at the end of your main file.

an very easy example could be:

$data being an array of arrays, where each one has a link, value, and seconds

$data = array(
    array(
        'link' => "http://www.mysite.com/gpt.php?v=entry&amp;type=ptc&amp;id=6960&amp;sid=TWk0Mk1Ea3hORGc1TVRB&amp;sid2=TWk0M&amp;siduid=186998&amp;",
        'value' => 2,
        'seconds' => 30
    )
);

you need to build this array in your first file. In the view you just need the following code:

<?php foreach ( $data as $ptcbox ): ?>
   <div class="ptcbox-link"><a href="<?php echo $ptcbox['link']; ?>"></a></div>
   <div class="ptcbox-value-w1">
        <div class="ptcbox-value">$<?php echo $ptcbox['value']; ?></div>
        <div class="ptcbox-seconds"><?php echo $ptcbox['seconds']; ?> seconds</div>
   </div>
<?php endforeach; ?>


T think you want something like this:

while($row = mysql_fetch_array($result)) { echo ';

echo '

'; echo '" You will earn"'.$row['coins'].'"Coins"

'; echo '"Posted By "'.$row['username'].'

'; echo '"Site you will be viewing"'.$row['url'].'

'; }

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜