chr0nos Posted August 18, 2013 Share Posted August 18, 2013 Hello, I have a function, this function uses switch to determine which kind of query to run, and after that is done, I use a simple variable: $this->messages = $stmt->fetchAll(PDO::FETCH_ASSOC); to hold all of the information (it is in my understanding that this variable holds it in an array). Anyways, when this function is called, I can use foreach to display the results, but my question is, is there a more efficient way of doing this? I am assuming using LIMIT and pagination would be better, but I have tried that and I came into a dead end because I had no idea on how to return multiple entries from one function. function Message($username){ $query = "SELECT * FROM msg WHERE `to` = '".$this->userid."' && `to_viewed` = '0' && `to_deleted` = '0' ORDER BY `created` DESC"; $stmt = $this->connection->prepare($query); $stmt->execute(); $data = $stmt->fetch(PDO::FETCH_ASSOC); $num_rows = $stmt->fetchColumn(); if($num_rows) { $i=0; $this->messages = array(); while($row = $data) { // want to return these 3 for each result $this->messages[$i]['id'] = $row['id']; $this->messages[$i]['title'] = $row['title']; $this->messages[$i]['message'] = $row['message']; $i++; } } else { return 1; } } If I want to return the 3 variables, then the iteration would stop, and wouldn't continue until the loop is done.. can anyone help me out? I have been bashing my head over this for a bit. Quote Link to comment https://forums.phpfreaks.com/topic/281291-pagination/ Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.