Синтаксическая ошибка получения данных SQL

  • Автор темы Deutsch Lern
  • 51
  • Обновлено
  • 16, May 2024
  • #1
Привет, Можете ли вы исправить синтаксическую ошибку в этом коде?
 

if(mysqli_num_rows($sql) > 0)

{

while($row = mysqli_fetch_array($sql))

{

$result .='

<tr>

<td>'.$row["title"].'</td>

<td>'.$row["name"].'</td>

if($row["type"]==2)

{ echo "<td>type2</td>";}

else if($row["type"]==1)

{echo"<td>type1</td>";}

else if($row["type"]==3)

{echo"<td>type3</td>";}

else if($row["type"]==4)

{echo"<td>type4</td>";}

<td>'.$row["add_date"].'</td>

</tr>';

}

}

else

Код (разметка):

Deutsch Lern


Рег
09 Aug, 2012

Тем
1

Постов
1

Баллов
11
  • 31, May 2024
  • #2
Ответ, который дал Сарак, заключался в том, как вы хотите создавать контент.

Я думаю, что часть, которая смущает ОП, - это то, как обрабатывать операторы IF для его переключателей. например, вам следует установить данные в переменную и добавить к ним данные на основе операторов if, например
 if(mysqli_num_rows($sql) > 0)

{

while($row = mysqli_fetch_array($sql)) {

$output = '';

$output .='<tr>';

$output .= '<td>'. $row["title"]. '</td>';

$output .= '<td>'. $row["name"]. '</td>';

if ($row["type"]==2) {

$output .= "<td>type2</td>";

}

else if ($row["type"]==1) {

$output .= "<td>type1</td>";

}

else if ($row["type"]==3) {

$output .= "<td>type3</td>";

}

else if ($row["type"]==4){

$output .= "<td>type4</td>";

}

$output .= '<td>'. $row["add_date"]. '</td>';

$output .= '</tr>';

echo $output;

}

}

else
PHP: вы также можете преобразовать несколько операторов if/else if в оператор case, так как это будет довольно простой переключатель, и если вы хотите построить всю страницу, вы можете удалить очистку $output в начале while.

цикл и переместите эхо за пределы while, но я считаю, что эта конфигурация больше соответствует тому, что ищет ОП.
 

Дениска2


Рег
29 Aug, 2011

Тем
1

Постов
3

Баллов
13
  • 03, Jun 2024
  • #3
Спасибо за ваш ответ, но если я хочу изменить эхо-сообщение и ввести что-нибудь еще, например echo «Привет, мир» вместо «тип 1», это решение мне не помогло.
 

doroty


Рег
01 Jan, 2011

Тем
0

Постов
1

Баллов
1
  • 06, Jun 2024
  • #4
это должно сработать
 if(mysqli_num_rows($sql) > 0)

{

while($row = mysqli_fetch_array($sql)) {

$result .= "<tr>

<td>{$row['title']}</td>

<td>{$row['name']}</td>

<td>type{$row['type']}</td>

<td>{$row['add_date']}</td>

</tr>";

}

}

else
PHP: Если вам нужно добавить больше логики вокруг $row['type'], используйте переключатель.
 

Bewin


Рег
28 Jun, 2014

Тем
0

Постов
2

Баллов
2
Тем
49554
Комментарии
57426
Опыт
552966

Интересно