2014-10-21 5 views
0

У меня есть страница с «Быстрыми ссылками», в которой отображаются ссылки стран из таблицы участников, и если пользователь нажимает «Арканзас», информация о члене, связанная с этим состоянием, будет отображаться ниже ссылки состояния. Государственные ссылки автоматически извлекаются из нашей базы данных, и я хотел бы исключить ссылки состояния, которые в настоящее время не имеют никаких записей. Я считаю, что мне нужно отредактировать эту строку, но не знаю правильного синтаксиса.Скрытие конкретных записей MySQL в файле функций.

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

Благодарим вас за то, что нашли время, чтобы посмотреть на это! Я очень ценю это! Вот ссылка на страницу (http://homesforhorses.dreamhosters.com/members/) и ниже остальной части кода, если это необходимо:

<?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'); 
?> 

ответ

1

Это довольно трудно ответить с уверенностью, не глядя на информацию вашего стола, но, возможно, вы хотите что-то вроде этого :

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

вместо

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

Если это не работает, предоставить более подробную информацию о structu вашей таблицы число рейнольдса

EDIT: После приглядевшись на ваш код, запрос вы ищете может быть следующим

$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 !=''); 
+0

Спасибо за быстрый ответ! Я считаю, что вы правы, но по какой-то причине я продолжаю получать ошибку. Я пытаюсь исключить запись из state_name. Вот мой код $ sql1 = mysql_query ("select state_id, state_name from" .TABLE_STATE. "WHERE state_name! =" 15 "); –

+0

Вероятно, вам нужно $ sql1 = mysql_query (" select state_id, state_name from ".TABLE_STATE." ГДЕ state_id! = "15"); так как я бы предположил, что state_name - это строка (например, Арканзас), а state_id - целое число (например, 15). Тем не менее, это не конкретное решение, ваш пророк должен получить Арканзас позже, когда будет запись в «Арканзасе». Без схемы вашей базы данных я не могу вам помочь. – Sevle

+0

Если вы посмотрите ближе к своему коду, то вы можете найти следующий код: sql1 = mysql_query («select s.state_id, s.state_name from» .TABLE_STATE. state = s.state_abbr и m.website! = ''); – Sevle

Смежные вопросы