Извлечение многих изображений из mysql автоматически с помощью эха и увеличение их по клику - PullRequest
0 голосов
/ 25 мая 2019

У меня есть корзина PhP для автозапчастей, и я должен иметь возможность увеличить полученное изображение после нажатия на него. Проблема в том, что я не могу вручную назначить идентификатор каждому изображению, потому что я отображаю их из базы данных.

Я попытался назначить один идентификатор / класс всем изображениям, которые были восстановлены, и увеличить их по щелчку, используя функцию JS, но не могу заставить его работать.

    $items_array = $db_controller->runQuery("SELECT * FROM mystuff ORDER BY ID ASC");
    if (!empty($items_array)) { 
        foreach($items_array as $key=>$value){
    ?>

            <div class="DisplayCartItems">

            <form method="post" action="?action=add&mscode=<?php echo $product_array[$key]["mscode"]; ?>">
            <img src="<?php echo $product_array[$key]["msimage"]; ?>" class="imgcartdisplay" align="alignnone"/> /* Right here I need some help */
            <div class="lif"><strong>Category:</strong> <?php echo $product_array[$key]["mscategory"]; ?></div>
            <div class="lif"><strong>Category №:</strong> <?php echo $product_array[$key]["mscatnum"]; ?></div>
            <div class="lif"><strong>Stock №:</strong> <?php echo $product_array[$key]["msnomer"]; ?></div> 
            <div class="lif"><strong>Mark:</strong> <?php echo $product_array[$key]["msmark"]; ?></div>
            <div class="lif"><strong>Model:</strong> <?php echo $product_array[$key]["msmodel"]; ?></div>
            <div class="lif"><strong>Year:</strong> <?php echo $product_array[$key]["msyear"]; ?></div>
            <div class="lif"><strong>Price:</strong> <?php echo "$".$product_array[$key]["msprice"]; ?></div>
            <div style="text-align:center"><input type="number" name="oap" placeholder="Offer a price:"></div>
            <br class="">

            <div class="cartan">
                Quantity: <input type="text" class="product-quantity" name="quantity" value="1" size="2" />

                <br class="">
                <input type="submit" onclick="AddCartAlert()" value="Add to cart" /></div>

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

I think if I can somehow assign an ID or class name for every picture that get displayed from the MySql and onclick change it's width/height, that'd do the job.

1 Ответ

0 голосов
/ 25 мая 2019

Если я правильно понял:

, вы должны заменить это:

<img src="<?php echo $product_array[$key]["msimage"]; ?>" class="imgcartdisplay" align="alignnone"/> /* Right here I need some help */

на:

<a target="_blank" href="<?php echo $product_array[$key]["msimage"]; ?>"><img src="<?php echo $product_array[$key]["msimage"]; ?>" class="imgcartdisplay" align="alignnone"/></a>

для открытия изображения в другой вкладке.

Или ... если вы имеете в виду что-то подобное https://lokeshdhakar.com/projects/lightbox2/#examples, вы должны использовать javascript (например: <a href="images/image-1.jpg" data-lightbox="image-1" data-title="My caption">Image #1</a>)

В вашем случае что-то вроде этого: (конечно, вынужно добавить скрипт лайтбокса: https://lokeshdhakar.com/projects/lightbox2/#getting-started)

<a data-lightbox="image-1" data-title="My caption" href="<?php echo $product_array[$key]["msimage"]; ?>"><img src="<?php echo $product_array[$key]["msimage"]; ?>" class="imgcartdisplay" align="alignnone"/></a>
...