Jump to content

vitaxastifler

User
  • Posts

    307
  • Joined

  • Last visited

Everything posted by vitaxastifler

  1. Тот "программист" который дал мне это задание не сделал это! И говорит что сайт будет падать,если залить новые базы. Я вот решил протестить,сейчас сделаю копию сайта и поробую перенести всю базу! Мы ж не будем выводить абсолютно все книги,поэтому я думаю что не должен падать! А вы как думаете? Сам лично правда локально я выводил 800 книг на одной стр. Или хостинг может не выдержать?
  2. выведенные 20 книг Вот,так будет понятней) Один знакомый говорит что надо сделать что бы форма и поиск был на 1-й стр тогда всё должно сработать.
  3. В общем пробовал,ничего не получилось у меня. Дошёл к тому что при нажатии на следующую стр у меня всё сбивается. Как то тут всё оч сложно,надо что бы кто то смотрел.
  4. Николя223 вы правы,я плохо понимаю пхп! Короче я в тупике,надо переваривать всё. Спасибо вам,парни.
  5. извини что я полностью код пишу,просто я такой ляпа что могу натупить( Давайте ещё раз полность,мб вы что то не допоняли. Надо сделать вывод стр из б/д по 20 на страницу. Сайт написан на джумле. Мне кажется программист писал поиск и подкл через кодигнайтер. Вот основные файлы: 1-й я так понял выводит результат поиска: http://hostingkartinok.com/show-image.php?id=469ea06a719903253ef3db1e55c222de 2-й файл это я так понял отвечвает за вывод http://hostingkartinok.com/show-image.php?id=46519351c40e5bf72d141f81c3d6e8c9
  6. С таким вот расскладом 404 ошибка
  7. Значит я взял //get a dbfields and parameters$first_field = $post['fields'][0]; и if($first !== '%') {$first = "AND $first_field LIKE '$first'";} else {$first = '';}И переименовал,получилось: $limit_field = $post['fields'][0];if($limit !== '%') {$limit = "AND $limit_field LIKE '$limit'";} else {$limit = '';}Шукати ще!Знайдено записів: 0 БД книг Знайдено записів: 1 count 52945 Или я не так понял?(
  8. Switch74 всё по преднему,только в конце вывилоЗнайдено записів: 1 count 52945
  9. Николя223 когда копирую твой код,то у меня вообще пустая белая страница Дело в том что тут 2-а файла в одном подкл,а в другом вывод Вывод: <?php foreach ($this->result as $dbname=> $db) { if($dbname !== 'needle') { echo "<br><span style='font-size: 18px;background-color:#309603; color: #FFF;'>Знайдено записів: " . count($db) . ' ' . $dbname . " </span>"; foreach ($db as $field => $value) { echo '<div class="item">'; foreach ($value as $key=> $r) { $r = str_ireplace($this->result['needle'][0], '<span style="background-color:#FFFE4E;">' . $this->result['needle'][0] . '</span>', $r); $r = str_ireplace($this->result['needle'][1], '<span style="background-color:#FFFE4E;">' . $this->result['needle'][1] . '</span>', $r); $r = str_ireplace($this->result['needle'][2], '<span style="background-color:#FFFE4E;">' . $this->result['needle'][2] . '</span>', $r); $r = str_ireplace($this->result['needle'][3], '<span style="background-color:#FFFE4E;">' . $this->result['needle'][3] . '</span>', $r); if($key == 'author') { echo $r . '<br />'; } else { echo $r; } } echo '</div>'; } } } ?>Подкл: //search data in choosen db's $result = array(); foreach($post['dbname'] as $dbname) { $query = "SELECT author, title, pub_info, publisher, pages, seria, source FROM #__katalog WHERE dbname LIKE '$dbname' $first $second $third $fourth"; $db->setQuery( $query ); $result[$dbname] = $db->loadObjectList(); } return $result; }}И я в них путаюсь
  10. Чёта я вообще тупой,ничё не понимаю что и куда вставлять(
  11. Николя223 что бы тебе чуток понятней было) http://hostingkartinok.com/show-image.php?id=484b1b3abb868dedff590c0426aab926
  12. Николя223 спасибо тебе! <?php // No direct access defined( '_JEXEC' ) or die( 'Restricted access' ); jimport( 'joomla.application.component.model' ); class KatalogModelKatalog extends JModel { /** * Gets the greeting * @return string The greeting to be displayed to the user */ function getResult($post) { $db =& JFactory::getDBO(); //get a dbfields and parameters $first_field = $post['fields'][0]; $second_field = $post['fields'][1]; $third_field = $post['fields'][2]; $fourth_field = $post['fields'][3]; $first = $post['search_words'][0]; $second = $post['search_words'][1]; $third = $post['search_words'][2]; $fourth = $post['search_words'][3]; $search_type = $post['search_type']; if($first !== '%') { $first = "AND $first_field LIKE '$first'"; } else { $first = ''; } if($second !== '%') { $second = "AND $second_field LIKE '$second'"; } else { $second = ''; } if($third !== '%') { $third = "AND $third_field LIKE '$third'"; } else { $third = ''; } if($fourth !== '%') { $fourth = "AND $fourth_field LIKE '$fourth'"; } else { $fourth = ''; } //search data in choosen db's $result = array(); foreach($post['dbname'] as $dbname) { $query = "SELECT author, title, pub_info, publisher, pages, seria, source FROM #__katalog WHERE dbname LIKE '$dbname' $first $second $third $fourth"; $db->setQuery( $query ); $result[$dbname] = $db->loadObjectList(); } return $result; } }
  13. Николя223 я даже не знаю,вот напримет при запросе "Шевченко" находит 241 книгу это всё в одну стр,а мне надо что бы их было 25 стр) А как там остальные,без понятия) Знать бы ещё куда код тулить) Тут же с плагинов всё написано на старовинной Джумле.
  14. Николя223 Тот кусок кода что ты вы делил вроде ничего не меняет,только жёлтыйм цветом подчёркивает имя автора при выводе Вот ещё интересный кусок кода нашёл,мб в него добавлять что то надо? http://hostingkartinok.com/show-image.php?id=ee7f354120333b0a5a5ff59c0c36ea03
  15. Мне надо перезалить б/д (24 тыс записей)! Если я сейчас её залью, то он упадёт при большом выводе Поэтому для начала нужно навигация. Сайт на joomla 1.7 Мой наставник говорит мол читай mysql limit,и надо циклом отрисовать всё.
  16. Switch74 А то разве не запрос?) Если стираю то ничего не выводит( Чёт я запутался
  17. Парни,кто то может помочь в выводе постраничной навигации Тоесть из вот этого сделать что бы на стр выводило только по 20 записей,ну и стрелочки например вперёд,назад...! <?php foreach ($this->result as $dbname=> $db) { if($dbname !== 'needle') { echo "<br><span style='font-size: 18px;background-color:#309603; color: #FFF;'>Знайдено записів: " . count($db) . ' ' . $dbname . " </span>"; foreach ($db as $field => $value) { echo '<div class="item">'; foreach ($value as $key=> $r) { $r = str_ireplace($this->result['needle'][0], '<span style="background-color:#FFFE4E;">' . $this->result['needle'][0] . '</span>', $r); $r = str_ireplace($this->result['needle'][1], '<span style="background-color:#FFFE4E;">' . $this->result['needle'][1] . '</span>', $r); $r = str_ireplace($this->result['needle'][2], '<span style="background-color:#FFFE4E;">' . $this->result['needle'][2] . '</span>', $r); $r = str_ireplace($this->result['needle'][3], '<span style="background-color:#FFFE4E;">' . $this->result['needle'][3] . '</span>', $r); if($key == 'author') { echo $r . '<br />'; } else { echo $r; } } echo '</div>'; } } } ?>
  18. LunatiK ок,буду знать,сори) Я уже разобрался,всем спасибо за помощь! Теперь мне нужно сделать постраничный вывод, по 20-50 записей на страницу.
  19. LunatiK Да,я это исправил,но выпала вот такая ошибка! Что скажете? http://hostingkartinok.com/show-image.php?id=1e236a23171e81b31c00160bdf88d927 Код "дб драйвера") Исправил....!
  20. Всем привет,ребятки,вопрос жизни и смерти( Мне очень надо перегнать б/д MARC SQL в б/д сайта!!! Предыдущий программист делал это,он написал на скрипт на codeiniter. В 2-х словах он обьяснил как он работает и пропал безвести( Работает скрипт так:Выбираем базу (марка) (Б/Д Марка в формате .html) и просто нажимаем кнопку конвертировать,codeigniter автоматом записывает данные в б/д (phpmyadmin) сайта. Всё вроде и работает но,в базу не записывается( Вот исходники,подскажите пожалуйста( Огромное спасибо! 1-й скрин здесь сам вид программы http://hostingkartinok.com/show-imag...809d0a7f12b121 D:\xampp\htdocs\konverter\application\views\load.php <html lang="ru-ru" slick-uniqueid="1" xmlns="http://www.w3.org/1999/xhtml" xml:lang="ru-ru"><head><meta content="text/html; charset=utf-8" http-equiv="content-type"><meta content="index, follow" name="robots"><title>Konverter</title></head><body> <?php echo form_open_multipart('load_db/dbconvert'); echo form_upload('filename'); echo '<br />'; echo form_radio('dbname', 'БД аудіо-відео матеріалів', FALSE); echo 'kffd;'; echo form_radio('dbname', 'БД методичних матеріалів', FALSE); echo 'method;'; echo form_radio('dbname', 'БД книг', FALSE); echo 'book;<br />'; echo form_radio('dbname', 'БД статей із періодики', FALSE); echo 'bibl;'; //echo form_radio('dbname', 'period', FALSE); //echo 'period;'; echo form_radio('dbname', 'БД краєзнавчих матеріалів', FALSE); echo 'kray;<br/>'; echo form_submit('submit', 'konvert'); echo form_close(); ?> </body></html>D:\xampp\htdocs\konverter\application\config\database.php <?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');/*| ——————————————————————-| DATABASE CONNECTIVITY SETTINGS| ——————————————————————-| This file will contain the settings needed to access your database.|| For complete instructions please consult the 'Database Connection'| page of the User Guide.|| ——————————————————————-| EXPLANATION OF VARIABLES| ——————————————————————-|| ['hostname'] The hostname of your database server.| ['username'] The username used to connect to the database| ['password'] The password used to connect to the database| ['database'] The name of the database you want to connect to| ['dbdriver'] The database type. ie: mysql. Currently supported: mysql, mysqli, postgre, odbc, mssql, sqlite, oci8| ['dbprefix'] You can add an optional prefix, which will be added| to the table name when using the Active Record class| ['pconnect'] TRUE/FALSE - Whether to use a persistent connection| ['db_debug'] TRUE/FALSE - Whether database errors should be displayed.| ['cache_on'] TRUE/FALSE - Enables/disables query caching| ['cachedir'] The path to the folder where cache files should be stored| ['char_set'] The character set used in communicating with the database| ['dbcollat'] The character collation used in communicating with the database| NOTE: For MySQL and MySQLi databases, this setting is only used| as a backup if your server is running PHP < 5.2.3 or MySQL < 5.0.7| (and in table creation queries made with DB Forge).| There is an incompatibility in PHP with mysql_real_escape_string() which| can make your site vulnerable to SQL injection if you are using a| multi-byte character set and are running versions lower than these.| Sites using Latin-1 or UTF-8 database character set and collation are unaffected.| ['swap_pre'] A default table prefix that should be swapped with the dbprefix| ['autoinit'] Whether or not to automatically initialize the database.| ['stricton'] TRUE/FALSE - forces 'Strict Mode' connections| - good for ensuring strict SQL while developing|| The $active_group variable lets you choose which connection group to| make active. By default there is only one group (the 'default' group).|| The $active_record variables lets you determine whether or not to load| the active record class*/ $active_group = 'default';$active_record = TRUE; $db['default']['hostname'] = 'localhost';$db['default']['username'] = 'admin';$db['default']['password'] = 'admin';$db['default']['database'] = 'chobdck_database';$db['default']['dbdriver'] = 'mysql';$db['default']['dbprefix'] = 'chobd';$db['default']['pconnect'] = TRUE;$db['default']['db_debug'] = TRUE;$db['default']['cache_on'] = FALSE;$db['default']['cachedir'] = '';$db['default']['char_set'] = 'utf8';$db['default']['dbcollat'] = 'utf8_general_ci';$db['default']['swap_pre'] = '';$db['default']['autoinit'] = TRUE;$db['default']['stricton'] = FALSE; /* End of file database.php *//* Location: ./application/config/database.php */D:\xampp\htdocs\konverter\application\models\konverter_model.php <?phpif (!defined('BASEPATH')) exit('Нет доступа к скрипту'); /** * */class Konverter_model extends CI_Model { function __construct() { parent::__construct(); $this->load->database(); } function index($data) { $this->db->insert('chobdck_database', $data); }} ?>D:\xampp\htdocs\konverter\application\controllers\load_db.php <?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');class Load_db extends CI_Controller {public function __construct() {parent::__construct();$this->load->model('Konverter_model');}function index() {$this->load->view('load');}function dbconvert() {//uplode file$filename = $_FILES['filename']['name'];move_uploaded_file($_FILES['filename']['tmp_name'], $_SERVER["DOCUMENT_ROOT"] . base_url() . 'upload/' . $filename);$dbname = $_POST['dbname'];//array from html$file = read_file('upload/'. $filename);$file = explode('</TR>', $file);//cleaning data and sortforeach ($file as $field => $item) {$item = explode('', iconv('windows-1251', 'UTF-8', trim(strip_tags($item))));//delete first three cell from arrayfor($i=1; $i<3; $i++) {array_shift($item);} echo "<hr /><pre>"; var_dump($item); echo "</pre><hr />";//array numbers of the fields;$fields = array('author' => array('100' => 'a'),'title' => array('245' => ''),'pub_info' => array('250' => ''),'publisher' => array('260' => ''),'pages' => array('300' => ''),'seria' => array('440' => ''),'person' => array('600' => 'a'),'geograf' => array('651' => 'a'),'rubric' => array('650' => 'a'),'keywords' => array('653' => 'a'),'source' => array('773' => ''));foreach ($fields as $field_name => $field_index) {$result[$field_name] = $this->check_fields($item, $field_index);}$result['dbname'] = $dbname;//$this->Konverter_model->index($result);/*echo "<hr /><pre>";var_dump($result);echo "</pre><hr />";*/}}function check_fields($item, $field_index) {global $field;foreach ($field_index as $str_index => $sub_str_index) {foreach ($item as $line) {$pos = strpos($line, "$str_index");if(strstr($line, "$str_index") and $pos == 0) {if(!empty($sub_str_index)) {$field = '';$sub_lines = explode('', $line);foreach ($sub_lines as $sub_line) {$pos = strpos($sub_line, "$sub_str_index");if(strstr($sub_line, "$sub_str_index") and $pos == 0) {$field .= str_replace("$sub_str_index", '', $sub_line);}}break;} else {$field = $line;$field = str_replace("$str_index", '', $field);$field = str_replace("", '', $field);$field = substr_replace($field, '', 0, 2);if("$str_index" == '245') {$field = substr_replace($field, '', 0, 1);$field = str_replace('a', ' ', $field);$field = str_replace('b', ' : ', $field);$field = str_replace('c', ' / ', $field);$field = str_replace('n', ' ', $field);$field = str_replace('p', ' : ', $field);} elseif("$str_index" == '250') {$len = strlen($field) - 1;if(strripos($field, '.') == $len) {$field = substr_replace($field, '', $len, $len);}$field = str_replace('a', '. - ', $field);$field = str_replace('b', ', ', $field);} elseif("$str_index" == '260') {$len = strlen($field) - 1;if(strripos($field, '.') == $len) {$field = substr_replace($field, '', $len, $len);}$field = str_replace('a', '. - ', $field);$field = str_replace('b', ' : ', $field);$field = str_replace('c', ', ', $field);} elseif("$str_index" == '300') {$len = strlen($field) - 1;if(strripos($field, '.') == $len) {$field = substr_replace($field, '', $len, $len);}$field = str_replace('a', '. - ', $field);$field = str_replace('b', ' : ', $field);} elseif("$str_index" == '440') {//$field добавить скобки$field = str_replace('a', '. - b', $field);$len = strlen($field);$field = str_replace('b', '(', $field);$field = substr_replace($field, ')', $len, $len); } elseif("$str_index" == '773') {$field = str_replace('t', ' // ', $field);$field = str_replace('d', '. -', $field);$field = str_replace('g', '. -', $field);} $field = preg_replace('//', ' ', $field);}break;} else {$field = '';}}}return $field;}}?>D:\xampp\htdocs\konverter\application\libraries\Konverter_lib.php <?phpif (!defined('BASEPATH')) exit('Нет доступа к скрипту'); class Konverter_lib { function check_fields($item, $value) { global $field; foreach ($value as $field_num_index => $sub_string_index) { foreach($item as $line) { if (preg_match($field_num_index, $line)) { $line = explode('', $line); foreach ($line as $key => $sub_str) { $pos = strpos($sub_str, $sub_string_index); if (preg_match('/a/', $sub_str) and $pos == 0) { $field[] = $sub_str; } else { $field[] = ' '; } } } } } return $field; }} ?>Вот сюда должно записаться! http://hostingkartinok.com/show-imag...193c2204fefc1a
  21. Veseloff на чём учили,тем и работаю Но я тоже задумывался об этом... Дай мне ссылку,когда то займусь и этим,мне на винду поставить надо!
  22. Мне кажется у меня ксамп не правильно настроен!!! пробывал на старом компе,то не выдаёт такую ошибку,но нодо настроить на этом)Мне нужна ваша не большая помощь.Подскажите что писать в "httpd-userdir.conf" ксампа(D:\xampp\apache\conf\extra)У меня настроен он так:Например что бы открыть мой сайт локально,я пишу в браузере "mychobd.ua"В "httpd-userdir.conf" прописано так: <VirtualHost *:80> DocumentRoot "D:\xampp\htdocs\chobd" ServerName mychobd.ua</VirtualHost> В хостах винды у меня "192.168.10.170 mychobd.ua"Когда пишу localhost то мне открывает мой сайт. А как мне настроить так,что бы я писал "localhost/konverter" и он мне открывал мой конвектор,что бы не писать снова все путя к папкам,хосты....???
  23. Чёта не могу я ничего сделать,вроде всё правильно,но не конвертирует нифига(
  24. Сегодня общался с этим программистом. Мне дали 6-ть файлов, в формате .html это исходные б/д марка. Конвертируем по очереди эти файлы и они автоматом записываются в б/д,дальше импортируем базу на сайт и всё,поиск готов) Но не всё так просто,пока перенастроить конвектор написаный на codeigniter... Вот такая проблемка появилась: A PHP Error was encountered Severity: Warning Message: move_uploaded_file(D:/xampp/htdocs/konverterhttp://konverter.ua/upload/kray.html): failed to open stream: Invalid argument Filename: controllers/load_db.php Line Number: 18 18 строка это move_uploaded_file($_FILES['filename']['tmp_name'], $_SERVER["DOCUMENT_ROOT"] . base_url() . 'upload/' . $filename); Собственно полностью load_db.php <?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');class Load_db extends CI_Controller { public function __construct() { parent::__construct(); $this->load->model('Konverter_model'); } function index() { $this->load->view('load'); } function dbconvert() { //uplode file $filename = $_FILES['filename']['name']; move_uploaded_file($_FILES['filename']['tmp_name'], $_SERVER["DOCUMENT_ROOT"] . base_url() . 'upload/' . $filename); $dbname = $_POST['dbname']; //array from html $file = explode('</TR>',read_file('upload/'. $filename)); foreach ($file as $field => $item) { $item = explode('', iconv('windows-1251', 'UTF-8',trim(strip_tags($item)))); $fields = array( 'author' => array('100' => 'a'), 'title' => array('245' => ''), 'pub_info' => array('250' => ''), 'publisher' => array('260' => ''), 'pages' => array('300' => ''), 'seria' => array('440' => ''), 'person' => array('600' => 'a'), 'geograf' => array('651' => 'a'), 'rubric' => array('650' => 'a'), 'keywords' => array('653' => 'a'), 'source' => array('773' => '') ); foreach ($fields as $field_name => $field_index) { $result[$field_name] = $this->check_fields($item, $field_index); if(strpos($line, $field_index) == 0) { } } } } function check_fields($item, $field_index) { global $field; foreach ($field_index as $str_index => $sub_str_index) { foreach ($item as $line) { echo "$line<br />"; } echo "<hr />"; } }}?>Мне кажется,или у меня не правильно путя прописаны просто?)
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. See more about our Guidelines and Privacy Policy