Как вывести заголовок и текст?

class GetAllel {
    public function __construct(){
		ConnectBd();
	}
    public function GetAll(){
        $valueBD = mysql_query("SELECT * FROM articles");
        while(!false == ($ValueMass = mysql_fetch_object($valueBD))){
        $mass[] = $ValueMass;
        }
          return $mass;
    }
}

$buga = new GetAllel;
$check = $buga->GetAll();


Здравствуйте. Как мне вывести из массива check отдельно заголовки и текст?
  • Вопрос задан
  • 182 просмотра
Решения вопроса 1
orlov0562
@orlov0562 Куратор тега PHP
I'm cool!
Как уже ответили выше, надо воспользоваться циклом. Хотелось бы добавить пару рекомендаций:
1) Не стоит использовать ф-ции семейства mysql_, они устарели. Вместо них надо использовать mysqli_ или PDO
2) Не стоит смешивать модель данных и работу с базой данных, получится много дублирования кода, т.е. лучше твой класс разделить на два, что-то вроде:

class Sql {

	private $connectionData = [];

	public function __construct(array $connectionData) {
		$this->$connectionData = $connectionData;
	}
	
	public function connect(){
		$ret = false;
		$dbLink = mysql_connect(
			$this->connectionData['host'], 
			$this->connectionData['username'], 
			$this->connectionData['password']
		);
		if (mysql_select_db($this->connectionData['dbname'])) {
			$ret = $dbLink;
		}
		return $ret;
	}
	
	public function get_results($sql) {
		$ret = false;
		$results = mysql_query($sql);
		if (mysql_num_rows($results)) {
			$ret = [];
			while ($row = mysql_fetch_assoc($results)) {
				$ret[] = $row;
			}
		}
		return $ret;
	}	
}

class ArticlesModel {
	private $dbLink = null;
	
	public function __construct($dbLink) {
		$this->dbLink = $dbLink;
	}
	
	public function getAll(){
		return $this->dbLink->get_results('SELECT * FROM `articles`');
	}
}

$connectionData = [
	'host' => 'localhost',
	'username' => 'mysql',
	'pass' => 'mysql',
	'dbname' => 'mysite',
];

$dbLink = (new Sql($connectionData))->connect();
if (!$dbLink) trigger_error("Can't connect to DB", E_USER_ERROR);

$articlesModel = new ArticlesModel($dbLink);
if (!$articlesModel) trigger_error("Can't create articles model", E_USER_ERROR);

if ($articles = $articlesModel->getAll()) {
	foreach ($articles as $article) {
		echo '<h2>'.$article['title'].'</h2>';
		echo '<p> '.$article['text'].'</p>';
		echo '<hr />';
	}
}


Разумеется это не идеальный, простой пример разделения логики, чтобы тебе было понятно как это работает
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@RadialAdmin
Циклом конечно. Но надо знать структуру базы чтобы подсказать код.

foreach($check ){
echo $check[0]." ".$check[1];
}
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы