Jump to content


Photo

Duplicate Results with second query


  • Please log in to reply
2 replies to this topic

Poll: Why am I getting duplicate results with sql (0 member(s) have cast votes)

Why am I getting duplicate results with sql

  1. duplicate (0 votes [0.00%])

    Percentage of vote: 0.00%

  2. duplicate (0 votes [0.00%])

    Percentage of vote: 0.00%

Vote Guests cannot vote

#1 tdd1984

tdd1984
  • Members
  • PipPip
  • Member
  • 10 posts
  • Locationanderson, IN

Posted 13 July 2006 - 02:29 PM

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>
Tyler Dewitt

#2 lead2gold

lead2gold
  • Members
  • PipPipPip
  • Advanced Member
  • 164 posts
  • LocationOttawa, On

Posted 13 July 2006 - 06:51 PM

change this:
mysql_fetch_array ($result_count);

to this
mysql_fetch_assoc ($result_count);


#3 fenway

fenway
  • Staff Alumni
  • MySQL Si-Fu / PHP Resident Alien
  • 16,199 posts
  • LocationToronto, ON

Posted 13 July 2006 - 10:17 PM

Amazing that you could spot a single-line error in all of that mess.
Seriously... if people don't start reading this before posting, I'm going to consider not answering at all.




0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users