PHP — запрос цикла While

#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 какой-нибудь способ просмотреть журнал того, что может происходить.