mosquito 0 Опубликовано 29 ноября, 2008 Жалоба Share Опубликовано 29 ноября, 2008 <?php mysql_connect('localhost', 'root', ''); mysql_select_db('tpedb'); $products = mysql_query('SELECT * FROM products AS p LEFT JOIN products_description AS p_desc ON (p.products_id = p_desc.products_id)'); $categories = mysql_query('SELECT * FROM categories AS c LEFT JOIN categories_description AS c_desc ON (c.categories_id = c_desc.categories_id)'); while ($products_row = mysql_fetch_array($products, MYSQL_ASSOC)) { $products_row['products_page_url'] = $products_row['products_name'].'.html'; $products_row['products_page_url'] = str_replace(' ', '-', $products_row['products_page_url']); echo $products_row['products_id'].'-> '.$products_row['products_name'].'; '.$products_row['products_price'].'; '.$products_row['products_page_url'].";<br />"; mysql_query("UPDATE products AS p SET p.products_page_url = '".$products_row['products_page_url'] ."' WHERE p.products_id = '".$products_row['products_id'])."'"; } $result = mysql_query('SELECT * FROM products'); while ($products_row = mysql_fetch_array($result, MYSQL_ASSOC)) { echo $products_row['products_id'].'-> '.$products_row['products_page_url'].";<br />"; }?>[/code]что сдесь не так как сделать update ??? после выполнения запроса products_page_url всеравно = '' Ссылка на сообщение Поделиться на другие сайты
mosquito 0 Опубликовано 29 ноября, 2008 Автор Жалоба Share Опубликовано 29 ноября, 2008 вопрос решен ) Ссылка на сообщение Поделиться на другие сайты
support 447 Опубликовано 29 ноября, 2008 Жалоба Share Опубликовано 29 ноября, 2008 Если решён, на всякий пожарный поправь код на правильный в первом сообщение. Если кто в будущем будет читать, что б тоже на грабли не наступили. Ссылка на сообщение Поделиться на другие сайты
mosquito 0 Опубликовано 1 декабря, 2008 Автор Жалоба Share Опубликовано 1 декабря, 2008 <?php mysql_connect('localhost', 'root', ''); mysql_select_db('tpedb'); $products = mysql_query('SELECT * FROM products AS p LEFT JOIN products_description AS p_desc ON (p.products_id = p_desc.products_id)'); $categories = mysql_query('SELECT * FROM categories AS c LEFT JOIN categories_description AS c_desc ON (c.categories_id = c_desc.categories_id)'); while ($products_row = mysql_fetch_array($products, MYSQL_ASSOC)) { $products_row['products_page_url'] = $products_row['products_name'].'.html'; $products_row['products_page_url'] = str_replace(' ', '-', $products_row['products_page_url']); echo $products_row['products_id'].'-> '.$products_row['products_name'].'; '.$products_row['products_price'].'; '.$products_row['products_page_url'].";<br />"; mysql_query("UPDATE products AS p SET p.products_page_url = '".$products_row['products_page_url'] ."' WHERE p.products_id = '".$products_row['products_id'])."'"; } $result = mysql_query('SELECT * FROM products'); while ($products_row = mysql_fetch_array($result, MYSQL_ASSOC)) { echo $products_row['products_id'].'-> '.$products_row['products_page_url'].";<br />"; }?>[/code] Ссылка на сообщение Поделиться на другие сайты
support 447 Опубликовано 1 декабря, 2008 Жалоба Share Опубликовано 1 декабря, 2008 Спасибо Ссылка на сообщение Поделиться на другие сайты
ABerezin 0 Опубликовано 1 декабря, 2008 Жалоба Share Опубликовано 1 декабря, 2008 Необходимо добавить фильтрацию "плохих" символов. И перекодировку в транслит (хотя правильнее сделать это опционально). Кроме того, неплохо-бы проверять url на уникальность - иначе можно нарваться. На самом деле это должно выглядеть примерно так: <?php/* ----------------------------------------------------------------------------------------- $Id: seo_url_gen.php 1.2 01.12.2008 18:02 Andrew Berezin eCommerce-Service.com $ VaM Shop - open source ecommerce solution http://vamshop.ru http://vamshop.com Copyright (c) 2008 VaM Shop ----------------------------------------------------------------------------------------- based on: (c) 2000-2001 The Exchange Project (earlier name of osCommerce) (c) 2002-2003 osCommerce(specials.php,v 1.47 2003/05/27); www.oscommerce.com (c) 2003 nextcommerce (specials.php,v 1.12 2003/08/17); www.nextcommerce.org (c) 2004 xt:Commerce (specials.php,v 1.12 2003/08/17); xt-commerce.com Released under the GNU General Public License ---------------------------------------------------------------------------------------*/require_once('includes/application_top.php');require_once(DIR_FS_INC . 'vam_cleanName.inc.php');$products_query = vam_db_query("SELECT p.products_id, pd.products_name FROM " . TABLE_PRODUCTS . " p LEFT JOIN " . TABLE_PRODUCTS_DESCRIPTION . " pd ON (p.products_id = pd.products_id) WHERE pd.language_id='" . (int)$_SESSION['languages_id'] . "' AND p.products_page_url=''");while ($products = vam_db_fetch_array($products_query)) { $products_page_url_name = $products['products_name']; $products_page_url_name = vam_cleanName($products_page_url_name); $i=0; do { $products_page_url = $products_page_url_name . '.html'; $check_query = vam_db_query("SELECT COUNT(*) AS total FROM " . TABLE_PRODUCTS . " p LEFT JOIN " . TABLE_CATEGORIES . " c ON (p.products_page_url=c.categories_url) LEFT JOIN " . TABLE_CONTENT_MANAGER . " cm ON (p.products_page_url=cm.content_page_url) LEFT JOIN " . TABLE_ARTICLES . " a ON (p.products_page_url=a.articles_page_url) LEFT JOIN " . TABLE_TOPICS . " t ON (p.products_page_url=t.topics_page_url) LEFT JOIN " . TABLE_LATEST_NEWS . " ln ON (p.products_page_url=ln.news_page_url) WHERE p.products_page_url='" . vam_db_input($products_page_url) . "'"); $check = vam_db_fetch_array($check_query); if ($i == 0) { $products_page_url_name .= '-p-' . $products['products_id']; } else { $products_page_url_name .= '-' . $i; } $i++; } while ($check['total'] > 0); echo '#' . $products['products_id'] . ' ' . $products['products_name'] . ' => ' . $products_page_url . "<br />"; vam_db_query("UPDATE " . TABLE_PRODUCTS . " SET products_page_url = '" . vam_db_input($products_page_url) . "' WHERE products_id = '" . (int)$products['products_id'] . "'");}include ('includes/application_bottom.php');[/code] Ссылка на сообщение Поделиться на другие сайты
support 447 Опубликовано 2 декабря, 2008 Жалоба Share Опубликовано 2 декабря, 2008 Спасибо за готовый код. Ссылка на сообщение Поделиться на другие сайты
mosquito 0 Опубликовано 2 декабря, 2008 Автор Жалоба Share Опубликовано 2 декабря, 2008 seo url может быть только типа nokia-6300.html или должо работать mobile_phones/nokia-6300.html v 1.47? Ссылка на сообщение Поделиться на другие сайты
support 447 Опубликовано 2 декабря, 2008 Жалоба Share Опубликовано 2 декабря, 2008 Не знаю, попробуй. Я б лучше записал mobile_phones_nokia-6300.html или mobile_phones-nokia-6300.html Не знаю как воспримет / код модуля, может удалит, может нормально будет, попробуй. Ссылка на сообщение Поделиться на другие сайты
mosquito 0 Опубликовано 2 декабря, 2008 Автор Жалоба Share Опубликовано 2 декабря, 2008 пробовал через / не пашет :-\ поетому и спрашываю обойдемся тем что есть ) Ссылка на сообщение Поделиться на другие сайты
support 447 Опубликовано 2 декабря, 2008 Жалоба Share Опубликовано 2 декабря, 2008 Да, наверное скрипту не нравится символ / А поисковику ведь всё равно: так mobile_phones/nokia-6300.html или так: mobile_phones_nokia-6300.html Ссылка на сообщение Поделиться на другие сайты
ABerezin 0 Опубликовано 2 декабря, 2008 Жалоба Share Опубликовано 2 декабря, 2008 А поисковику ведь всё равно: так mobile_phones/nokia-6300.html или так: mobile_phones_nokia-6300.html Маааленькое замечание. Не совсем по теме, но рядом. Google "-" разделяет слова. Т.е. mobile_phones_nokia - 1 слово, mobile-phones-nokia - 3. Ссылка на сообщение Поделиться на другие сайты
mosquito 0 Опубликовано 3 декабря, 2008 Автор Жалоба Share Опубликовано 3 декабря, 2008 совсем по теме :) Ссылка на сообщение Поделиться на другие сайты
support 447 Опубликовано 3 декабря, 2008 Жалоба Share Опубликовано 3 декабря, 2008 ABerezin Не знал, спасибо за замечание. Ссылка на сообщение Поделиться на другие сайты
Рекомендуемые сообщения