#php #foreach
#php #foreach
Вопрос:
Я пытаюсь создать веб-сайт, который при нажатии на приложение открывает его, и он работает в данный момент, но открывает каждое отдельное приложение, что, очевидно, мне не нужно.
Я полагаю, мне нужно вставить foreach loop so for every application it puts a different
$appLocation`?
Это всего лишь первый проект для меня, поэтому, возможно, если кто-то сможет указать мне правильное направление.
<?php
$appQuery = "SELECT app_name, app_location, app_status, app_image FROM applications";
$select_posts = mysqli_query($conn, $appQuery);
if ($result = mysqli_query($conn, $appQuery)) {
/* fetch associative array */
while ($row = mysqli_fetch_assoc($result)) {
$appName = $row['app_name']; // List Application Name
$appLocation = $row['app_location']; // List Application Location
$appStatus = $row['app_status']; // List Application Status - 1 = Enabled / 0 = Disabled
$appImage = $row['app_image']; // List Application Image Locations
?>
<!-- Tile with image container -->
<div class="tile">
<div class="tile-content">
<div class="image-container">
<form method="post">
<div class="frame">
<button name="appButton"><img src="<?php echo $appImage ?>"></button>
</div>
</form>
<?php
if (isset($_POST['appButton'])) {
exec("start $appLocation");
}
?>
</div>
</div>
</div>
<?php
}
?>
Комментарии:
1. во-первых — не запускайте запрос дважды, удалите
$select_posts = mysqli_query($conn, $appQuery);
и, поскольку все кнопки называются одинаково, нажатие на любую из них приведет к запуску ВСЕХ приложений
Ответ №1:
Вы могли бы попробовать в этом направлении, учитывая мои предыдущие комментарии
<?php
$appQuery = "SELECT app_name, app_location, app_status, app_image FROM applications";
if ( $result = mysqli_query( $conn, $appQuery ) ) {
/* fetch associative array */
while ($row = mysqli_fetch_assoc($result)) {
$appName = $row['app_name']; // List Application Name
$appLocation = $row['app_location']; // List Application Location
$appStatus = $row['app_status']; // List Application Status - 1 = Enabled / 0 = Disabled
$appImage = $row['app_image']; // List Application Image Locations
?>
<!-- Tile with image container -->
<div class="tile">
<div class="tile-content">
<form method="post">
<div class="image-container">
<?php
$bttn = 'appButton_'.$appName;
echo "
<div class='frame'>
<button name='{$bttn}'><img src='{$appImage}' /></button>
</div>";
?>
</form>
<?php
if (isset($_POST[ $bttn ])) {
exec("start $appLocation");
}
?>
</div>
</div>
</div>
Комментарии:
1. вроде работает, но он не отвечает, когда я нажимаю на свои приложения, теперь ничего не происходит, есть ли в php какой-нибудь способ просмотреть журнал того, что может происходить.