大家好我想尝试从循环SQL语句创建一个url,其中计数大于70.
// SQL QUERY TO GET CATEGORY COUNT
$sql2 = "SELECT COUNT(domains.domain) c, domains.category_id,
categories.category_description
FROM categories INNER JOIN domains ON categories.category_id =
domains.category_id
GROUP BY categories.category_id
ORDER BY c DESC";
$results = mysqli_query($con, $sql2);
if (!$results){
//Output error message if query execution failed
die("Database access failed: " . mysqli_error());
}
$rows = mysqli_num_rows($results);
// START PRINTING
print '<div class="readableTable">';
if ($rows) {
//START LOOP
while ($row = mysqli_fetch_array($results)) {
if ($row["c"] > 70){
$theId = $row["category_id"]; // DIDN'T WORK!
// URL CAUSING ISSUE
<a href="category_25.php?category_id=$row["category_id"]">
// print '<div class="readable">'.$row["c"].'</div>';
print '<div class="readable">'
.$row["category_description"]
.'('.$row["c"]
.')</a></div>';
}
}
}
所以你可以看到我正在尝试根据类别ID创建网址。
但我无法提取正确的category_id以放入网址。
有人可以解决这个问题吗?
答案 0 :(得分:0)
这可能不是唯一的问题,但有一个问题是您要打印的字符串引用的是'
而不是"
,因此$row["category_id"]
不会是{{3} }}
print '<div class="readable">
// URL CAUSING ISSUE
<a href="category_25.php?category_id=$row["category_id"]">
'.$row["category_description"].
'('.$row["c"].
')</a>
</div>';
如果要在字符串中使用该变量,则需要使用"
引用主字符串,并且不应引用数组键。如果您将外部引号更改为"
,则字符串中的任何引号都需要转义或更改为'
(使用'
引用HTML属性值通常很好)。
print "<div class=\"readable\">
// URL CAUSING ISSUE
<a href=\"category_25.php?category_id=$row[category_id]\">
".$row["category_description"].
'('.$row["c"].
')</a>
</div>';
或者,您可以像使用其他变量一样连接$row['category_id']
。我建议选择变量插值或连接,并将其用于所有您在此字符串中使用的变量。以一致的方式构建字符串将使您的代码更具可读性。
例如,切换到所有变量插值:
print "<div class='readable'>
<a href='category_25.php?category_id=$row[category_id]'>
$row[category_description] ($row[c])
</a>
</div>";