So this is my code:
<nav class="navbar navbar-inverse">
<div class="container-fluid">
<div class="navbar-header">
<a class="navbar-brand" href="#">WebSiteName</a>
</div>
<ul class="nav navbar-nav">
<li class="active"><a href="#">Home</a></li>
<?php
$dbconn= new PDO('sqlite:negozio.db');
$sqlcate = "SELECT * FROM categoria";
foreach($dbconn->query($sqlcate) as $row) { ?>
<li class="dropdown">
<a class="dropdown-toggle" data-toggle="dropdown" href="#"><?php echo $row['des_categoria']; ?> <span class="caret"></span></a>
<ul class="dropdown-menu">
<?php
$sqltipocate = "SELECT tipo.des_tipo FROM tipo, categoria, tipo_cate WHERE tipo_cate.id_cate = categoria.id_categoria AND tipo_cate.id_tipo = tipo.id_tipo AND tipo_cate.id_categoria = " . $row['id_categoria'] . " "" ";
foreach($dbconn->query($sqltipocate) as $row1) { ?>
<li><a href="#"><?php echo $row1['des_tipo']; ?></a></li>
<?php } ?>
</ul>
</li>
<?php } ?>
</ul>
</div>
</nav>
Everything is working fine until $sqltipocate
blabla...
This error always appears:
syntax error, unexpected T_CONSTANT_ENCAPSED_STRING
Can someone help me?
It is concatenation problem as regarded in previous answers. I can add something may make your life easier. It is sprintf
Your sql query string will be the format
parameter of sprintf
as follows:
$sqltipocate = sprintf("SELECT tipo.des_tipo FROM tipo, categoria, tipo_cate WHERE tipo_cate.id_cate = categoria.id_categoria AND tipo_cate.id_tipo = tipo.id_tipo AND tipo_cate.id_categoria = %d", $row['id_categoria']);
Use curly braces.
Example:
$id = 1;
$sql = "SELECT * FROM something WHERE id = {$id}";
echo $sql;
//SELECT * FROM something WHERE id = 1
Link to code: http://codepad.org/V9QasGHH
Store your $row['id_categoria'] in variable like
$id = $row['id_categoria'];
Then put $id in query like:
$sqltipocate = "SELECT tipo.des_tipo FROM tipo, categoria, tipo_cate WHERE tipo_cate.id_cate = categoria.id_categoria AND tipo_cate.id_tipo = tipo.id_tipo AND tipo_cate.id_categoria = '".$id."'";
See this tipo_cate.id_categoria = ' " $id " '
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.