У меня проблемы с этой частью
";
$primary_image = dbSelect($db, $query);
$project->primary_image = $primary_image[0];
}
этого кода
<?php
require_once('includes/config.php');
enter code here
require_once('includes/lib.php');
$db = dbConnect();
$query = "SELECT projects.* FROM projects ORDER BY rank ASC";
$projects = dbSelect($db, $query);
foreach($projects as $project) {
$query = "SELECT media.* FROM media
WHERE media.project_id = '$project->id'
AND media.primary = '1'
";
$primary_image = dbSelect($db, $query);
$project->primary_image = $primary_image[0];
}
dbClose($db);
?>
<!DOCTYPE html>
<html>
<head>
<title>Missy Skae's Portfolio</title>
<link rel="stylesheet" href="style.css">
</head>
<body>
<?
foreach($projects as $project) {
?>
<div class="project">
<h2><?=$project->date;?></h2>
<h1><a href="project.php?id=<?=$project->id;?>"><?=$project->title;?></a></h1>
<div class="primary-image">
<a href="project.php?id=<?=$project->id;?>"><img src="media/<?=$project->primary_image->filename;?>"></a>
</div>
<h2><?=$project->tag1;?></h2>
<h1><?=$project->description;?></h1>
</div>
<?
}
?>
</body>
</html>
сообщение об ошибке: Неопределенное смещение: 0
У кого-нибудь есть идеи? Спасибо!
В уведомлении должен быть указан номер строки. Можете ли вы предоставить его?
В вашем запросе вы должны обновить эту строку:
WHERE media.project_id = '$project->id'
читать
WHERE media.project_id = '{$project->id}'
Я полагаю, что это приведет к ошибке.
Трудно точно определить ошибку, не зная, по какой линии это происходит или что в других включенных файлах. Это более чем вероятно на этой линии ..
$project->primary_image = $primary_image[0];
Вы можете проверить это, используя var_dump для $ primary_image, например
$primary_image = dbSelect($db, $query);
var_dump($primary_image);
$project->primary_image = $primary_image[0];
Просто проверьте, существует ли это смещение,
$project->primary_image = isset($primary_image[0]) ? $primary_image[0] : NULL; // or whatever instead of NULL, you can choose any default value, eg. 'no_image.png'