помогите с циклом while

  • Автор темы sten1
  • 103
  • Обновлено
  • 13, May 2024
  • #1
Привет, при переходе с MYSQL на MYSQLi (вот в чем вина) я не могу получить четкое представление о правильном коде. для цикла while. Помоги пожалуйста. следующий код: ------------------------------------------------------
 <html><body>

<hr>

<center><b><font size=+2> 515 Certification Expiration Report</font><br>06/22/2020 - 06/22/2021<p>

<hr>

<?php

//Open a new connection to the MySQL server

require_once "getprerentdb.php";

//MySqli Select Query

$results = $mysqli->query (SELECT * FROM waitlist);

?>

<table border=1>

<th>unit#</th>

<th>resident name</th>

<th>movein date</th>

<th>effect date</th>

<th>expire date</th>

<th>days left</th>

<th colspan=3>recertification notification</th>

</tr>

<?php

// ---------------------------------------

while($row = mysqli_fetch_array($result))

{

// ----------------------------------------

echo "<tr>";

echo "<td>" . $row['apt'] . "</td>";

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

echo "<td>" . $row['moveindate'] . "</td>";

echo "<td>" . $row['effdate'] . "</td>";

echo "<td>" . $row['expdate'] . "</td>";

echo "<td>" . $row['daysleft'] . "</td>";

echo "<td>" . $row['90date'] . "</td>";

echo "<td>" . $row['60date'] . "</td>";

echo "<td>" . $row['30date'] . "</td>";

echo "</tr>";

echo "</table>";

}

?>

</body></html>
PHP:

sten1


Рег
10 Dec, 2013

Тем
1

Постов
2

Баллов
12
  • 22, May 2024
  • #2
Почему вы используете таблицу в цикле while.

// ---------------------------------------

while($row = mysqli_fetch_array($result))

{

// ----------------------------------------

эхо "";

эхо "" . $row['apt'] . "";

эхо "" . $row['имя'] . "";

эхо "" . $row['moveindate'] . "";

эхо "" . $row['effdate'] . "";

эхо "" . $row['expdate'] . "";

эхо "" . $row['daysleft'] . "";

эхо "" . $row['90date'] . "";

эхо "" . $row['60date'] . "";

эхо "" . $row['30date'] . "";

эхо "";

}

эхо ""; ?> Теперь формат будет в порядке.
 

Siraragorn


Рег
01 Apr, 2013

Тем
1

Постов
5

Баллов
15
  • 01, Jun 2024
  • #3
а
515 Отчет об истечении срока действия сертификата
06/22/2020 - 06/22/2021

//Открываем новое соединение с сервером MySQL require_once "getprerentdb.php"; //Запрос выбора MySqli $results = $mysqli->query('SELECT * FROM
 waitlist
'); ?>

Уведомление: Неопределенная переменная: приводит к C:\xampp\htdocs\property\certlog.php В сети 24

Предупреждение
: mysqli_fetch_array() ожидает, что параметр 1 будет mysqli_result, ноль указан в C:\xampp\htdocs\property\certlog.php В сети 24
единица#
имя резидента дата переезда дата вступления в силу Дата истечения срока годности осталось дней уведомление о ресертификации
после изменения:
 

Evgene3


Рег
08 May, 2014

Тем
1

Постов
3

Баллов
13
  • 03, Jun 2024
  • #4
Мертвая тень, давно меня так не критиковали. Видишь, ты все еще в этом. Я хотел сказать вам, ребята, что я все исправил. Это не так красиво, как у вас, но немного меньше кода, и у меня работает, а у вас нет. Держитесь и не обижайте своих друзей очень жаль.
 

UgadayKto


Рег
01 Jan, 2011

Тем
1

Постов
2

Баллов
12
  • 03, Jun 2024
  • #5
Мне было невыносимо смотреть на этот код, поэтому я его немного привел в порядок.

Сравните свой оригинал с моим и научитесь другому способу выполнения задач.

Мы начнем с добавления отображения ошибок, удалим его, когда оно выйдет в свет, но сообщения об ошибках помогут вам понять ваш код.

Поместите код установки вверху, а в разделе разметки оставьте только презентационный PHP-код.

Вы прочтете материал о MVC и отделении кода от представления.

Это лучшее, что мы можем сделать с помощью одностраничного сценария. Используйте H1, H2 и т. д. для заголовков и научитесь использовать CSS для их соответствующего оформления. Добавьте thead и tbody в свои таблицы, это поможет браузеру и всем, кто использует программу чтения с экрана.

Может не применяться в данном случае, но это «лучшая практика». Не вскакивайте и не выскакивайте из операторов эха постоянно.

Просто напишите одно утверждение, которое можно прочитать.

{} сообщает PHP, где найти переменные в строке.
 

<?php

ini_set('display_errors', 1);

ini_set('display_startup_errors', 1);

error_reporting(E_ALL);

//Open a new connection to the MySQL server

require_once "getprerentdb.php";

//MySqli Select Query

$results = $mysqli->query ('SELECT * FROM `waitlist`');

?><html>

<head></head>

<body>

<hr>

<h1>515 Certification Expiration Report: 06/22/2020 - 06/22/2021</h1>

<hr>

<table border='1' cellpadding="4">

<thead>

<tr>

<th>unit#</th>

<th>resident name</th>

<th>movein date</th>

<th>effect date</th>

<th>expire date</th>

<th>days left</th>

<th colspan=3>recertification notification</th>

</tr>

</thead>

<tbody>

<?php

// ---------------------------------------

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

// ----------------------------------------

echo "<tr>

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

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

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

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

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

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

<td>{$row['90date']}</td>

<td>{$row['60date']}</td>

<td>{$row['30date']}</td>

</tr>";

}

?>

</tbody>

</table>

</body>

</html>

PHP:
 

EvgeniyP


Рег
07 Jul, 2014

Тем
1

Постов
3

Баллов
13
  • 04, Jun 2024
  • #6
этот
 while($row = mysqli_fetch_array($results))
PHP: должно быть
 while($row = mysqli_fetch_array($result))
PHP: и это
 $results = $mysqli->query ('SELECT * FROM `waitlist`');
PHP: должно быть
 $results = $mysqli->query (SELECT * FROM waitlist);
PHP:
 

Стас Глоба


Рег
26 Aug, 2011

Тем
2

Постов
4

Баллов
24
  • 06, Jun 2024
  • #7
это т
515 Отчет об истечении срока действия сертификата
06/22/2020 - 06/22/2021

//Открываем новое соединение с сервером MySQL require_once "getprerentdb.php"; //Запрос выбора MySqli $results = $mysqli->query (SELECT * FROM список ожидания); ?>

Уведомление: Неопределенная переменная: результат C:\xampp\htdocs\property\certlog.php В сети 25

Предупреждение
: mysqli_fetch_array() ожидает, что параметр 1 будет mysqli_result, ноль указан в C:\xampp\htdocs\property\certlog.php В сети 25
единица#
имя резидента дата переезда дата вступления в силу Дата истечения срока годности осталось дней уведомление о ресертификации
он результат:
 

eden2


Рег
12 Mar, 2013

Тем
1

Постов
3

Баллов
13
  • 08, Jun 2024
  • #8
упс, исправлено. Не знаю, как я потерял там два символа... но тогда мне, вероятно, не следует пытаться печатать вслепую, заклеив пластырем кончик среднего пальца правой руки. Разрезал его по отрывной полоске, чтобы получить упаковку из алюминиевой фольги.
 

Veber1


Рег
03 Jul, 2012

Тем
1

Постов
2

Баллов
12
  • 12, Jun 2024
  • #9
 <!DOCTYPE HTML><html lang="en"><body><meta charset="utf-8">

<title>515 Certification Expiration Report</title>

</head><body>

<table>

<caption>

515 Certification Expiration Report<br>

06/22/2020 - 06/22/2021

</caption>

<thead>

<tr>

<th scope="col">unit#</th>

<th scope="col">resident name</th>

<th scope="col">movein date</th>

<th scope="col">effect date</th>

<th scope="col">expire date</th>

<th scope="col">days left</th>

<th scope="col" colspan=3>recertification notification</th>

</tr>

</thead><tbody>

<?php

//Open a new connection to the MySQL server

require_once('getprerentdb.php');

$results = $mysqli->query('

SELECT *

FROM waitlist

');

while ($row = $result->fetch_assoc) echo '

<tr>

<th scope="row">', $row['apt'], '</th>

<td>', $row['name'], '</td>

<td>', $row['moveindate'], '</td>

<td>', $row['effdate'], '</td>

<td>', $row['expdate'], '</td>

<td>', $row['daysleft'], '</td>

<td>', $row['90date'], '</td>

<td>', $row['60date'], '</td>

<td>', $row['30date'], '</td>

</tr>';

?>

</tbody>

</table>

</body></html>
Code (markup): That's not a string.

Where are your quotes? You're using fetch_array instead of fetch_assoc so your results are numerically indexed not field indexed, you're mixing object and non-object willy-nilly... Overall your code is just missing a bunch of things.

and the markup is like the worst of "4 transitional" -- aka in transition from 1997 to 1998 practices. Though @sarahk, that {} nonsense is NOT going to do this poor sod any favors. Fixing the gibberish to non-existent semantics and your incomplete code, it goes something more like this:
 $results = $mysqli->query (SELECT * FROM waitlist);
Код (разметка): Слегка угадав заголовки строк тела... И помните, H1 не означает «нарисовать линию по экрану», это означает изменение уровня блока в теме или теме (отрицая что-то вроде H1)... и такие теги, как FONT и CENTER, с тех пор не являются действительным/правильным HTML.

1997... точно так же, как устаревшие атрибуты border и cellpadding.

Если вы хотите управлять такими вещами, делайте это из своей таблицы стилей!
 

1adcampaign


Рег
24 Jul, 2014

Тем
1

Постов
3

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

Интересно