PHP / MySQL печатает 0 внутри значения int - PullRequest
0 голосов
/ 27 февраля 2012

Когда я пытаюсь ввести в поле идентификатора теги своих отдельных сообщений (post-id: 1932 и т. Д.), Значение всегда печатается как 0, а не значение базы данных.

Запрос принимаетпеременная темы $ _REQUEST (генерируется путем нажатия на ссылку).

Вот мой код:

 <?php

 require_once 'connect.php';

 $topic = $_REQUEST['topic'];

 // Build the SELECT statement
 $select_posts =
 "SELECT p.topic, p.title, p.pic_id, p.snippet, p.content, p.author_id, p.date FROM posts p WHERE p.topic =  '" . $topic . "' OR p.topic='Admin' ORDER BY p.date DESC";

 // Run the Query
 $result = mysql_query($select_posts);

 ?>

 <?php
   $post_count=0;
   while ($post_count<10 && $posts = mysql_fetch_array($result)) {
       $posts_row = sprintf(
           '<entry>
               <headline>%s</headline>
                    <pic><img class=inlinepic src=/Sustenance/assets/post-pics/%d.jpg></pic>
                    <snippet class=on id="%d snippet">%s</snippet>
                    <readmore id="readmore%d" class=on onclick=readmore("%d")>Read More</readmore>
                    <content id="%d" class="less">%s
                        <readmore class=on onclick=readless(%d)>Show Less</readmore>
                    </content>
                    <byline>
                        <by>by</by>
                        <author>%s</author>
                    </byline>
            </entry>',
       $posts['topic'], $posts['title'], $posts['pic_id'], $posts['post_id'], $posts['snippet'], $posts['post_id'], $posts['post_id'], $posts['post_id'], $posts['content'], $posts['post_id'], $posts['author_id']);
       echo $posts_row;
       $post_count++;
  }
 ?>

Мне кажется странным, что «pic_id» печатает правильно и вытягивает правильную картинку, но даже когда я попытался повторно использовать pic_id в $ divid, это не сработало.Я попытался заменить $ divid на $ posts ['id'], используя все различные спецификаторы целочисленных типов в PHP Manual и даже используя встроенный php.

Есть ли у менясинтаксическая ошибка?Почему он продолжает печатать 0?

РЕДАКТИРОВАТЬ: я отправил запрос в соответствии с запросом

РЕДАКТИРОВАТЬ 2: Удалена переменная $ divid.

1 Ответ

0 голосов
/ 27 февраля 2012

Вы должны поместить строку

$divid=$posts['post_id'];

в петлю while.Теперь он пытается получить значение $posts['post_id'] уже до того, как оно будет назначено в первый раз в заголовке цикла, и поэтому равно 0 и никогда не изменяется (так как оно никогда не переназначается).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...