2013-09-24 3 views
-2

Я пытаюсь вставить данные из фида в базу данных с помощью Zend, а также добавить столбец date_updated в таблице, чтобы всякий раз, когда обновляется статья в фиде, колонка также обновляется. Но проблема в том, что первая статья вставляется ранее, а затем после остальных. Итак, когда я пытаюсь сделать выбор из 10 лучших статей, основанных на date_updated DESC, вставляемая статья, наконец, становится сверху, и если я использую ASC, тогда старые выбираются. Пожалуйста, предложите, как я могу продолжить. Запрос я пишу это:данные не поступают в надлежащем порядке из таблицы, используя php

$sql = "INSERT INTO news_article 
    (original_article_id, headline,summary, keywords, link, section, topic, date_published, date_updated, content, source_id) 
    VALUES (?,?,?,?,?,?,?,?,?,?,?) 
    ON DUPLICATE KEY UPDATE 
     original_article_id = ?, 
     headline = ?, 
     summary = ?, 
     keywords = ?, 
     link = ?, 
     section = ?, 
     topic = ?, 
     date_published = ?, 
     date_updated = ?, 
     content = ?, 
     source_id = ?"; 
$values = array(
    "original_article_id"=>$id, 
    "headline"=>$item->title, 
    "summary"=>$summary, 
    "keywords"=>$keywords, 
    "link"=>$item->link, 
    "section"=>"property", 
    "topic"=>"property", 
    "date_published"=>$formattedPubDate, 
    "date_updated"=>$currentDate, 
    "content"=>$data, 
    "source_id"=>"3" 
); 
$result = $db->query(
    $sql, 
    array_merge(array_values($values), array_values($values)) 
); 

и thenafter я использую

SELECT * FROM news_article ORDER BY date_updated DESC LIMIT 10 
+0

Какой тип данных является 'date_updated'? Является ли проблема с INSERT/UPDATE не установкой правильной даты или с помощью SELECT? Уточните вашу проблему –

+0

Какими типами данных являются поля даты? Какие данные вы вкладываете в них? Для этого вам нужно использовать поля 'DATE' или' DATETIME'. –

+0

Тип данных DATETIME fot date_updated. Проблема в том, что при вставке в таблицу статья, которая находится наверху в фиде, подается раньше, чем те, которые пришли поздно. Итак, когда я делаю выбор, статья, которая была последней, которая должна была произойти, которая не должна произойти – user2810532

ответ

0

использование ниже запроса

SELECT * FROM news_article ORDER BY date_updated DESC LIMIT 0,10 

После предела мы должны передать смещение и количество записей для выборки.

+0

Я пробовал это, но не работал. Проблема заключается в вставке данных. Я хочу вставить в обратном порядке. – user2810532

Смежные вопросы