Tycoon Talk
Become a Big fish!
The number 1 forum for online business!
Post topics, ask questions, share your knowledge.
Tycoon Talk is part of Freelancer.com - find skilled workers online at a fraction of the cost.

PHP Forum


You are currently viewing our PHP Forum as a guest. Please register to participate.
Login



Freelance Jobs

Reply
Having a couple of issues with this code...
Old 12-08-2009, 06:28 PM Having a couple of issues with this code...
Brian07002's Avatar
Defies a Status

Posts: 2,162
Name: ...
Location: ...
Trades: 0
Since the code is long, let me explain what I am having a problem with, and what I am trying to accomplish first:

I have 3 blocks of php 'WORKING' code that when it's running.

I want it to display some images from mysql db, in a sorted way (order by price) with a text link under the image and when either the image or text link is clicked it creates a new page dynamically based on the id of that item in the db.

I believe I have all the code required for this and I sorted it all out...If you test it locally it will work, up to a point...I get the image -- the text under it, and a link to the id of a new page, the url changes but I want to use an entirely clean window for that link with the new template.

FWIW: The new template will be basically a larger image of the one on the inital page and will contain some details from the db.

Also, the << pagination code >> get's slightly messed up when you enable block 3 of the code, I can't figure it out...You need to try that.

Speaking of the pagination code, how could I limit that code so there is no more than a given amount of images from that script? I currently have the ability to set how many per page, which is good, but if I set more than 5 it will not create a new row, it just keeps putting the images in one row, I would like to have the ability to set a variable to put as many rows as I want.

Code:
DB Fields: (not all are being used in the following script)

Element_1 = Name of website
Element_2 = Website URL
Element_3 = Description
Element_4 = Price
Element_5 = Image URL
(by the way, this is all inside one index.php -- except of course that bit ^^ about the elements above.)


Here's the three blocks of code:

Block 1 - Pagination Code
PHP Code:
<?php 
include('config.php');    // DB connect script


                                       // Begin Pagination Code //





    
$tbl_name="ap_form_1";        //your table name
    // How many adjacent pages should be shown on each side?
    
$adjacents 1;
    
    
/*
      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 $tbl_name";
    
$total_pages mysql_fetch_array(mysql_query($query));
    
$total_pages $total_pages[num];
    
    
/* Setup vars for query. */
    
$targetpage "index.php";     //your file name (the name of this file)
    
$limit 1;             //how many items to show per page
    
$page $_GET['page'];
    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 ORDER BY ABS(`element_4`) DESC 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 + ($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 + ($adjacents 2))    //enough pages to hide some
    
{
    
//close to beginning; only hide later pages
    
if($page + ($adjacents 2))        
    {
    for (
$counter 1$counter + ($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 - (+ ($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";        
    }

                                       
// End Pagination Code //

Block 2 - Image Resize Code
PHP Code:


// Begin Resize Image To Specific Dimensions Code //

    
    
$dir "http://www.webmaster-talk.com/images/"//dir of your images
    
$exten1 "jpg"//extension -> jpg / gif / png
    
$exten2 "png"//extension
    
$exten3 "gif"//extension
    
    
$maxwidth '190'//maximum width
    
if ($handle = @opendir($dir)) 
    
    echo 
"<table>";
    echo 
"<tr>";
    
    {
    
    while (
false !== ($file = @readdir($handle))) { 
    
$bestand $dir ."/"$file;
    
$ext pathinfo($bestand);
    if(
$ext['extension'] == $exten1 || $ext['extension'] == $exten2 || $ext['extension'] == $exten3)
    
    while(
$row mysql_fetch_array($result)) {
    
    {
    
    
$width getimagesize($bestand);
    if(
$width[0]<$maxwidth)
    
    {

    echo 
"<td align=\"center\">";
    echo 
"<a href=\"http://localhost/scripts/index.php?id=$row[$id]\"><img src=\"http://www.webmaster-talk.com/images/$row[element_5]\" alt=\"$row[element_1]\" title=\"$row[element_1]\">";
    echo 
"<p />";
    echo 
"<a href=\"$row[element_2]\">$row[element_1]</a>";
    
    }

    else

    {
    echo 
"<td align=\"center\">";
    echo 
"<a href=\"http://localhost/scripts/index.php?id=$row[id]\"><img src=\"http://www.webmaster-talk.com/images/$row[element_5]\" width='$maxwidth' alt=\"$row[element_1]\" title=\"$row[element_1]\">";
    echo 
"<p />";
    echo 
"<a href=\"$row[element_2]\">$row[element_1]</a>";    
    
    } 
    }
    } 
    }
    @
closedir($handle); 
    }
    echo 
"</tr>";
    echo 
"</td>";
    echo 
"</table>";

                             
// End Resize Image To Specific Dimensions Code // 
Block 3 - Page generation code (the echo's were used to try test this part of the script)
PHP Code:

                                            
// Begin of page generation code //

    /*
    $id = $_GET['id'];
    $query = "select * from $tbl_name where id = '$id'";
    $result = mysql_query($query);
    $row = mysql_fetch_array($result);
    echo "<br />";
    echo "Website: ". $row['element_1'];
    echo "<br />";
    echo "Website Url: ". $row['element_2'];

    $query = "select id from $tbl_name";
    $result = mysql_query($query);

    while($row=mysql_fetch_array($result))
    {
    echo "<a href=index.php?id=".$row['id'];
    }
    */

                                            // End of page generation code //


?> 
Code:
<div align="center">
<?=$pagination?></div>
Thanks!
__________________
Made2Own

Please login or register to view this content. Registration is FREE

Last edited by Brian07002; 12-08-2009 at 11:57 PM..
Brian07002 is offline
Reply With Quote
View Public Profile
 
 
Register now for full access!
Old 12-16-2009, 08:09 AM Re: Having a couple of issues with this code...
Junior Talker

Posts: 2
Trades: 0
Wow, there's a lot of code there, but I'm still not sure what you want us to solve?

All I could get from it was that you'd like to open links in a new window? You could add the target attribute to your links like this

Code:
<a href="whereever.html" target="_blank">anchor text</a>
Sorry if I'm insulting your intelligence.
sloth456 is offline
Reply With Quote
View Public Profile
 
Reply     « Reply to Having a couple of issues with this code...
 

Thread Tools Search this Thread
Search this Thread:

Advanced Search

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are Off
Pingbacks are Off
Refbacks are Off





   
RSS Feed  Feeds: RSS   JS   XML
RSS Feed  Feeds for this forum: RSS   JS   XML



Page generated in 0.11615 seconds with 12 queries