Я пытаюсь получить данные из базы данных. Но цикл 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>
Я не понимаю, почему это происходит. Дайте мне знать, что нужно сделать
Может быть, в вашей таблице больше строк, чем вы ожидаете.
ограничьте свой запрос, используя это.
$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>
Попробуйте проанализировать результат запроса, выполнив запрос mysql select с помощью терминала или инструмента phpmyadmin. Пожалуйста, проверьте результат запроса с помощью php-кода. Если они совпадают, ваша таблица содержит данные дублирования.
Если хотите 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'];