Steve Jones
Steve Jones

Reputation: 17

Hiding Specific MySQL entries in functions file.

I have a page with "Quick Links" that display links of the countries from a members table and if a user clicks "Arkansas" the member information associated with that state will display below the state link. The state links are automatically pulled from our database and I would like to exclude state links do not currently have any entries. I believe I need to edit this line but don't know the proper syntax.

$sql1 = mysql_query("select state_id,state_name from ".TABLE_STATE); 

Thank you for even taking the time to look at this! I really appreciate it! Here is the link to the page (http://homesforhorses.dreamhosters.com/members/) and below is the rest of the code if needed:

<?php
update_option('image_default_link_type','none');

include("/home/cingen/config_admin.php");

function listMembers() {
    $sql1 =mysql_query("select state_id,state_name from ".TABLE_STATE);
    ob_start(); //send all future echo statements to the buffer instead of output

    while($row1=mysql_fetch_assoc($sql1)) { ?> 
        <a href="#'STATE'" onclick="getDetails(<?php echo $row1["state_id"];?>)"> <?php echo             $row1["state_name"]; ?> </a> &nbsp;
    <?php } ?>
    <br/><br/><div id="resultDiv"></div>
<?php
    $result = ob_get_clean(); //capture the buffer into $result
    return $result; //return it, instead of echoing
}
add_shortcode('memberlist', 'listMembers');

//Shortcode to list Rescue Standards members
function listRescueStandards() {

    $display_members = '';
    $sql = mysql_query("SELECT vc.*, s.*, m.*
        FROM ".TABLE_COMPLIANCE." vc, ".TABLE_STATE." s, ".TABLE_MEMBERS." m
        WHERE vc.member_id = m.cid
        AND m.status = '1'
        AND m.state = s.state_abbr
        ORDER BY m.state, m.organization ASC");

    while ($row = mysql_fetch_array($sql)) {
        $organization = stripslashes($row['organization']);

        if ($row['website']) {
            $link = "<a href='http://".$row['website']."' target='_blank'>";
            $endlink = "</a>";
        } else {
            $link = "";
            $endlink = "";
        }

        if($x != $row['state_name']){
            $display_members .= "<br /><strong>".strtoupper($row['state_name'])."</strong><br />";
            $x = $row['state_name'];
        }

        $display_members .= $link.$organization.$endlink."<br />
           ".stripslashes($row['address'])." ".stripslashes($row['address2'])."<br />
           ".stripslashes($row['city']).", ".stripslashes($row['state'])."  ".$row['zip']."<br />";

        if ($row['contact_name']) $display_members .= "Contact:  ".stripslashes($row['contact_name']);
        if ($row['contact_title'])  $display_members .= ", ".stripslashes($row['contact_title']);
        if ($row['phone'])      $display_members .= "<br />Tel: ".stripslashes($row['phone']);
        if ($row['fax'])    $display_members .= "<br />Fax: ".stripslashes($row['fax']);
        if ($row['email'])  $display_members .= "<br />".$row['email'];
        if ($row['website'])        $display_members .= "<br /><a href='http://".$row['website']."'  target='_blank'>".$row['website']."</a>";
        if ($row['year_est'])       $display_members .= "<br />Founded in ".$row['year_est'].".";
        if ($row['org501c3'] == "1")        $display_members .= "<br />This organization IS  registered with the IRS as a 501(c)3.";
        if ($row['org501c3'] != "1")    $display_members .= "<br />This organization is NOT    registered with the IRS as a 501(c)3.";

        $display_members .= "<br /><br />";
    }

    //return "<div class='memberlist'>" . $display_members[$i + ($j * $rows)] . "</div>";
    return "<div class='memberlist'>" . $display_members . "</div>";
}
add_shortcode('standardslist', 'listRescueStandards');
?>

Upvotes: 0

Views: 43

Answers (1)

Sevle
Sevle

Reputation: 3119

It's rather difficult to answer with certainty without looking at your table's information, but perhaps you want something like this:

$sql1 = mysql_query("select state_id,state_name from ".TABLE_STATE." WHERE website != ''); 

instead of

$sql1 = mysql_query("select state_id,state_name from ".TABLE_STATE); 

If that doesn't work, provide more information about your table's structure.

EDIT: After looking closer at your code, the query you're looking for may be the following

$sql1 = mysql_query("select s.state_id,s.state_name from ".TABLE_STATE." s, ".TABLE_MEMBERS." m WHERE m.state = s.state_abbr and m.website !='');

Upvotes: 1

Related Questions