PHP Loop Вопрос? - PullRequest
       21

PHP Loop Вопрос?

0 голосов
/ 21 октября 2009

У меня есть скрипт php, который будет зацикливаться до тех пор, пока не отобразятся все переменные навыка, опыта и рейтинга, которые пользователь ввел в базу данных.

Я хочу, чтобы следующий код отображался только один раз и только если переменные содержат информацию, а не пустые. Как я могу это сделать. Надеюсь, я все объяснил.

Я хочу, чтобы этот код отображался первым.

echo '<div id="con">';
echo '<h2 id="s">Skills</h2>';
echo '<h2 id="exp">Exp</h2>';
echo '<h2 id="r">Rating</h2>';

Вот полный код.

<?php
$mysqli = new mysqli("localhost", "root", "", "sitename");
$dbc = mysqli_query($mysqli,"SELECT * FROM skills WHERE user_id='3'");

if (!$dbc) {
    print mysqli_error();
}

echo '<div id="con">';
echo '<h2 id="s">Skills</h2>';
echo '<h2 id="exp">Exp</h2>';
echo '<h2 id="r">Rating</h2>';

while ($row = mysqli_fetch_assoc($dbc)) {
    if (!empty($row['skill']) || !empty($row['exp']) || !empty($row['rating'])) { 
        if (! empty($row['skill'])) {
                echo '<div class="s">';
                echo '<p>' , htmlspecialchars($row['skill']) , '</p>';
            }

        if (! empty($row['exp'])) {
                echo '<div class="s">';
                echo '<p>' , htmlspecialchars($row['exp']) , '</p>';
            }

        if (! empty($row['rating'])) {
                echo '<div class="s">';
                echo '<p>' , htmlspecialchars($row['rating']) , '</p>';
            }

    }
}

echo '</div>';
?>

1 Ответ

3 голосов
/ 21 октября 2009

после цикла вы можете взять следующее:

echo '<div id="con">';
echo '<h2 id="s">Skills</h2>';
echo '<h2 id="exp">Exp</h2>';
echo '<h2 id="r">Rating</h2>';

и вместо echo в циклах используйте vars для хранения текста, а затем проверьте, содержит ли var что-то, а затем echo

Обновление: станет что-то вроде этого:

$skills = "";
$exps = "";
$ratings = "";
while ($row = mysqli_fetch_assoc($dbc)) {
        if (!empty($row['skill']) || !empty($row['exp']) || !empty($row['rating'])) { 
                if (! empty($row['skill'])) {
                                $skills .='<div class="s">';
                                $skills .= '<p>' , htmlspecialchars($row['skill']) , '</p>';
                        }

                if (! empty($row['exp'])) {
                                $exps .= '<div class="s">';
                                $exps .= '<p>' , htmlspecialchars($row['exp']) , '</p>';
                        }

                if (! empty($row['rating'])) {
                                $ratings .= '<div class="s">';
                                $ratings .= '<p>' , htmlspecialchars($row['rating']) , '</p>';
                        }

        }
}

echo '<div id="con">';
if($skills){
 echo '<h2 id="s">Skills</h2>';
 echo $skills;
}

if($exps){
  echo '<h2 id="exp">Exp</h2>';
  echo $exps;
}

if($ratings){
  echo '<h2 id="r">Rating</h2>';
  echo $ratings;
}
echo '</div>';
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...