PHP-запрос и MySQL запрос - PullRequest
       4

PHP-запрос и MySQL запрос

3 голосов
/ 18 марта 2011

Я пытаюсь создать функцию, которая запрашивает массив, и тогда я смогу вызывать отдельные значения. Здесь, я думаю, вы поймете, что я пытаюсь сделать. За исключением того, что я полный новичок в этом.

class Posts{

  var $title;
  var $author;

  public function querySinglePost($value){

    $post = mysql_fetch_array(mysql_query("select * from posts where id=$value"));  
    $this->title = $post['title'];
    $this->author = $post['author'];

  } 


}

Как я могу присвоить значения массива переменным в классе, а затем вызвать их в моем обычном сценарии / представлении php? Спасибо

Ответы [ 5 ]

5 голосов
/ 18 марта 2011

Взгляните на mysql_fetch_object .Я бы также предложил сделать эту функцию статической, которая будет просто возвращать созданный объект.Как это:

class Posts{

  var $title;
  var $author;

  public static function querySinglePost($value){

    return mysql_fetch_object(
       mysql_query("select * from posts where id=$value"),
       __CLASS__);

  } 

}

$post = Posts::querySinglePost($value);
$a = $post->title;
//...
1 голос
/ 18 марта 2011
$posts = new Posts();
$posts->querySinglePost($id);

echo "return values: \n";
echo $posts->title . "\n";
echo $posts->author . "\n";
1 голос
/ 18 марта 2011

Помимо отсутствия обработки ошибок, вы не могли бы просто сделать что-то вроде

$posts = new Posts;
$posts->querySinglePost(1);
echo $posts->title;
echo $posts->author;
0 голосов
/ 18 марта 2011

В этом случае вы можете быть немного более организованным.Рассматривайте этот класс как модель, которая расширит класс базовой модели.Вместо непосредственного использования mysql_query, используйте класс базы данных и используйте который вы можете выполнять операции с базой данных, такие как запросы к базе данных.вставьте в базу данных и т. д. установите это как объект db в вашем классе базовой модели.Как простая демка

class model{
  public function __construct()
  {
    $this->db = new Database(HOST,USER,PASS,DB);
  }
}

class Post extends model{    
public $post;
public function querySinglePost($value){
       $this->post = $this->db->query("select query");
       return $this->post;
    }
}

Вы будете звонить как

$ObjPost = new Post();
$post = $ObjPost->querySinglePost(1);
0 голосов
/ 18 марта 2011
class Posts{

  public $post = array();

  public function querySinglePost($value){

    // fetch... $results

    $this->post['title']  = $results['title'];
    $this->post['author'] = $results['author'];
    // ...
    return $this->post;
  } 
}

$mySweetPost = new Posts();
print_r($mySweetPost->querySinglePost(1));
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...