mój kod, od razu powiedzcie co zrobiłem górką bo już próbowałem wszystkiego co znalazłem... ps. dlaczego funkcja rand() czesto zwraca mi te same liczby? można na to wpłynąć np przez dodanie aktualnego czasu jako hmm soli?
<?php
header('Content-Type: text/html; charset=utf-8');
$servername = "gfdsfgdfsgsdf";
$username = "fgdsfdgsfg";
$password = "dfgdsfgsdfgsr";
$dbname = "fdgfdsgdfsgsdfg";
// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error); }
$sql = "SELECT p.product_id, p.image, pd.name, pd.description, ua.keyword FROM oc_product p LEFT JOIN oc_product_description pd ON (p.product_id = pd.product_id) LEFT JOIN oc_url_alias ua ON (CONCAT('product_id=', p.product_id) = ua.query) WHERE pd.language_id = '1' AND pd.description <> '' AND p.image <> '' GROUP BY p.product_id ORDER BY pd.name ASC";
$result = $conn->query($sql);
$rowsCount = $result->num_rows;
$unique_products = [];
if ($rowsCount > 0) {
while ( $row = $result->fetch_assoc() ){
$products[] = $row;
}
$x = 1;
$lastId = 0;
while($x <= 3) {
$desc = $products[$index]['description'];
$desc = mb_convert_encoding($desc, "UTF-8");
//utf8_encode($desc);
if ( array_search($products[$index]['name'], $unique_products) == ''){ if($products[$index]['image'] != '' && strlen($desc) > 50
&& $index != $lastId){ $html = '<div class="products--item">'
.'<div class="products--image">'
.'<img src="https://example.com/image/'. $products[$index]['image'] .'" alt="'. $products[$index]['name'] .'"/>'
.'</div>'
.'<div class="products--content">'
.'<a href="https://example.com/'. $products[$index]['keyword'] .'"><h3>'. $products[$index]['name'] .'</h3></a>'
.'<p>'. substr($desc, 0, 100) . '...</p>' .'</div>'
.'</div>';
$lastId = $index;
$x++;
array_push($unique_products, $products[$index]['name']); }
}
}
} else {
return null;
}
$conn->close();
?>