Jump to content

Why am I getting duplicate results with sql  

  1. 1. Why am I getting duplicate results with sql

    • duplicate
      0
    • duplicate
      0


Recommended Posts

Could someone help me for some reason I'm getting duplicat results on my sql query my query was working fine until i added a second one cause i was using a pagination. My 1st query was working fine until i went and added the second query
i can be contact here, or e-mail tdd1984@yahoo.com, AOL: tdd1984, or yahoo tdd1984, or msn tylerd01@hotmail.com



<?php
mysql_select_db("tdd1984") or die("Problem selecting database");

$type = urlencode ($_GET['type']);
$limit = 25;

$sql = "SELECT COUNT(*) FROM (items JOIN user ON items.userId=user.ID) LEFT
JOIN images ON items.itemId=images.idNum ";
if (isset($_GET['type'])) { $sql .= " WHERE type='".
urlencode($_GET['type'])."'"; }
$result_count = mysql_query($sql) or die ("MySQL Error: ".mysql_error());
$numofrows = mysql_fetch_array ($result_count);


if(empty($page))
{    // Checks if the $page variable is empty (not set)
    $page = 1;      // If it is empty, we're on page 1
    }

    $limitvalue = ($page - 1) * $limit;
    // Ex: (2 * 25) - 25 = 25 <- data starts at 25



$sql1 = "SELECT itemId, userId, description, date, city, county, idNum, name,
price, type FROM (items JOIN user ON items.userId=user.ID) LEFT JOIN images ON
items.itemId=images.idNum";
if (isset($_GET['type'])) { $sql1 .= " WHERE type='".
urlencode($_GET['type'])."'"; }
$sql1 .= "limit $limitvalue, $limit";
$result = mysql_query($sql1) or die("Error: " . mysql_error());

if(mysql_num_rows($result) == 0)
{
    echo("Nothing to Display!");
    }



echo "<TABLE width=\"25px\">\n";
echo "<TR><TD colspan=\"2\"><img
src=\"http://indianaclassifiedads.com/description.jpg\"></TD><TD><img
src=\"http://indianaclassifiedads.com/price.jpg\"></TD><TD><img
src=\"http://indianaclassifiedads.com/datesubmitted.jpg\"><td><img
src=\"http://indianaclassifiedads.com/city.jpg\"></td><TD><img
src=\"http://indianaclassifiedads.com/county.jpg\"></td></TD></TR>\n";

while($row = mysql_fetch_array($result))
{

for($i = 0; $i < $result; $i++)
{

if($i % 2)
{
echo "<TR bgcolor=\"#FFFFCC\">\n";
}

else
{
echo "<TR bgcolor=\"white\">\n";
}

if($row['idNum'] == null)
{
echo "<td class=\"result-cell-border\">&nbsp</td>";
}

else
{
echo "<td><img src=\"http://indianaclassifiedads.com/pic.gif\"></td>";
}

echo "</td>";
echo "<td align=\"left\" class=\"result-cell-border\">
<span class=\"result-title\">
<a
href=\"contact.php?type-id=".$row['itemId']."&userid=".$row['userId'].
"\ class=\"result-title\"\">".$row['name']."</a>
</span>
<br />".$row['description']."</a></td>
<td align=\"center\"
class=\"result-cell-border\">$".$row['price']."</TD>
<TD align=\"center\"
class=\"result-cell-border\">".$row['date']."</td>
<td align=\"center\"
class=\"result-cell-border\">".$row['city']."</td>
<td align=\"center\"
class=\"result-cell-border\">".$row['county']."</TD>\n";
echo "</TR>\n";

}
}
echo "</TABLE>\n";

//pagination next button
if($page != 1)
{
    $pageprev = $page--;
        // Fancy way of subtracting 1 from $page
echo("<a href=\"$PHP_SELF&page=$pageprev\">PREV".$limit."</a> ");
    }
else
    echo("PREV".$limit." ");
        // If we're on page 1, PREV is not a link

$numofpages = $numofrows / $limit;
    /* We divide our total amount of rows (for example 102) by the limit (25).
This
will yield 4.08, which we can round down to 4. In the next few lines, we'll
create 4 pages, and then check to see if we have extra rows remaining for a
5th
page. */

    for($i = 1; $i <= $numofpages; $i++)
{
    /* This for loop will add 1 to $i at the end of each pass until $i is
greater
than $numofpages (4.08). */
if($i == $page)
{
    echo($i." ");
    }

else
{
    echo("<a href=\"$PHP_SELF&page=$i\">$i</a> ");
        }
}
        /* This if statement will not make the current page number available in
link form. It will, however, make all other pages available in link form. */
      // This ends the for loop

if(($numofrows % $limit) != 0)
{
    /* The above statement is the key to knowing if there are remainders, and
it's
all because of the %. In PHP, C++, and other languages, the % is known as a
Modulus. It returns the remainder after dividing two numbers. If there is no
remainder, it returns zero. In our example, it will return 0.8 */

        if($i == $page)
{
        echo($i." ");
        }
else
{
        echo("<a href=\"$PHP_SELF&page=$i\">$i</a> ");
        }
        /* This is the exact statement that turns pages into link form that is
used

above */
    }  // Ends the if statement


    if(($numofrows - ($limit * $page)) > 0)
{
    /* This statement checks to see if there are more rows remaining, meaning
there
are pages in front of the current one. */

    $pagenext = $page++;
        // Fancy way of adding 1 to page

    echo("<a
href=\"$PHP_SELF?type=$type&page=$pagenext\">NEXT".$limit."</a>");
        /* Since there are pages remaining, this outputs NEXT in link form. */
    }
else
{
    echo("NEXT".$limit);
        /* If we're on the last page possible, NEXT will NOT be displayed in
link
form. */
    }


?>



</body>
</html>
Link to comment
https://forums.phpfreaks.com/topic/14485-duplicate-results-with-second-query/
Share on other sites

This thread is more than a year old. Please don't revive it unless you have something important to add.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.