Ciao a tutti,
mi si verifica un errore proprio del tipo descritto in questo topic
viewtopic.php?t=2943
Ho letto la soluzione ma non ho capito su che pagina devo applicare la modifica che suggerisce: ho fatto una ricerca della stringa current_page_number nei vari file php ma non l'ho trovata.
Qualcuno sa dirmi qual'è la pagina in cui effettuare la correzione del bug?
Grazie mille a chiunque voglia aiutarmi.
Qui di seguito riporto l'errore completo:
1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '-20, 20' at line 1
select newsletters_id, title, length(content) as content_length, module, date_added, date_sent, status, locked from newsletters order by date_added desc limit -20, 20
[TEP STOP]
errore 1064 zona admin newsletter
Moderatore: mod Generali
Re: errore 1064 zona admin newsletter
catalog/includes/classes/split_page_result.phpharlock ha scritto: Qualcuno sa dirmi qual'è la pagina in cui effettuare la correzione del bug?
catalog/admin/includes/classes/split_page_result.php
'iao
Sergio
http://www.oscomtemplate.com - E' disponibile il nuovo pacchetto free con forum di supporto
http://www.semilandia.it
http://www.semilandia.it
aiuto sulla classe split lato admin
Ciao Sergio,
grazie mille della segnalazione.
Scusa se rompo ancora le scatole ma non so come fare perchè vedere il codice della pagina catalog/admin/includes/classes/split_page_result.php mi ha fatto rendere conto che, essendo nuova di php, non so come correggere la porzione di codice incriminata.
E' possibile avere un aiuto? Grazie mille.
grazie mille della segnalazione.
Scusa se rompo ancora le scatole ma non so come fare perchè vedere il codice della pagina catalog/admin/includes/classes/split_page_result.php mi ha fatto rendere conto che, essendo nuova di php, non so come correggere la porzione di codice incriminata.
E' possibile avere un aiuto? Grazie mille.
Re: aiuto sulla classe split lato admin
Diventera' una pagina un pochino lunga...harlock ha scritto: E' possibile avere un aiuto? Grazie mille.
Questo codice lo copi in catalog/includes/classes/split_page_result.php
(sostituisci tutto quello precedente)
Codice: Seleziona tutto
<?php
/*
$Id: split_page_results.php,v 1.15 2003/06/09 22:35:34 hpdl Exp $
osCommerce, Open Source E-Commerce Solutions
http://www.oscommerce.com
Copyright (c) 2003 osCommerce
Released under the GNU General Public License
*/
class splitPageResults {
var $sql_query, $number_of_rows, $current_page_number, $number_of_pages, $number_of_rows_per_page, $page_name;
/* class constructor */
function splitPageResults($query, $max_rows, $count_key = '*', $page_holder = 'page') {
global $HTTP_GET_VARS, $HTTP_POST_VARS;
$this->sql_query = $query;
$this->page_name = $page_holder;
if (isset($HTTP_GET_VARS[$page_holder])) {
$page = $HTTP_GET_VARS[$page_holder];
} elseif (isset($HTTP_POST_VARS[$page_holder])) {
$page = $HTTP_POST_VARS[$page_holder];
} else {
$page = '';
}
if (empty($page) || !is_numeric($page)) $page = 1;
$this->current_page_number = $page;
$this->number_of_rows_per_page = $max_rows;
$pos_to = strlen($this->sql_query);
$pos_from = strpos($this->sql_query, ' from', 0);
$pos_group_by = strpos($this->sql_query, ' group by', $pos_from);
if (($pos_group_by < $pos_to) && ($pos_group_by != false)) $pos_to = $pos_group_by;
$pos_having = strpos($this->sql_query, ' having', $pos_from);
if (($pos_having < $pos_to) && ($pos_having != false)) $pos_to = $pos_having;
$pos_order_by = strpos($this->sql_query, ' order by', $pos_from);
if (($pos_order_by < $pos_to) && ($pos_order_by != false)) $pos_to = $pos_order_by;
if (strpos($this->sql_query, 'distinct') || strpos($this->sql_query, 'group by')) {
$count_string = 'distinct ' . tep_db_input($count_key);
} else {
$count_string = tep_db_input($count_key);
}
$count_query = tep_db_query("select count(" . $count_string . ") as total " . substr($this->sql_query, $pos_from, ($pos_to - $pos_from)));
$count = tep_db_fetch_array($count_query);
$this->number_of_rows = $count['total'];
$this->number_of_pages = ceil($this->number_of_rows / $this->number_of_rows_per_page);
if ($this->number_of_pages > 0) {
if ($this->current_page_number > $this->number_of_pages) {
$this->current_page_number = $this->number_of_pages;
}
} else $this->current_page_number=1;
$offset = ($this->number_of_rows_per_page * ($this->current_page_number - 1));
$this->sql_query .= " limit " . $offset . ", " . $this->number_of_rows_per_page;
}
/* class functions */
// display split-page-number-links
function display_links($max_page_links, $parameters = '') {
global $PHP_SELF, $request_type;
$display_links_string = '';
$class = 'class="pageResults"';
if (tep_not_null($parameters) && (substr($parameters, -1) != '&')) $parameters .= '&';
// previous button - not displayed on first page
if ($this->current_page_number > 1) $display_links_string .= '<a href="' . tep_href_link(basename($PHP_SELF), $parameters . $this->page_name . '=' . ($this->current_page_number - 1), $request_type) . '" class="pageResults" title=" ' . PREVNEXT_TITLE_PREVIOUS_PAGE . ' "><u>' . PREVNEXT_BUTTON_PREV . '</u></a> ';
// check if number_of_pages > $max_page_links
$cur_window_num = intval($this->current_page_number / $max_page_links);
if ($this->current_page_number % $max_page_links) $cur_window_num++;
$max_window_num = intval($this->number_of_pages / $max_page_links);
if ($this->number_of_pages % $max_page_links) $max_window_num++;
// previous window of pages
if ($cur_window_num > 1) $display_links_string .= '<a href="' . tep_href_link(basename($PHP_SELF), $parameters . $this->page_name . '=' . (($cur_window_num - 1) * $max_page_links), $request_type) . '" class="pageResults" title=" ' . sprintf(PREVNEXT_TITLE_PREV_SET_OF_NO_PAGE, $max_page_links) . ' ">...</a>';
// page nn button
for ($jump_to_page = 1 + (($cur_window_num - 1) * $max_page_links); ($jump_to_page <= ($cur_window_num * $max_page_links)) && ($jump_to_page <= $this->number_of_pages); $jump_to_page++) {
if ($jump_to_page == $this->current_page_number) {
$display_links_string .= ' <b>' . $jump_to_page . '</b> ';
} else {
$display_links_string .= ' <a href="' . tep_href_link(basename($PHP_SELF), $parameters . $this->page_name . '=' . $jump_to_page, $request_type) . '" class="pageResults" title=" ' . sprintf(PREVNEXT_TITLE_PAGE_NO, $jump_to_page) . ' "><u>' . $jump_to_page . '</u></a> ';
}
}
// next window of pages
if ($cur_window_num < $max_window_num) $display_links_string .= '<a href="' . tep_href_link(basename($PHP_SELF), $parameters . $this->page_name . '=' . (($cur_window_num) * $max_page_links + 1), $request_type) . '" class="pageResults" title=" ' . sprintf(PREVNEXT_TITLE_NEXT_SET_OF_NO_PAGE, $max_page_links) . ' ">...</a> ';
// next button
if (($this->current_page_number < $this->number_of_pages) && ($this->number_of_pages != 1)) $display_links_string .= ' <a href="' . tep_href_link(basename($PHP_SELF), $parameters . 'page=' . ($this->current_page_number + 1), $request_type) . '" class="pageResults" title=" ' . PREVNEXT_TITLE_NEXT_PAGE . ' "><u>' . PREVNEXT_BUTTON_NEXT . '</u></a> ';
return $display_links_string;
}
// display number of total products found
function display_count($text_output) {
$to_num = ($this->number_of_rows_per_page * $this->current_page_number);
if ($to_num > $this->number_of_rows) $to_num = $this->number_of_rows;
$from_num = ($this->number_of_rows_per_page * ($this->current_page_number - 1));
if ($to_num == 0) {
$from_num = 0;
} else {
$from_num++;
}
return sprintf($text_output, $from_num, $to_num, $this->number_of_rows);
}
}
?>
con questo invece fai la stessa operazione ma in catalog/admin/includes/classes/split_page_result.php
Codice: Seleziona tutto
<?php
/*
$Id: split_page_results.php,v 1.13 2003/05/05 17:56:50 dgw_ Exp $
osCommerce, Open Source E-Commerce Solutions
http://www.oscommerce.com
Copyright (c) 2002 osCommerce
Released under the GNU General Public License
*/
class splitPageResults {
function splitPageResults(&$current_page_number, $max_rows_per_page, &$sql_query, &$query_num_rows) {
if (empty($current_page_number)) $current_page_number = 1;
$pos_to = strlen($sql_query);
$pos_from = strpos($sql_query, ' from', 0);
$pos_group_by = strpos($sql_query, ' group by', $pos_from);
if (($pos_group_by < $pos_to) && ($pos_group_by != false)) $pos_to = $pos_group_by;
$pos_having = strpos($sql_query, ' having', $pos_from);
if (($pos_having < $pos_to) && ($pos_having != false)) $pos_to = $pos_having;
$pos_order_by = strpos($sql_query, ' order by', $pos_from);
if (($pos_order_by < $pos_to) && ($pos_order_by != false)) $pos_to = $pos_order_by;
$reviews_count_query = tep_db_query("select count(*) as total " . substr($sql_query, $pos_from, ($pos_to - $pos_from)));
$reviews_count = tep_db_fetch_array($reviews_count_query);
$query_num_rows = $reviews_count['total'];
$num_pages = ceil($query_num_rows / $max_rows_per_page);
if ($this->number_of_pages > 0) {
if ($current_page_number > $num_pages) {
$current_page_number = $num_pages;
}
} else $this->current_page_number=1;
$offset = ($max_rows_per_page * ($current_page_number - 1));
$sql_query .= " limit " . $offset . ", " . $max_rows_per_page;
}
function display_links($query_numrows, $max_rows_per_page, $max_page_links, $current_page_number, $parameters = '', $page_name = 'page') {
global $PHP_SELF;
if ( tep_not_null($parameters) && (substr($parameters, -1) != '&') ) $parameters .= '&';
// calculate number of pages needing links
$num_pages = ceil($query_numrows / $max_rows_per_page);
$pages_array = array();
for ($i=1; $i<=$num_pages; $i++) {
$pages_array[] = array('id' => $i, 'text' => $i);
}
if ($num_pages > 1) {
$display_links = tep_draw_form('pages', basename($PHP_SELF), '', 'get');
if ($current_page_number > 1) {
$display_links .= '<a href="' . tep_href_link(basename($PHP_SELF), $parameters . $page_name . '=' . ($current_page_number - 1), 'NONSSL') . '" class="splitPageLink">' . PREVNEXT_BUTTON_PREV . '</a> ';
} else {
$display_links .= PREVNEXT_BUTTON_PREV . ' ';
}
$display_links .= sprintf(TEXT_RESULT_PAGE, tep_draw_pull_down_menu($page_name, $pages_array, $current_page_number, 'onChange="this.form.submit();"'), $num_pages);
if (($current_page_number < $num_pages) && ($num_pages != 1)) {
$display_links .= ' <a href="' . tep_href_link(basename($PHP_SELF), $parameters . $page_name . '=' . ($current_page_number + 1), 'NONSSL') . '" class="splitPageLink">' . PREVNEXT_BUTTON_NEXT . '</a>';
} else {
$display_links .= ' ' . PREVNEXT_BUTTON_NEXT;
}
if ($parameters != '') {
if (substr($parameters, -1) == '&') $parameters = substr($parameters, 0, -1);
$pairs = explode('&', $parameters);
while (list(, $pair) = each($pairs)) {
list($key,$value) = explode('=', $pair);
$display_links .= tep_draw_hidden_field(rawurldecode($key), rawurldecode($value));
}
}
if (SID) $display_links .= tep_draw_hidden_field(tep_session_name(), tep_session_id());
$display_links .= '</form>';
} else {
$display_links = sprintf(TEXT_RESULT_PAGE, $num_pages, $num_pages);
}
return $display_links;
}
function display_count($query_numrows, $max_rows_per_page, $current_page_number, $text_output) {
$to_num = ($max_rows_per_page * $current_page_number);
if ($to_num > $query_numrows) $to_num = $query_numrows;
$from_num = ($max_rows_per_page * ($current_page_number - 1));
if ($to_num == 0) {
$from_num = 0;
} else {
$from_num++;
}
return sprintf($text_output, $from_num, $to_num, $query_numrows);
}
}
?>
Sperando di non aver sbagliato....
'iao
Sergio
http://www.oscomtemplate.com - E' disponibile il nuovo pacchetto free con forum di supporto
http://www.semilandia.it
http://www.semilandia.it
Aiuto
1064 - You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1
delete from customers_wishlist WHERE customers_id=7 AND products_id=
[TEP STOP]
Io ho questo problema riuscite ad aiutarmi?
Quando sono logato come utente mi esce questo.
Il problema nasce quando dal menù a destra vado in una categoria e premo il pulsante compra quando ho la lista dei prodotti nella categoria se invece entro nella descrizione del prodotto e premo il tasto compra tutto funziona.
Noon riesco a tirarne fuori i piedi
delete from customers_wishlist WHERE customers_id=7 AND products_id=
[TEP STOP]
Io ho questo problema riuscite ad aiutarmi?
Quando sono logato come utente mi esce questo.
Il problema nasce quando dal menù a destra vado in una categoria e premo il pulsante compra quando ho la lista dei prodotti nella categoria se invece entro nella descrizione del prodotto e premo il tasto compra tutto funziona.
Noon riesco a tirarne fuori i piedi