odman adlı üyeden alıntı: mesajı görüntüle
Elimdeki bir yorum botunda kullanıcı hesap seçimi rastgele yapılıyor, yanlışım yoksa ilgili dosyayı buldum, ben kullanıcıları random değil sırayla alsın ve döngü halinde başa sarsın istiyorum. DB deki kullanıcı adları sırayla kullanılsın bitince başa sarsın döngü devam etsin

<?php
include 'Insert.php';
class Database
{
private $conn;
public function __construct()
{
try {
$this->conn = new PDO('mysql:host=localhost;dbname=name;charset=utf8','root','dbsifresi');
$this->conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_SILENT);
$this->conn->query("SET NAMES utf8");
$this->conn->query("SET time_zone = '+03:00'");
} catch (\PDOException $e ) {
exit('Error #1015: Database Communication Error.');
}
}

public function GetConn()
{
return $this->conn;
}

public function getRandomAccount(){
    $conn = $this->GetConn();
$query = $conn->prepare("SELECT * FROM accounts ORDER BY RAND() LIMIT 1");
$query->execute();
return $query->fetch();
}

public function getAccounts()
{
$conn = $this->GetConn();
$query = $conn->prepare("SELECT * FROM accounts");
$query->execute();
return $query->fetchAll();
}    

public function createAccount($email,$password)
{
$conn = $this->GetConn();
$Insert = new Insert($conn);
$Insert->setTable("accounts");
$Insert->bindParam("email",$email);
$Insert->bindParam("password",$password);
$Insert->execute();
return $Insert->lastInsertId();
}    

public function createProcess()
{
$conn = $this->GetConn();
$Insert = new Insert($conn);
$Insert->setTable("process");
$Insert->execute();
}


public function getAccountCount(){
$conn = $this->GetConn();
$query = $conn->query("SELECT COUNT(id) AS toplam FROM accounts");
$query->execute();
return $query->fetch()['toplam'];
}

public function createTag($text)
{
$conn = $this->GetConn();
$Insert = new Insert($conn);
$Insert->setTable("tags");
$Insert->bindParam("text",$text);
$Insert->execute();
return $Insert->lastInsertId();
}

public function getTags()
{
$conn = $this->GetConn();
$query = $conn->prepare("SELECT * FROM tags");
$query->execute();
return $query->fetchAll();
}

public function getRandomTag(){
    $conn = $this->GetConn();
$query = $conn->prepare("SELECT * FROM tags ORDER BY RAND() LIMIT 1");
$query->execute();
return $query->fetch();
}


public function getTagCount(){
$conn = $this->GetConn();
$query = $conn->query("SELECT COUNT(id) AS toplam FROM tags");
$query->execute();
return $query->fetch()['toplam'];
}

public function getLinks()
{
$conn = $this->GetConn();
$query = $conn->prepare("SELECT * FROM links");
$query->execute();
return $query->fetchAll();
}

public function createLinks($link)
{
$conn = $this->GetConn();
$Insert = new Insert($conn);
$Insert->setTable("links");
$Insert->bindParam("link",$link);
$Insert->execute();
return $Insert->lastInsertId();
}

public function getLinkCount(){
$conn = $this->GetConn();
$query = $conn->query("SELECT COUNT(id) AS toplam FROM links");
$query->execute();
return $query->fetch()['toplam'];
}

public function getLast24HourProcessCount(){
$conn = $this->GetConn();
$query = $conn->prepare("SELECT count(id) as counter FROM process WHERE added_at >= DATE_SUB(NOW(), INTERVAL 1 DAY)");
$query->execute();
return $query->fetch()['counter'];
}

public function removeTag($id){
$conn = $this->GetConn();
$query = $conn->prepare("DELETE FROM tags WHERE id=:id");
$query->bindParam("id", $id);
$query->execute();
}

public function removeAccount($id){
$conn = $this->GetConn();
$query = $conn->prepare("DELETE FROM accounts WHERE id=:id");
$query->bindParam("id", $id);
$query->execute();
}

public function removeLink($id){
$conn = $this->GetConn();
$query = $conn->prepare("DELETE FROM links WHERE id=:id");
$query->bindParam("id", $id);
$query->execute();
}
}

25. satırdaki RAND yazan kısmı değiştirmeniz gerekli. Eğer kullanıcılar id olarak tutuluyorsa id'ye göre ilk kullanıcıyı çekebilirsiniz. Veya son kullanıcıyı almak isterseniz ASC yazan yeri DESC yazabilirsiniz.

SELECT * FROM accounts ORDER BY id ASC LIMIT 1