Please help.
I want to pull out data from a mysql database in a random order. I want multiple rows pulled out and I want next and prev buttons. I have it all working (the next and prev part) but when I add the ORDER BY RAND ( ) part I get the error "Warning: Supplied argument is not a valid MySQL result resource" Can anyone help me? Can you get random results this way if you want to use limit to put a certain number of results to a page? Here is my code:
<?php
$row_max=1;
if (!$profiles_shown)
{
$profiles_shown=0;
}
else
{
$old_profiles=$profiles_shown;
}
//Set variables for database access:
(blah blah)
if (!$total_result)
{
$Querya = "SELECT pusername, bus, loc, pos, his, go, rel, ac from PROFILES where (Professioncat = '$Professionals')";
$Resulta= mysql_db_query ($DBName, $Querya, $Link);
$total_result=mysql_num_rows($Resulta);
}
$proval=$Professionals;
$Query = "SELECT pusername, bus, loc, pos, his, go, rel, ac from PROFILES where (Professioncat = '$Professionals') ORDER BY RAND ( ) LIMIT $profiles_shown, $row_max";
$Result= mysql_db_query ($DBName, $Query, $Link);
while ($Row = mysql_fetch_array
($Result)) {
print( "<BR><BR>\n");
print("<TABLE BORDER=0 cellpadding=10 cellspacing=0 width=80% ALIGN=center>\n");
print( "<TR>\n");
print("<TD BGCOLOR=#3366ff VALIGN=top><FONT size=3 COLOR=#ffffff><B>USER:</B></FONT><FONT COLOR=black size=3><B> $Row[pusername]</B></FONT></TD>\n");
print("<TD BGCOLOR=#3366ff VALIGN=top><FONT size=3 COLOR=#ffffff><B> AC:</B></FONT><FONT COLOR=black size=3><B> $Row[ac]</B></FONT></TD>\n");
print ("</TR>\n");
print( "<TR>\n");
print("<TD BGCOLOR=#ddddff VALIGN=top><B>B:</B></TD>\n");
print("<TD BGCOLOR=#ddddff>$Row[bus] </TD>\n");
print ("</TR>\n");
print ("<TR>\n");
print("<TD BGCOLOR=#ddddff VALIGN=top><B>L:</B></TD>\n");
print("<TD BGCOLOR=#ddddff>$Row[loc] </TD>\n");
print ("</TR>\n");
print ("<TR>\n");
print("<TD BGCOLOR=#ddddff VALIGN=top><B>POS:</B></TD>\n");
print("<TD BGCOLOR=#ddddff>$Row[pos] </TD>\n");
print ("</TR>\n");
print ("<TR>\n");
print("<TD BGCOLOR=#ddddff VALIGN=top><B>HIS:</B></TD>\n");
print("<TD BGCOLOR=#ddddff>$Row[his] </TD>\n");
print ("</TR>\n");
print ("<TR>\n");
print("<TD BGCOLOR=#ddddff VALIGN=top><B> GO:</B></TD>\n");
print("<TD BGCOLOR=#ddddff>$Row[go] </TD>\n");
print ("</TR>\n");
print ("<TR>\n");
print("<TD BGCOLOR=#ddddff VALIGN=top><B>REL:</B><BR></TD>\n");
print("<TD BGCOLOR=#ddddff>$Row[rel] <BR></TD>\n");
print( "</TR>\n");
?>
<TR>
<TD BGCOLOR=#9999cc colspan="2" VALIGN=top><CENTER><A HREF=http://www.phpbuilder.com/board/archive/index.php/"email.php">
<B>EMAIL</B></A></CENTER></TD>
</TR>
<?php
$profiles_shown++;
print( "</TABLE>\n");
print( "<BR><BR>\n");
}
$profiles_shown=$profiles_shown-1;
if ((($profiles_shown+1) !=($row_max)) &&($profiles_shown!=($total_result-1)))
{
$profiles_on_this_page=$profiles_shown-$old_profiles;
$profiles_shown_prev=$profiles_shown- (($row_max+$profiles_on_this_page));
echo "<CENTER><B><a href=Handleindex.php?profiles_shown=$profiles_shown_prev&total_result=$total_result&Professionals=$proval>PREVIOUS</a></B>";
echo "  ";
$profiles_shown=$profiles_shown+1;
echo "<B><a href=Handleindex.php?profiles_shown=$profiles_shown&total_result=$total_result&Professionals=$proval>NEXT</a></CENTER></B>";
$profiles_shown=$profiles_shown-1;
}
if (($profiles_shown==($total_result-1)) && (($profiles_shown+1) !=($row_max)))
{
$profiles_on_this_page=$profiles_shown-$old_profiles;
$profiles_shown_prev=$profiles_shown- (($row_max+$profiles_on_this_page));
echo "<CENTER><B><a href=Handleindex.php?profiles_shown=$profiles_shown_prev&total_result=$total_result&Professionals=$proval>PREVIOUS</a></B>";
}
if (($profiles_shown!=($total_result-1))&& (($profiles_shown+1) ==($row_max)))
{
$profiles_shown=$profiles_shown+1;
echo "<CENTER><B><a href=Handleindex.php?profiles_shown=$profiles_shown&total_result=$total_result&Professionals=$proval>NEXT</a></CENTER></B>";
}
echo "<BR><BR>";
mysql_close ($Link);
?>
I want to pull out data from a mysql database in a random order. I want multiple rows pulled out and I want next and prev buttons. I have it all working (the next and prev part) but when I add the ORDER BY RAND ( ) part I get the error "Warning: Supplied argument is not a valid MySQL result resource" Can anyone help me? Can you get random results this way if you want to use limit to put a certain number of results to a page? Here is my code:
<?php
$row_max=1;
if (!$profiles_shown)
{
$profiles_shown=0;
}
else
{
$old_profiles=$profiles_shown;
}
//Set variables for database access:
(blah blah)
if (!$total_result)
{
$Querya = "SELECT pusername, bus, loc, pos, his, go, rel, ac from PROFILES where (Professioncat = '$Professionals')";
$Resulta= mysql_db_query ($DBName, $Querya, $Link);
$total_result=mysql_num_rows($Resulta);
}
$proval=$Professionals;
$Query = "SELECT pusername, bus, loc, pos, his, go, rel, ac from PROFILES where (Professioncat = '$Professionals') ORDER BY RAND ( ) LIMIT $profiles_shown, $row_max";
$Result= mysql_db_query ($DBName, $Query, $Link);
while ($Row = mysql_fetch_array
($Result)) {
print( "<BR><BR>\n");
print("<TABLE BORDER=0 cellpadding=10 cellspacing=0 width=80% ALIGN=center>\n");
print( "<TR>\n");
print("<TD BGCOLOR=#3366ff VALIGN=top><FONT size=3 COLOR=#ffffff><B>USER:</B></FONT><FONT COLOR=black size=3><B> $Row[pusername]</B></FONT></TD>\n");
print("<TD BGCOLOR=#3366ff VALIGN=top><FONT size=3 COLOR=#ffffff><B> AC:</B></FONT><FONT COLOR=black size=3><B> $Row[ac]</B></FONT></TD>\n");
print ("</TR>\n");
print( "<TR>\n");
print("<TD BGCOLOR=#ddddff VALIGN=top><B>B:</B></TD>\n");
print("<TD BGCOLOR=#ddddff>$Row[bus] </TD>\n");
print ("</TR>\n");
print ("<TR>\n");
print("<TD BGCOLOR=#ddddff VALIGN=top><B>L:</B></TD>\n");
print("<TD BGCOLOR=#ddddff>$Row[loc] </TD>\n");
print ("</TR>\n");
print ("<TR>\n");
print("<TD BGCOLOR=#ddddff VALIGN=top><B>POS:</B></TD>\n");
print("<TD BGCOLOR=#ddddff>$Row[pos] </TD>\n");
print ("</TR>\n");
print ("<TR>\n");
print("<TD BGCOLOR=#ddddff VALIGN=top><B>HIS:</B></TD>\n");
print("<TD BGCOLOR=#ddddff>$Row[his] </TD>\n");
print ("</TR>\n");
print ("<TR>\n");
print("<TD BGCOLOR=#ddddff VALIGN=top><B> GO:</B></TD>\n");
print("<TD BGCOLOR=#ddddff>$Row[go] </TD>\n");
print ("</TR>\n");
print ("<TR>\n");
print("<TD BGCOLOR=#ddddff VALIGN=top><B>REL:</B><BR></TD>\n");
print("<TD BGCOLOR=#ddddff>$Row[rel] <BR></TD>\n");
print( "</TR>\n");
?>
<TR>
<TD BGCOLOR=#9999cc colspan="2" VALIGN=top><CENTER><A HREF=http://www.phpbuilder.com/board/archive/index.php/"email.php">
<B>EMAIL</B></A></CENTER></TD>
</TR>
<?php
$profiles_shown++;
print( "</TABLE>\n");
print( "<BR><BR>\n");
}
$profiles_shown=$profiles_shown-1;
if ((($profiles_shown+1) !=($row_max)) &&($profiles_shown!=($total_result-1)))
{
$profiles_on_this_page=$profiles_shown-$old_profiles;
$profiles_shown_prev=$profiles_shown- (($row_max+$profiles_on_this_page));
echo "<CENTER><B><a href=Handleindex.php?profiles_shown=$profiles_shown_prev&total_result=$total_result&Professionals=$proval>PREVIOUS</a></B>";
echo "  ";
$profiles_shown=$profiles_shown+1;
echo "<B><a href=Handleindex.php?profiles_shown=$profiles_shown&total_result=$total_result&Professionals=$proval>NEXT</a></CENTER></B>";
$profiles_shown=$profiles_shown-1;
}
if (($profiles_shown==($total_result-1)) && (($profiles_shown+1) !=($row_max)))
{
$profiles_on_this_page=$profiles_shown-$old_profiles;
$profiles_shown_prev=$profiles_shown- (($row_max+$profiles_on_this_page));
echo "<CENTER><B><a href=Handleindex.php?profiles_shown=$profiles_shown_prev&total_result=$total_result&Professionals=$proval>PREVIOUS</a></B>";
}
if (($profiles_shown!=($total_result-1))&& (($profiles_shown+1) ==($row_max)))
{
$profiles_shown=$profiles_shown+1;
echo "<CENTER><B><a href=Handleindex.php?profiles_shown=$profiles_shown&total_result=$total_result&Professionals=$proval>NEXT</a></CENTER></B>";
}
echo "<BR><BR>";
mysql_close ($Link);
?>