Попытка преобразовать массив в строку, но не знаете, как - PullRequest
0 голосов
/ 28 мая 2018
<?php
try{
    session_start();
    if(!isset($_SESSION['on'])) {
    header("location:homepage.php"); 
    }
    include('dbconnectie.php');
    $query = $db->prepare("SELECT id_img FROM cart WHERE id_u = :id");
    $query->bindParam("id", $_SESSION['id_u']);
    $query->execute();
    $result = $query->fetchALL(PDO::FETCH_ASSOC);
    $query = $db->prepare("SELECT * FROM shop WHERE id_img = :id_img");
    $query->bindParam("id_img", $result);
    $query->execute();
    $result1 = $query->fetchALL(PDO::FETCH_ASSOC);
    echo "<table>";
            foreach($result1 as &$data) {
                echo "<tr>";
                    $img = $data['img_url'];
                    echo "<td>" . $data["brand"] . "</td>";
                    echo "<td>" . $data["model"] . "</td>";
                    echo "<td> Condition: " . $data["cond"] . "/10 </td>";
                    echo "<td> Prijs: &dollar; " . number_format($data["price"],2,",",".") . "</td>";
                    echo "<td> <img src='$img' width='400' height='300' ></img> </td>";
                    echo "<td>" . $data['id_img'] . "</td>";
                echo "</tr>";
            }
    echo "</table>";
    } catch(PDOException $e) {
        die("Error!: " . $e->getMessage());
    }
?>
<html>
    <title>Just for kicks</title>
    <header>
         <?php
            include("#nav.php");

        ?>
    </header>
</html>

в строке 13 написано: Примечание: преобразование массива в строку в /storage/ssd2/719/5658719/public_html/cart.php в строке 13?>

Я не уверен, как это исправитьэтот.То, что я пытаюсь сделать, это получить все id_img из корзины таблицы, которые соответствуют $ _SESSION ['id_u'], который в таблице равен id_u.Тогда то, что я пытаюсь сделать, - это для каждого id_img я пытаюсь получить все детали из магазина таблиц, что соответствует id_img.как марка, модель и конд.

Кто-то в комментариях отсылал меня к возможному ответу, но даже с этим я не могу понять, как решить мою проблему.

Ответы [ 2 ]

0 голосов
/ 29 мая 2018

Вам может понадобиться другой foreach сверх $ result, если существует несколько возможных записей.Главное - попытаться воспроизвести то, как вы делали foreach ниже.Изменить ссылку в "id_img", $ result);поэтому элемент $ result похож на $ data ['id_img']

-Nigel Ren

0 голосов
/ 29 мая 2018

Прежде всего в строке 11 вы сохраняете в $ result массив.

public array PDOStatement::fetchAll ([ int $fetch_style [, mixed $fetch_argument [, array $ctor_args = array() ]]] )

и это выглядит примерно так (более или менее):

array('id' => '123',
    '0' => '123')

Вы должны попробовать: $query->bindParam("id_img", $result[0]);

Таким образом, вы введете строку в качестве переменной в вашем запросе.

Я предлагаю вам использовать var_dump($result) после сохранения данных вашего выборки в $ result так что вы будете лучше видеть, что происходит с вашей переменной.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...