В то время как цикл отображает одну запись несколько раз php и mysql

Я пытаюсь получить данные из базы данных. Но цикл while выполняется и отображает данные несколько раз. Пожалуйста, смотрите скриншот

введите описание изображения здесь

<?php
$conn = mysqli_connect("localhost", "root", "","midata");
$sql = "SELECT * FROM campaign_profile ORDER BY id DESC";
?>
<div class="modal-body">
<form>
<?php
$result = mysqli_query($conn,$sql);
while($row = mysqli_fetch_array($result))
{
$name= $row['campaign_name'];
$issues= $row['issue_name'];
$ename= $row['unused_elements'];
$uquantity= $row['unused_number'];
$descript= $row['experience']; ?>

<div class="form-group">
<label for="recipient-name" class="control-label">Campaign Name:</label>
<input type="text" class="form-control c-square" id="recipient-name" value="<?php echo  $row['campaign_name'];?>">
</div>
<div class="form-group">
<label for="recipient-name" class="control-label">Issues:</label>
<input type="text" class="form-control c-square" id="recipient-name" value="<?php echo $row['issue_name'];?>">
</div>
<div class="row col-md-12">
<div class="form-group col-md-6">
<label for="recipient-name" class="control-label">Element Name:</label>
<input type="text" class="form-control c-square" id="recipient-name" class="col-md-6" value="<?php echo $row['unused_elements'];?>">
</div>
<div class="form-group col-md-6">
<label for="recipient-name" class="control-label">Unused Quantity:</label>
<input type="text" class="form-control c-square" id="recipient-name" class="col-md-6" value="<?php echo $row['unused_number'];?>">
</div>
</div>
<div class="form-group">
<label for="message-text" class="control-label">Description:</label>
<textarea class="form-control  c-square" id="message-text" value="<?php echo $row['experience'];?>"></textarea>
</div>

<?php } ?>
</form>
</div>

Я не понимаю, почему это происходит. Дайте мне знать, что нужно сделать

0

Решение

Может быть, в вашей таблице больше строк, чем вы ожидаете.

ограничьте свой запрос, используя это.

$sql = "SELECT * FROM campaign_profile ORDER BY id DESC limit 1";

или попробуйте получить данные, используя идентификатор или первичный ключ.

или измените свой код с приведенным ниже.

<?php
$conn = mysqli_connect("localhost", "root", "","midata");
$sql = "SELECT * FROM campaign_profile ORDER BY id DESC";
?>
<div class="modal-body">
<form>
<?php

$name= "";
$issues= "";
$ename= "";
$uquantity= "";
$descript= "";

$result = mysqli_query($conn,$sql);
while($row = mysqli_fetch_array($result))
{
$name= $row['campaign_name'];
$issues= $row['issue_name'];
$ename= $row['unused_elements'];
$uquantity= $row['unused_number'];
$descript= $row['experience'];} ?>
<div class="form-group">
<label for="recipient-name" class="control-label">Campaign Name:</label>
<input type="text" class="form-control c-square" id="recipient-name" value="<?php echo  $row['campaign_name'];?>">
</div>
<div class="form-group">
<label for="recipient-name" class="control-label">Issues:</label>
<input type="text" class="form-control c-square" id="recipient-name" value="<?php echo $row['issue_name'];?>">
</div>
<div class="row col-md-12">
<div class="form-group col-md-6">
<label for="recipient-name" class="control-label">Element Name:</label>
<input type="text" class="form-control c-square" id="recipient-name" class="col-md-6" value="<?php echo $row['unused_elements'];?>">
</div>
<div class="form-group col-md-6">
<label for="recipient-name" class="control-label">Unused Quantity:</label>
<input type="text" class="form-control c-square" id="recipient-name" class="col-md-6" value="<?php echo $row['unused_number'];?>">
</div>
</div>
<div class="form-group">
<label for="message-text" class="control-label">Description:</label>
<textarea class="form-control  c-square" id="message-text" value="<?php echo $row['experience'];?>"></textarea>
</div>
</form>
</div>
0

Другие решения

Попробуйте проанализировать результат запроса, выполнив запрос mysql select с помощью терминала или инструмента phpmyadmin. Пожалуйста, проверьте результат запроса с помощью php-кода. Если они совпадают, ваша таблица содержит данные дублирования.

0

Если хотите show single record значит нет необходимости while loop просто сделай это, как показано ниже

Ограничить record добавляя limit 1

SELECT * FROM campaign_profile ORDER BY id DESC limit 1

PHP:

 $result = mysqli_query($conn,$sql);
$row = mysqli_fetch_array($result);

$name= $row['campaign_name'];
$issues= $row['issue_name'];
$ename= $row['unused_elements'];
$uquantity= $row['unused_number'];
$descript= $row['experience'];
0
По вопросам рекламы ammmcru@yandex.ru
Adblock
detector