Не выводится ничего с базы данных

123
Z0
На сайте с 03.09.2009
Offline
812
#11
DeusCredo:
насколько я вижу приравнивать к переменной не нужно только лишняя память, по коду из модели видно есть return $eyestoppers в которую и записан результат sql запроса так что можно сразу по $eyestoppers foreach пройтись

Разве так можно? Не пробовал так :)

DeusCredo:
ошибка какая? это самое главное научится понимать че нужно интерпритатору

У него $eyestoppers пустой. print_r не выводит ничего.

Можно вначале посмотреть:


function eyestopper(){
$query = "SELECT id, title, img, anons, date, author, description, keywords FROM articles WHERE visible='1'";
$res = mysql_query($query) or die (mysql_error());
while ($row = mysql_fetch_assoc($res)){
$eyestoppers[] = $row;
}
return $eyestoppers;
}
print_r( eyestopper() );
DC
На сайте с 12.06.2010
Offline
51
#12
ziliboba0213:
Разве так можно? Не пробовал так :)


У него $eyestoppers пустой. print_r не выводит ничего.

можно если в функции есть конструкция return это будет значит что после завершения работы она вернет значение, в нашем случае переменную в которую записан результат функции.

Тс пока не ответил на вопрос как он заинклюдил model в view, может быть конечно действо имеется в header.php

Z0
На сайте с 03.09.2009
Offline
812
#13
DeusCredo:
можно если в функции есть конструкция return это будет значит что после завершения работы она вернет значение, в нашем случае переменную в которую записан результат функции

function ziliboba($test)
{
$test ='xxx';
return $test;
}

не выводит ничего:

echo $test;

а так выводит:

echo ziliboba($test);

Или я вас не правильно понял?

Разве можно переменную из функции вызывать извне? Я что-то сплю уже на ходу, если честно :)

DC
На сайте с 12.06.2010
Offline
51
#14
ziliboba0213:
function ziliboba($test)


Или я вас не правильно понял?

Разве можно переменную из функции вызывать извне? Я что-то сплю уже на ходу, если честно :)

<?php

function test()

{ global $test;

$test = "XXX";

return $test;

}

test();

echo $test;

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

У вас не получился результат потому что не вижу чтобы вы собственно вызывали в первом случае функцию, а потом уже делали echo $test, второй случай конечно работает потому как echo вызов функции а она всегда возвращает $test.

Z0
На сайте с 03.09.2009
Offline
812
#15
DeusCredo:
<?php
$test = ' ';
function test(){
$test ="XXX";
return $test;}

echo test();
или же вот так test():
echo $test;
вот рабочий код. я не понимаю зачем вы в функцию передаете аргумент если вы не используете его в самой функции, ведь только для этого и нужны аргументы извне передать некоторые значения в функцию сделать с ними работу= получить результат, если изначально значение аргумента всегда пусто то аргумент не нужен.
У вас не получился результат потому что не вижу чтобы вы собственно вызывали в первом случае функцию, а потом уже делали echo $test, второй случай конечно работает потому как echo вызов функции а она всегда возвращает $test.

Ваш пример тоже не работает:


function eyestopper(){
$eyestoppers[] = array('1','2','3');
return $eyestoppers;
}
eyestopper();
if($eyestoppers){
print_r($eyestoppers);
}

будет работать только так:


function eyestopper(){
$eyestoppers[] = array('1','2','3');
return $eyestoppers;
}
eyestopper();
if( eyestopper() ){
print_r( eyestopper() );
}
ДП
На сайте с 23.11.2009
Offline
203
#16

Ну ребят, ну вы чего, 1 апреля что-ли?

Чтобы переменная стала доступна вне функции надо её глобальной объявить внутри функции, а return - он не для этого.

Так что или надо вот так вызывать: $eyestoppers = eyestopper();

или саму функцию переписывать, чтобы внутри было global $eyestoppers.

Это ж самые основы почти любого языка программирования - функции и область видимости.

Z0
На сайте с 03.09.2009
Offline
812
#17
Дикий пионер:
Ну ребят, ну вы чего, 1 апреля что-ли?
Чтобы переменная стала доступна вне функции надо её глобальной объявить внутри функции, а return - он не для этого.
Так что или надо вот так вызывать: $eyestoppers = eyestopper();
или саму функцию переписывать, чтобы внутри было global $eyestoppers.
Это ж самые основы почти любого языка программирования - функции и область видимости.

Я об этом и писал выше... А я уж думать начал, что у меня мозг набекрень пошел...

S
На сайте с 30.09.2016
Offline
469
#18
Дикий пионер:
Ну ребят, ну вы чего, 1 апреля что-ли?

Присоединяюсь, поржал от души. 🤣

Даже боюсь вклиниться в высокоинтеллектуальную дискуссию, но жуть как интересно, чем дело закончится...

Жаль только, что ТС уже свалил, не на ком протестировать.

Отпилю лишнее, прикручу нужное, выправлю кривое. Вытравлю вредителей.
G
На сайте с 24.11.2010
Offline
63
#19
DeusCredo:
ошибка какая? это самое главное научится понимать че нужно интерпритатору

---------- Добавлено 01.04.2017 в 23:38 ----------

function eyestopper(){
$query = "SELECT id, title, img, anons, date, author, description, keywords FROM articles WHERE visible='1'";
$res = mysql_query($query) or die (mysql_error());
while ($row = mysql_fetch_assoc($res)){
$eyestoppers[] = $row;
}
return $eyestoppers;
}
это модель такую попробуйте. А у вас точно модель инклюдится в view чтобы был доступ к функции?

---------- Добавлено 01.04.2017 в 23:39 ----------

А вот так вьюху:
<?php eyestopper(); ?>
<?php if($eyestoppers): ?>
<?php foreach($eyestoppers as $eyestopper): ?>
<figure>
<a href="?view=articles&id=<?=$eyestopper***91;'id'***93;?>"><img alt="<?=$eyestopper***91;'title'***93;?>" src="<?= TEMPLATE ?>assets/images/<?=$eyestopper***91;'img'***93;?>"></a>
</figure>
<div class="blog-title">
<h2><a href="?view=articles&id=<?=$eyestopper***91;'id'***93;?>"><?=$eyestopper***91;'title'***93;?></a></h2>
<p>Опубликовал <a href="#" class="blog-admin"><?=$eyestopper***91;'author'***93;?></a> <span class="blog-date"><?=$eyestopper***91;'date'***93;?></span></p>
</div>
<p><?=$eyestopper***91;'anons'***93;?></p>
<div class="blog-footer">
<a href="#"><span class="fa fa-comment"></span>18 Comments</a>
<a href="#"><span class="fa fa-thumbs-o-up"></span>35 Likes</a>
</div>
<?php endforeach; ?>
<?php ?>
<?php else: ?>
<p>Прошу прощения, пока-что тут статей нет.</p>

<?php endif; ?>

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

"А у вас точно модель инклюдится в view чтобы был доступ к функции?" - Подключил view через контроллер: require_once MODEL; То есть, в файле controller.php.

Попробовал, что Вы посоветовали - не помогло. Звездочки так и задуманы в коде (id'***93;)? Мне просто сразу ошибку выдает, когда вставляю Ваш код.

S
На сайте с 30.09.2016
Offline
469
#20
Grep:
Звездочки так и задуманы в коде (id'***93;)?

😂Звёздочки с цифрами 91 и 93 - это квадратные скобки на этом форуме.

123

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий