File "index-20260511103235.php"

Full Path: /home/alphpwcp/previewstream.online/old/cgi-bin/index-20260511103235.php
File size: 4 KB
MIME-type: text/x-php
Charset: utf-8

<?php
header('Content-Type: text/html; charset=UTF-8');
session_start();
include 'db.php';

// Pagination
$limit = 5;
$page = max(1, intval($_GET['page'] ?? 1));
$offset = ($page - 1) * $limit;

// Total companies
$totalStmt = $pdo->query("SELECT COUNT(*) FROM companies");
$totalCompanies = $totalStmt->fetchColumn();
$totalPages = ceil($totalCompanies / $limit);










$searchTerm = trim($_GET['search'] ?? '');

if ($searchTerm !== '') {
    // Search query
    $stmt = $pdo->prepare("
        SELECT c.id, c.name, c.website, c.image, cat.name AS category,
            COUNT(r.id) AS review_count,
            ROUND(AVG(r.rating),1) AS avg_rating,
            MAX(r.rating) AS highest_rating
        FROM companies c
        LEFT JOIN categories cat ON c.category_id = cat.id
        LEFT JOIN reviews r ON c.id = r.company_id
        WHERE c.name LIKE :search
        GROUP BY c.id
        ORDER BY c.name
    ");
    $stmt->execute(['search' => '%' . $searchTerm . '%']);
    $companies = $stmt->fetchAll();
    $totalCompanies = count($companies); // For display in hero
    $totalPages = 1; // Disable pagination for search
} else {
    // Original fetch (with pagination)
    $stmt = $pdo->prepare("
        SELECT c.id, c.name, c.website, c.image, cat.name AS category,
            COUNT(r.id) AS review_count,
            ROUND(AVG(r.rating),1) AS avg_rating,
            MAX(r.rating) AS highest_rating
        FROM companies c
        LEFT JOIN categories cat ON c.category_id = cat.id
        LEFT JOIN reviews r ON c.id = r.company_id
        GROUP BY c.id
        ORDER BY c.name
        LIMIT ? OFFSET ?
    ");
    $stmt->bindValue(1, $limit, PDO::PARAM_INT);
    $stmt->bindValue(2, $offset, PDO::PARAM_INT);
    $stmt->execute();
    $companies = $stmt->fetchAll();
}










// Fetch companies
$stmt = $pdo->prepare("
  SELECT c.id, c.name, c.website, c.image, cat.name AS category,
    COUNT(r.id) AS review_count,
    ROUND(AVG(r.rating),1) AS avg_rating,
    MAX(r.rating) AS highest_rating
  FROM companies c
  LEFT JOIN categories cat ON c.category_id = cat.id
  LEFT JOIN reviews r ON c.id = r.company_id
  GROUP BY c.id
  ORDER BY c.name
  LIMIT ? OFFSET ?
");
$stmt->bindValue(1, $limit, PDO::PARAM_INT);
$stmt->bindValue(2, $offset, PDO::PARAM_INT);
$stmt->execute();
$companies = $stmt->fetchAll();

// Latest reviews
$latestReviews = $pdo->query("
  SELECT r.comment, r.rating, u.username, c.name AS company_name
  FROM reviews r
  JOIN users u ON r.user_id = u.id
  JOIN companies c ON r.company_id = c.id
  ORDER BY r.id DESC
  LIMIT 5
")->fetchAll();

// Top rated companies
$topCompanies = $pdo->query("
  SELECT c.id, c.name, c.image, ROUND(AVG(r.rating),1) AS avg_rating
  FROM companies c
  JOIN reviews r ON c.id = r.company_id
  GROUP BY c.id
  HAVING COUNT(r.id) >= 1
  ORDER BY avg_rating DESC
  LIMIT 5
")->fetchAll();

// Featured companies
$featuredCompanies = $pdo->query("
  SELECT id, name, image, website
  FROM companies
  ORDER BY RAND()
  LIMIT 3
")->fetchAll();

// Latest blog posts (limit 5 for sidebar)
$latestBlogs = $pdo->query("
  SELECT id, title 
  FROM blogs
  ORDER BY created_at DESC 
  LIMIT 5
")->fetchAll();

// Blog news block (limit 4)
$blogNews = $pdo->query("
  SELECT id, title, content, image 
  FROM blogs 
  ORDER BY created_at DESC 
  LIMIT 4
")->fetchAll();
?>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Trusted Reviews of Crypto, Forex & Blockchain Companies | ReviewStream 2025</title>
<meta name="description" content="Explore real customer feedback on crypto exchanges, mining platforms, forex brokers, trading tools & blockchain projects. Reviews updated daily.">
  <meta name="keywords" content="crypto reviews, forex brokers, mining platforms, trading platforms, blockchain protocols, ReviewStream">
  <meta name="author" content="ReviewStream Team">
<link rel="stylesheet"