我正在尝试将行$row['Id']
保存在php会话中,以便我可以在下一页上使用此变量让它动态填充$product_id
变量。
到目前为止,这就是我所拥有的:
<?php $sql = "SELECT * FROM assortiment WHERE Categorie = '$productid' ORDER BY Id DESC ";
$result = $conn->query($sql);
if ($result->num_rows > 0) {
// output data of each row
while($row = $result->fetch_assoc()) {
SESSION_START();
$identi = $row['Id'];
$_SESSION["product_id"] = $identi;
echo "<a href='/dbtest/dinner/amsterdam/".$row["Slug"]. "/" . $row["Id"] . "'><div class='products'><div class='col-sm-3'><div class='product-img'>";
echo "<img src='http://www.example.nl/Uploaded_files/Thumbs/" .$row['Fotomateriaal']. ".jpg'>";
echo "</div></div><div class='col-sm-6'>";
echo "<div class='h2-container'><h2>" . $row["Product"]. "</h2></div>" . $row["Samenvatting"]. "" . $_SESSION["product_id"] . "";
echo "</div><div class='col-sm-3'><div class='col-sm-12 text-right'>
<div class='border'>
<p style='margin-bottom:20px;width:30px;'><i class='fa fa-heart' aria-hidden='true'></i></p>
</div>
</div>";
echo "<table>
<tr>
<td><i class='fa fa-users' aria-hidden='true'></i></td>
<td><p>vanaf 10 personen</p></td>
</tr>
<tr>
<td><i class='fa fa-clock-o' aria-hidden='true'></i></td>
<td>" . $row["Tijdsduur"] . " uur</td>
</tr>
<tr>
<td><i class='fa fa-euro' aria-hidden='true'></i></td>
<td>vanaf " . $row["VerkoopPP40"] ." p.p. <small>excl btw</small></td>
</tr>
</table></div></div></a>";
}
} else {
echo "0 results";
}?>
正如您所看到的,我正在尝试保存$row['Id']
。首先,我在$ identi变量中创建此ID,以便我可以回应它。然后我将ID保存在$_session["product_id"]
中,稍后在HTML中回显。这有效。但是,当我点击链接转到下一页时,看起来似乎没有保存会话。
我无法使用以下内容回显下一页的product_id
<?php
if(isset($_SESSION['product_id'])){
echo $_SESSION['product_id'];
};
?>
我认为它没有被存储,或者(可能)我这样做是错的?我发现堆栈溢出的东西在数据库查询的另一部分内启动了会话:
<?php
$sql = "SELECT * FROM assortiment WHERE Subcategorie = '$product_id'";
$result = mysqli_query($conn, $sql);
if (mysqli_num_rows($result) > 0) {
while($row = mysqli_fetch_assoc($result)) {
$fotos = $row["Fotomateriaal"];
$productnaam = $row["Product"];
$contenttext = $row["WebTekst"];
$tijdsduur = $row["Tijdsduur"];
$prijs = $row["VerkoopPP40"];
$sub = $row["Subcategorie"];
$cate = $row["Categorie"];
$seo = $row["SEO_Pagetitle"];
$youtube = $row["Actief_Avontuur"];
$_SESSION["product_id"] = $row["Id"];
}
} else {
$value = "Geen resultaten";
} ?>
但这也没有给我什么。有谁知道为什么这不起作用。通常一切正常,如果我想在正常的会话中存储变量(只使用PHP和Wordpress),但这不会起作用。任何帮助将不胜感激。
答案 0 :(得分:1)
实际上你以错误的方式(session_start();
)和错误的地方(SESSION_START();
内)写while()
。
在每个php页面上,在session_start();
<?php
注意: - session_start();
需要获取+操作SESSION
数据
答案 1 :(得分:-1)
这将只保存行中的最后一个信息。您必须在查询中保存该行。