We launched new forums in March 2019—join us there. In a hurry for help with your website? Get Help Now!
    • 39304
    • 2 Posts
    Ребят, помогите пожалуйста! Как создать запрос и вывести результаты таблицы в массиве? Приведите плиз простой пример запроса к бд, например к таблице modx_gallery_items, который бы брал 2 значения "filename" и "id" и выводи всё это через массив!
      • 38454
      • 71 Posts
      Ну Вы издеваетесь. По секрету поделюсь двумя ссылкаами, которые смогут Вам помочь — http://www.google.ru и http://www.yandex.ru
        • 39304
        • 2 Posts
        Нет, не издеваюсь. Вчера целый день искал. Нашёл самую простую конструкцию для сниппета:
        <?php
          $chunk = $modx->getChunk('ShowSlider');
          $result = $modx->db->query('SELECT * FROM  modx_gallery_items');
          while($row = mysql_fetch_assoc($result)){
            print_r($row);
            $res = $chunk;
            foreach($row as $key=>$value)
              $res = str_replace('[+'.$key.'+]',$value,$res);
            echo $res;        
          };
        ?>
        


        Но она не работает, страница просто долго думает, минут 5, и потом выдает ошибку. Можно ли как-нибудь достучаться до БД, сделать запрос, и забрать все значения, которые вывести через массив??? У меня не получается.

        Нашёл, что есть вот такой сниппет "Rowboat", но как им пользоваться - нигде не нашёл. Помогите плиз =( очень надо!

        И что странно, когда создаю сниппет через админку, то после сохранения его, он теряет то оба "<?php" и "?>" или только "?>". И не важно статичный это файл или нет... Так и должно быть? [ed. note: ben2988 last edited this post 14 years, 6 months ago.]
          • 16278
          • 928 Posts
          Если речь идёт о MODX Evo, Вам может помочь функция $modx->db->makeArray(). Пример из старого Wiki:
          function show_members() {
          	global $modx;
          	$output = '';
          	$table = $modx->getFullTableName( 'members' );
          	
          	$result = $modx->db->select( 'id, name, picture', $table, '', 'name ASC', '' );
          	$members = $modx->db->makeArray( $result );
          	
          	foreach( $members as $p_val ) {		
          		foreach( $p_val as $m_key => $m_val ) {	
          			$output .= '<strong>' . $m_key . ':</strong> ' . $m_val . '
          ';
          		}
          	}
          }
          


          (Функция $modx->parseChunk() также Вам наверно поинтересует)

          :) KP [ed. note: kp52 last edited this post 14 years, 6 months ago.]
            • 38454
            • 71 Posts
            Нет, не издеваюсь

            Тогда извиняюсь. Я подумал Вы задали вопрос как в принципе писать запросы к БД. Вам надо более подробно описывать суть проблемы — как во втором сообщении.