10k-20k arasi proxy verisi var elimde, bunu sql'e gireceğim ve php çaliştiğinda her sirali veriyi 1 kez gösterecek ve 24 saat geçmeden bir daha göstermeyecek. yani her php get geldiğinde 1 adet veri görünecek ve 24 saat sonra görünebilir olacak.
- verileri ekleyebileceğim küçük bir panel ( 10k veriden örneğin 3-4 tanesi sql'de varsa onlari eklemeyecek ayni verileri ekletmeyecek )
- kaç adet veri beklemede ( 24 saat döngüsüne girmiş görebileceğim )
redisle yapmak isterdim fakat hostingimde bulunmamaktadır onun için sql talep ediyorum.
küçük bir admin panel bu isteklerime göre yazilacak sql ve paneli.
ücret pm atiniz ( hemen yapacak arkadaşa iş verilecektir)
Php istek (ücretli)
4
●276
- 14-12-2023, 17:39:17cevaplandi, başka yapabilecek arkadaş ?caneraltinel adlı üyeden alıntı: mesajı görüntüle
- 14-12-2023, 17:46:06sql sorgusu için
CREATE TABLE IF NOT EXISTS proxy_data ( id INT AUTO_INCREMENT PRIMARY KEY, proxy_info VARCHAR(255) NOT NULL, last_accessed_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP );örnek php dosyası
<?php // Veritabanı bağlantısı için bilgiler $servername = "localhost"; // Sunucu adı $username = "kullanici_adi"; // Veritabanı kullanıcı adı $password = "sifre"; // Veritabanı şifresi $dbname = "veritabani_adi"; // Veritabanı adı // Veritabanı bağlantısını oluşturma $conn = new mysqli($servername, $username, $password, $dbname); // Veritabanı bağlantı hatası kontrolü if ($conn->connect_error) { die("Veritabanı bağlantı hatası: " . $conn->connect_error); } // Yeni proxy verisini ekleme function addProxyData($proxy_info) { global $conn; $proxy_info = $conn->real_escape_string($proxy_info); // Veritabanında aynı veri var mı kontrol etme $check_query = "SELECT * FROM proxy_data WHERE proxy_info = '$proxy_info'"; $result = $conn->query($check_query); if ($result->num_rows == 0) { // Veri yoksa ekleme $insert_query = "INSERT INTO proxy_data (proxy_info) VALUES ('$proxy_info')"; $conn->query($insert_query); return true; } else { return false; // Veri zaten varsa ekleme } } // Son erişim zamanına göre bekleyen veri sayısını alma function getPendingDataCount() { global $conn; $twentyFourHoursAgo = date("Y-m-d H:i:s", strtotime('-24 hours')); $count_query = "SELECT COUNT(*) AS count FROM proxy_data WHERE last_accessed_at < '$twentyFourHoursAgo'"; $result = $conn->query($count_query); $row = $result->fetch_assoc(); return $row['count']; } // Bir veriyi getirme ve son erişim zamanını güncelleme function getProxyData() { global $conn; $twentyFourHoursAgo = date("Y-m-d H:i:s", strtotime('-24 hours')); $select_query = "SELECT * FROM proxy_data WHERE last_accessed_at < '$twentyFourHoursAgo' ORDER BY last_accessed_at ASC LIMIT 1"; $result = $conn->query($select_query); if ($result->num_rows > 0) { $row = $result->fetch_assoc(); $proxy_info = $row['proxy_info']; // Son erişim zamanını güncelleme $update_query = "UPDATE proxy_data SET last_accessed_at = CURRENT_TIMESTAMP WHERE id = " . $row['id']; $conn->query($update_query); return $proxy_info; } else { return null; } } // Veritabanı bağlantısını kapatma $conn->close(); ?>admin.php
<?php // Bu kısımda veritabanı bağlantısı ve gerekli fonksiyonlar yer almalı // Giriş kontrolü session_start(); // Giriş yapılmamışsa giriş sayfasına yönlendirme if (!isset($_SESSION['loggedin']) || $_SESSION['loggedin'] !== true) { header('Location: login.php'); exit; } // Yeni proxy ekleme if ($_SERVER["REQUEST_METHOD"] == "POST") { if (isset($_POST['proxy_info'])) { $proxy_info = $_POST['proxy_info']; if (addProxyData($proxy_info)) { echo "Proxy verisi başarıyla eklendi."; } else { echo "Bu proxy verisi zaten mevcut."; } } } // Bekleyen veri sayısını al $pending_count = getPendingDataCount(); ?> <!DOCTYPE html> <html> <head> <title>Admin Paneli</title> </head> <body> <h1>Admin Paneli</h1> <p>Bekleyen veri sayısı: <?php echo $pending_count; ?></p> <h2>Proxy Verisi Ekle</h2> <form method="post" action=""> <label for="proxy_info">Proxy Bilgisi:</label><br> <input type="text" id="proxy_info" name="proxy_info"><br><br> <input type="submit" value="Ekle"> </form> <br> <a href="logout.php">Çıkış Yap</a> <!-- Çıkış yapmak için logout.php sayfasına yönlendirme --> </body> </html> - 14-12-2023, 18:26:40ücretsiz kod için öncelikle teşekkür ederim, mesaj kutunuz dolu pm attim ulaşmadi.
konu günceldir, yapacak arkadaş ariyorum..
shms adlı üyeden alıntı: mesajı görüntüle