Ошибка разбора: синтаксическая ошибка, неожиданный T_ECHO - PullRequest
1 голос
/ 26 апреля 2011

Я работал над чем-то последние несколько дней, но этот кусочек кода постоянно выдает неожиданный T_ECHO.Кажется, мои друзья не могут найти в этом ничего плохого, и я на грани терпения.Даже с удаленным вложенным циклом while все равно выдается ошибка, и я переключился на while: end while;синтаксис, и я все еще понимаю.Я уверен, что ответ смотрит мне в лицо, но я, вероятно, не вижу его.

  while ($row = mysql_fetch_array($result, MYSQL_ASSOC)):        
            echo "<tr>";
              echo "<td>". $row["site_description"] ."</td>";
              echo "<td>". $row["url"] ."</td>";
              echo "<td><select>";
                while ($roar = mysql_fetch_array($categories, MYSQL_ASSOC)):
                  echo "<option value=\"". $roar["category"] ."\">". $roar["category"] ."</option>";
                endwhile;
              echo "</select></td>";
            echo "</tr>";
          endwhile;

Ответы [ 2 ]

2 голосов
/ 26 апреля 2011

Вы можете использовать короткие теги, чтобы сделать это намного более читабельным и, вероятно, менее подверженным ошибкам.

<?php while ($row = mysql_fetch_array($result, MYSQL_ASSOC)): ?>
    <tr>
        <td><?= $row["site_description"] ?></td>
        <td><?= $row["url"] ?></td>
        <td>
            <select>
            <?php while ($roar = mysql_fetch_array($categories, MYSQL_ASSOC)): ?>
                <option><?= $roar["category"] ?></option>
            <?php endwhile; ?>
            </select>
        </td>
    </tr>
<?php endwhile; ?>
0 голосов
/ 26 апреля 2011

Попробуйте это ...

Я думаю, что он, возможно, падает, потому что после того, как вы проанализировали набор результатов по категориям, для первого сайта ничего не получится при следующем вызове mysql_fetch_array. Таким образом, сделав это заранее и поместив результаты в переменную, исправим это.

Я добавил "\ t" и "\ n" в строки, чтобы сделать формат html красиво в исходном представлении.

    $result = mysql_query("select * from tmp_sites");
$categories = mysql_query("select * from tmp_cats");
$select_options = "";
while ($roar = mysql_fetch_array($categories, MYSQL_ASSOC)):
                  $select_options .= "\t\t<option value=\"". $roar["category"] ."\">". $roar["category"] ."</option>\n";
                endwhile;
echo "<table>";
while ($row = mysql_fetch_array($result, MYSQL_ASSOC)):
            echo "\t<tr>\n";
              echo "\t\t<td>". $row["site_description"] ."</td>\n";
              echo "\t\t<td>". $row["url"] ."</td>\n";
              echo "\t\t<td><select>\n";
                echo $select_options;
              echo "\t\t</select></td>\n";
            echo "\t</tr>\n";
          endwhile;
echo "</table>"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...