Jump to content


This topic is now archived and is closed to further replies.


PHP and MySQL problem

Recommended Posts

Alright, here is a copy of the code that is having the problems:

<a onclick="switchmenu('first');" class="proftop" style="cursor:pointer;">
<img src="images/firstmenu.gif" />
<?php $cat1maxlvl = $maxlvl / 4;
<span class="proftop"> <?php echo $faction; ?> <?php echo "$minlvl - $cat1maxlvl"; ?> Profiles</span>
<dd id="first">
$get1 = "SELECT * FROM `profile` WHERE `minlvl`>='$minlvl' AND `maxlvl`<='$cat1maxlvl' AND `faction`='$faction' ORDER BY profileid AND minlvl DESC";
$q1 = mysql_query($get1) or die(mysql_error());
while($r1 = mysql_fetch_array($q1)){
$p1id = $r1['profileid'];
$p1name = $r1['profilename'];
$p1link = $r1['profilelink'];
<a href="<?php echo $p1link; ?>" class="f1"> <img src="images/profilemenu.gif" border="0" /></a>
<a href="<?php echo $p1link; ?>" class="f1"><?php echo $p1name; ?></a>
<br />
<?php } ?>

This part of the code is giving me a headache.  Here are the variables used in this:

$minlvl = 1
$maxlvl = 20
$cat1maxlvl = 5
$faction = alliance
and then so on and so forth.

I have 4 of these being called as it runs down the script, going from levels 1-5, 5-10, 10-15, and 15-20.  The thing is, this one is getting something that has a maxlvl of 10.  Is my SQL wrong?  If you need to see the full script just let me know.


Share this post

Link to post
Share on other sites

Since the mins + maxes are integeres, you can try posting them in directs without quotes:

Also, i thing the ORDER clause shouldn't contain an AND (?)

$get1 = "SELECT * FROM `profile` WHERE (minlvl >=$minlvl) AND (maxlvl<=$cat1maxlvl) AND (faction='$faction') ORDER BY profileid, minlvl DESC;";

its also helpful to echo $get1 so you can check that the variables are going in correctly.


Share this post

Link to post
Share on other sites


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.