Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум (новые сообщения вниз) Структурный форум

тема: Не выводиться последняя запись из таблицы

Сообщения:  [1-10]   [11-11] 

 
 автор: confirm   (13.10.2014 в 20:55)   письмо автору
 
   для: Jovidon   (13.10.2014 в 14:24)
 

Если говорить о чем-то особенном в PDO, то это курсоры, а остальное разве чем-то отличается от того что вы использовали ранее? Вам не хватает того набора, который вы определили глобально, например в результате объединения - используйте fetchAll(), а в остальном зачем это нужно?

  Ответить  
 
 автор: Jovidon   (13.10.2014 в 14:24)   письмо автору
 
   для: confirm   (13.10.2014 в 13:22)
 

Я вас понял уже установил глобальные настройки.
вапрос был для psychomc

а если выбрать по ИД тогда использовать fetchAll() или просто fetch() ?

  Ответить  
 
 автор: psychomc   (13.10.2014 в 13:43)   письмо автору
 
   для: Jovidon   (13.10.2014 в 13:05)
 

да, и учтите комментарий confirm'a сверху.

  Ответить  
 
 автор: confirm   (13.10.2014 в 13:22)   письмо автору
 
   для: Jovidon   (13.10.2014 в 13:05)
 

Что так?

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

  Ответить  
 
 автор: Jovidon   (13.10.2014 в 13:05)   письмо автору
 
   для: psychomc   (13.10.2014 в 12:56)
 

так?
<?
$statm 
$pdo->prepare($sql);
$statm->execute();
$feed $statm->fetchAll();

if(!empty(
$feed)) {
    
// ok
}

  Ответить  
 
 автор: psychomc   (13.10.2014 в 12:56)   письмо автору
 
   для: Jovidon   (13.10.2014 в 11:46)
 

не надо никаких rowCount, вызываете сразу fetchAll и проверяете результирующий массив на empty. и не надо никакой самоделятельности, смотрите в мануал

  Ответить  
 
 автор: confirm   (13.10.2014 в 12:01)   письмо автору
 
   для: Jovidon   (13.10.2014 в 11:46)
 

В глобальных настройках установите

$optionspdo = array(
PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES utf8',
PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,
PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC,
PDO::ATTR_CASE => PDO::CASE_LOWER
);

А при разборе:

$news = $statm->fetch();

Или получая одну строку, сразу

$news = $statm->execute()->fetch();

А если в каком-то случае потребуется иное, то указать

...fetch(PDO::FETCH_NUM)

  Ответить  
 
 автор: Jovidon   (13.10.2014 в 11:46)   письмо автору
 
   для: psychomc   (13.10.2014 в 11:19)
 

Спасибо! )
<?
    
// query
    
$sql 'SELECT `news_ID`, `title` '
         
'FROM `news` '
         
'ORDER BY `news_ID` '
         
'DESC ';
    
    
// execute
    
$statm $pdo->prepare($sql);
    
$statm->execute();
    
    if(
$statm->rowCount()) : 
        
        
$news $statm->fetchAll(PDO::FETCH_ASSOC);
?>
    
        <table class="table table-bordered">
            <thead>
                <tr>
                    <td>#</td>
                    <td><?php echo $lng['title']; ?></td>
                    <td width="75">&nbsp;</td>
                </tr>
            </thead>
            <tbody>
                
                <?php foreach ($news as $row): ?>
                
                <tr>
                    <td><?php echo (int) $row['news_ID']; ?></td>
                    <td><?php echo _sf($row['title']);?></td>
                    <td>
                        <?php echo _editBtn('news_ID=' . (int) $row['news_ID']); ?>
                        <?php echo _delBtn('news_ID=' . (int) $row['news_ID']); ?>
                    </td>
                </tr>
                
                <?php endforeach; ?>
                
            </tbody>
        </table>
    
<?php endif; ?>

  Ответить  
 
 автор: psychomc   (13.10.2014 в 11:19)   письмо автору
 
   для: Jovidon   (13.10.2014 в 11:08)
 

лол. испольщуйте метод fetchAll

  Ответить  
 
 автор: confirm   (13.10.2014 в 11:18)   письмо автору
 
   для: Jovidon   (13.10.2014 в 11:08)
 

Потому, что первую запись вы уже извлекли перед циклом:

if($statm->fetchColumn() > 0)

rowCount() возвращает количество строк.

  Ответить  

Сообщения:  [1-10]   [11-11] 

Форум разработан IT-студией SoftTime
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования