Grep

Рейтинг
63
Регистрация
24.11.2010

То-то я все никак не мог найти ее :D Спасибо!

Теперь появились эти ошибки:

Warning: mysql_fetch_assoc() expects parameter 1 to be resource, boolean given in V:\home\blogv2.lv\www\models\function.php on line 11

Fatal error: Function name must be a string in V:\home\blogv2.lv\www\views\navigation.php on line 11

Что ему тут не нравится?

Все, проблема решена. Проблема крылась в модели.

Заменил то, что было на:


function eyestopper(&$ar){
$ar=array();
$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)){
$ar[] = $row;
}
}

и все заработало.

Уже многое перепробывал...

Можете, у кого есть время, посмотреть на проект? Может вы поймете в чем проблема...

Yandex.disk

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;)? Мне просто сразу ошибку выдает, когда вставляю Ваш код.

ziliboba0213:
Смотрите тогда что в массиве выводится:
print_r($eyestoppers);

Выводится пустота.

Если:

<?php print_r($eyestoppers); ?>

Выводит NULL ( пустоту, как я понимаю )

Arsh:
На скрине поля visible не видно, там 1?

Да, там везде установлено значение "1".

DeusCredo:
да что тут думать, у вас функция не вызывается а значит не работает.
if($eyestoppers): это не вызов функции, насколько я вижу данная переменная возвращается как результат работы функции eyestopper($eyestopper)В шаблоне у вас должно быть как то так:
<?php eyestopper($eyestopper); ?>// вызов функции
<?php if($eyestoppers): ?>// проверка существует ли переменная $eyestoppers которую должна через return вернуть функция
<?php foreach($eyestoppers as $eyestopper): ?>// собственно если существует проход по ней foreach с выводом данных

если полный листинг выложите смогу точно сказать
P.S. да и не совсем понятно зачем в eyestopper($eyestopper) вы передаете аргументом переменную $eyestopper которая позже в функции объявляется массивом который вообще в функции не используется. А используется насколько вижу в foreach... В общем если вы учитесь и сами написали код то ладно, сам тож поначалу бред писал, но если вы за это денег отвалили оторвите руки... НУ и да возможно я неправильно все понял по обрывкам кода

Прописал как Вы написали - выдает ошибку.

Может поможет, вот весь код:

<?php include_once 'include/header.php';?>
<!-- Start blog section -->
<section id="blog">
<div class="container">
<div class="row">
<div class="col-md-12">
<div class="blog-area">
<div class="row">
<div class="col-lg-8 col-md-7 col-sm-12">
<div class="blog-left blog-archive">
<!-- Start single blog post -->
<article class="single-from-blog">
<pre>
<?php print_r($eyestoppers); ?>
</pre>
<?php if($eyestoppers): ?>
<?php foreach($eyestoppers as $eyestopper): ?>
<figure>
<a href="?view=articles&id=<?=$eyestopper['id']?>"><img alt="<?=$eyestopper['title']?>" src="<?= TEMPLATE ?>assets/images/<?=$eyestopper['img']?>"></a>
</figure>
<div class="blog-title">
<h2><a href="?view=articles&id=<?=$eyestopper['id']?>"><?=$eyestopper['title']?></a></h2>
<p>Опубликовал <a href="#" class="blog-admin"><?=$eyestopper['author']?></a> <span class="blog-date"><?=$eyestopper['date']?></span></p>
</div>
<p><?=$eyestopper['anons']?></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>
<p>В ближайшее время тут что-то появится :)</p>

<?php endif; ?>


</article>
<!-- End single blog post -->
</div>
</div>
<!-- right bar -->
<?php include_once 'include/rightbar.php';?>
<!-- /right bar-->
<!-- footer -->
<?php include_once 'include/footer.php'; ?>
<!-- /footer -->

</body>
</html>
ziliboba0213:
Кстати да, нет же вызова самой функции, в примере по крайней мере...
Надо как то так, вроде:
$eyestoppers = eyestopper($eyestopper);

А потом уже перебирать:
foreach($eyestoppers as $eyestopper)

Пробовал прописать сначала (в самом верху и над foreach) - не помогло.

===========================================================================

Прописал так:


<?php eyestopper($eyestoppers); ?>
<?php if($eyestoppers): ?>
<?php foreach($eyestoppers as $eyestopper): ?>
<figure>
<a href="?view=articles&id=<?=$eyestopper['id']?>"><img alt="<?=$eyestopper['title']?>" src="<?= TEMPLATE ?>assets/images/<?=$eyestopper['img']?>"></a>
</figure>
<div class="blog-title">
<h2><a href="?view=articles&id=<?=$eyestopper['id']?>"><?=$eyestopper['title']?></a></h2>
<p>Опубликовал <a href="#" class="blog-admin"><?=$eyestopper['author']?></a> <span class="blog-date"><?=$eyestopper['date']?></span></p>
</div>
<p><?=$eyestopper['anons']?></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; ?>

Ничего не выдает. Не могу понять почему он не может ничего вытащить из таблицы. :( В базе всё нормально работает при запросе SELECT id, title, img, anons, date, author, description, keywords FROM articles WHERE visible='1'

Дикий пионер:
У вас в приведенном коде нет собственно вызова функции.
У вас в шаблоне есть код типа такого?
$eyestoppers = eyestopper();

Да, прописано в шаблоне такое:


<?php if($eyestoppers): ?>
<?php foreach($eyestoppers as $eyestopper): ?>
ziliboba0213:
В phpMyAdmin спросите напрямую, мож ошибка какая, я так делаю 🍿

Делал так. Ошибок никаких не выдает.

cvstos:
дык где ж взять программиста то, ему платить надобно.
а на чем писать? может сам разберусь

---------- Добавлено 27.03.2017 в 21:35 ----------



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

На чем писать: самое простое notepad++, но обычно веб-программисты пишут код в более удобных программах. Я, к примеру, использую brackets. Кто-то другую программу - каждому свое, так сказать. Но проблема в том, что нужно иметь хотябы базовые знания по JS и PHP. И разумеется разбираться в HTML разметке и CSS стилях.

Рекомендую, для начала, попробовать WordPress движок. Под него написано уже кучу плагинов и он интуитивно понятен. Joomla уже по сложнее будет.

aleksandrbol:
Это быстрые ссылки, они автоматом происходят, зависят от трафика

Спасибо за ответ!

Стоит ли в шаблоне отметить определенные блоки, к примеру, контакты разметкой Scheme? Или это, в принципе, особой роли не сыграет в моем случае?

Как я понимаю, быстрые ссылки появляются только у сайтов которые находятся в топ-20 и выше. Сниппеты в два столбика доступны лишь коммерческим сайтам и тем, кто занимают первую позицию в выдаче, верно?

Всегда поражался людям, которые не зная человека описывают его. Всё же отвечу, дабы развееть Ваш вопрос. Да, лень приводит к дегенерации, но, с чего такая уверенность, что мне было легче зайти на этот форум, напечатать текст с вопросов и сделать скрин? Нежели чем вбить два слова в поисковик. Логично, правда? Дело в том, что я не знал что это называется "сниппет" или "быстрые ссылки". Я занимаюсь исключительно кодингом сайтов, тут попросили выяснить - я отписываюсь на нужном форуме. Не так ли? Повторюсь, не стоит судить человека не зная его - вот это для меня признак дегинирата. Оскорбления, "подколки" на вопросы - не есть признак высокого интеллекта.

Спасибо за ссылки. Ознакомился, получил ответ на свой вопрос. Тему можно закрывать.

Огромное спасибо!!Помогло))

1 234
Всего: 36