Usando a função count para determinar o que é exibido na instrução if
Estou com alguns problemas com uma consulta que estou tentando fazer. O que estou fazendo é tentar criar um modelo para várias páginas para exibir imagens específicas que se correlacionam com essa página.
Eu tenho páginas individuais nas quais estou atribuindo uma variável para definir a página (você pode ver onde eu faço isso no meu código com$page
) Em seguida, dentro do meu banco de dados, emsolution
Estou nomeando os registros específicos como um dos nomes de páginas individuais. Por exemplo: se eu nomear uma página "Ball", na coluna do banco de dadossolution
, Eu citaria alguns registrosBall
.
Então, na minha consulta, estou tentando contar quantos registros existem que correspondem$page
. Se a contagem de registros for maior que 0, desejo exibir o código no meuelse
declaração.
A partir de agora, minha conexão com o banco de dados está funcionando. Não estou recebendo nenhum erro sendo impresso. Você pode ver meuecho $solution_count;
. Isso está mostrando um 0, mas meuelse-statement
está em execução, o que faz 0 sentido.
Estou fazendo algo errado com a maneira como estou tentando contar os registros? Alguém vê por que isso não está funcionando?
Tabela do banco de dados - mostrar tabela de criação
projectslider
CREATE TABLE `projectslider` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`solution` varchar(50) NOT NULL,
`image` text NOT NULL,
`alt` text NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=latin1
Código nas páginas individuais:
<?php
error_reporting(E_ALL);
ini_set('display_errors', 1);
$page = "enclosures";
include_once("projectSlider.php");
?>
Pagina principal -projectSlider.php
error_reporting(E_ALL);
ini_set('display_errors', 1);
$servername = 'localhost';
$username = 'root';
$password = '';
try {
$con = new PDO('mysql:host='.$servername.';dbname=mb', $username, $password);
$con->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
//$page = mysql_real_escape_string($page);
//SQL Call
$sql_project = "
SELECT *, COUNT(solution) AS solution_count
FROM projectslider
WHERE solution = '. $page .'
";
if ($project_stmt = $con->prepare($sql_project)) {
$project_stmt->execute();
$project_rows = $project_stmt->fetchAll(PDO::FETCH_ASSOC);
foreach ($project_rows as $project_row) {
$solution_count = $project_row['solution_count'];
echo $solution_count;
$project_solution = $project_row['solution'];
$project_img = $project_row['image'];
$project_alt = $project_row['alt'];
$project_img = '<img class="home-comment-profile-pic" src=" '. $project_img .'" alt="' . $project_alt .'">';
if ($solution_count === 0) {
echo 'No projects found.';
} else {
echo '<section id="solProj">';
echo '<div class="projSlide">';
echo $project_img;
echo '</div>';
echo '</div>';
}
}
}
}
catch(PDOException $e) {
echo "Connection failed: " . $e->getMessage();
}