Music Online - music_list

Discuţii legate de instalarea şi funcţionarea unor MODificări vechi sau noi ale forumului phpBB 2.0.x.
Închis
Avatar utilizator
orynider
Autor de ExtensiiAutor de Extensii
Mesaje: 259
Membru din: 17-Noi-2005, 19:39:36
Versiune: 3.3.0-a1
Ext: Da
Server: UNIX/Linux
Nivel phpBB: Foarte experimentat
Nivel php: Foarte experimentat
Localitate: Arad, România
Contact:

Music Online - music_list

Mesaj de orynider »

Bună,

Am instalat/portat şi eu mod-ul music online pe care l-am downlodat de pe acest site cu toate modificările de la topic şi totul merge ok dar la search imi dă eroare. E posibil ca sintaxa SQL să nu fie corectă pentru versiunea mea de mysql (5).

Eroarea arată aşa (http://atcer.ministry.ro/board/index.ph ... music_list):

Cod: Selectaţi tot

Could not query search songs information

DEBUG MODE

SQL Error : 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 '-1' at line 10

SELECT s.song_id, s.song_title, s.song_desc, s.song_singer, s.song_user_id, s.song_user_ip, s.song_username, s.song_time, s.song_cat_id, s.song_view_count, u.user_id, u.username, r.rate_song_id, AVG(r.rate_point) AS rating, COUNT(DISTINCT c.comment_id) AS comments, MAX(c.comment_id) as new_comment FROM mx_music AS s LEFT JOIN phpbb_users AS u ON s.song_user_id = u.user_id LEFT JOIN mx_music_cat AS ct ON s.song_cat_id = ct.cat_id LEFT JOIN mx_music_rate AS r ON s.song_id = r.rate_song_id LEFT JOIN mx_music_comment AS c ON s.song_id = c.comment_song_id WHERE s.song_title LIKE 'domnul' GROUP BY s.song_id ORDER BY s.song_time DESC LIMIT -1

Line : 112
File : /home/.neo/atcer/atcer.ministry.ro/board/modules/mx_music/includes/music_list.php
sintaxele SQL arată aşa:

Cod: Selectaţi tot

	case 'title':
	$sql = "SELECT s.song_id, s.song_title, s.song_desc, s.song_singer, s.song_user_id, s.song_user_ip, s.song_username, s.song_time, s.song_cat_id, s.song_view_count, u.user_id, u.username, r.rate_song_id, AVG(r.rate_point) AS rating, COUNT(DISTINCT c.comment_id) AS comments, MAX(c.comment_id) as new_comment
			FROM ". MUSIC_TABLE ." AS s
				LEFT JOIN ". USERS_TABLE ." AS u ON s.song_user_id = u.user_id
				LEFT JOIN ". MUSIC_CAT_TABLE ." AS ct ON s.song_cat_id = ct.cat_id
				LEFT JOIN ". MUSIC_RATE_TABLE ." AS r ON s.song_id = r.rate_song_id
				LEFT JOIN ". MUSIC_COMMENT_TABLE ." AS c ON s.song_id = c.comment_song_id
			WHERE s.song_title LIKE '" . str_replace("\'", "''", $search) . "'
			GROUP BY s.song_id
			ORDER BY s.song_time DESC
			LIMIT -1";
	break;

	case 'singer':
	$sql = "SELECT s.song_id, s.song_title, s.song_desc, s.song_singer, s.song_user_id, s.song_user_ip, s.song_username, s.song_time, s.song_cat_id, s.song_view_count, u.user_id, u.username, r.rate_song_id, AVG(r.rate_point) AS rating, COUNT(DISTINCT c.comment_id) AS comments, MAX(c.comment_id) as new_comment
			FROM ". MUSIC_TABLE ." AS s
				LEFT JOIN ". USERS_TABLE ." AS u ON s.song_user_id = u.user_id
				LEFT JOIN ". MUSIC_CAT_TABLE ." AS ct ON s.song_cat_id = ct.cat_id
				LEFT JOIN ". MUSIC_RATE_TABLE ." AS r ON s.song_id = r.rate_song_id
				LEFT JOIN ". MUSIC_COMMENT_TABLE ." AS c ON s.song_id = c.comment_song_id
			WHERE s.song_singer LIKE '" . str_replace("\'", "''", $search) . "'
			GROUP BY s.song_id
			ORDER BY s.song_time DESC
			LIMIT -1";
	break;

	case 'poster':
	$sql = "SELECT s.song_id, s.song_title, s.song_desc, s.song_singer, s.song_user_id, s.song_user_ip, s.song_username, s.song_time, s.song_cat_id, s.song_view_count, u.user_id, u.username, r.rate_song_id, AVG(r.rate_point) AS rating, COUNT(DISTINCT c.comment_id) AS comments, MAX(c.comment_id) as new_comment
			FROM ". MUSIC_TABLE ." AS s
				LEFT JOIN ". USERS_TABLE ." AS u ON s.song_user_id = u.user_id
				LEFT JOIN ". MUSIC_CAT_TABLE ." AS ct ON s.song_cat_id = ct.cat_id
				LEFT JOIN ". MUSIC_RATE_TABLE ." AS r ON s.song_id = r.rate_song_id
				LEFT JOIN ". MUSIC_COMMENT_TABLE ." AS c ON s.song_id = c.comment_song_id
			WHERE s.song_username LIKE '" . str_replace("\'", "''", $search) . "'
			GROUP BY s.song_id
			ORDER BY s.song_time DESC
			LIMIT -1";
	break;

The Mx-Publisher CMS Project | Mx-Publisher@github | Mx-Publisher CMS
Demo Styles: phpBB3 | | |
Avatar utilizator
Aliniuz
Fost coleg
Mesaje: 3629
Membru din: 19-Mai-2006, 08:06:42
Ext: Nu
Server: Windows
Nivel phpBB: Mediu
Nivel php: Mediu
Localitate: Galati
Contact:

Mesaj de Aliniuz »

Mie imi apare corect, plus ca am icnercat cateva cautari si la fel, imi afiseaza corect .
Avatar utilizator
orynider
Autor de ExtensiiAutor de Extensii
Mesaje: 259
Membru din: 17-Noi-2005, 19:39:36
Versiune: 3.3.0-a1
Ext: Da
Server: UNIX/Linux
Nivel phpBB: Foarte experimentat
Nivel php: Foarte experimentat
Localitate: Arad, România
Contact:

Mesaj de orynider »

Şi mie imi pare corect, dar de aia am postat că pe serverul dreamhost imi dă eroarea acea adică că nu am folosit near -1 corect pentru versiunea aceia de mysql. O să încerc şi pe lx imediat şi editez mesajul acesta sau postez alt mesaj indiferent dacă merge sau nu. Unde ai încercat căutări?

edit: Imi dă aceiaşi eroare şi pe lx ...

edit: Cu toate modificările instalate tabela MUSIC_TABLE arată aşa, adică în db_install:

Cod: Selectaţi tot

	$sql[] = "CREATE TABLE ". $mx_table_prefix . "music (
		song_id int(11) UNSIGNED NOT NULL auto_increment,
		song_filename varchar(255) NOT NULL,
		song_imagename varchar(255) NOT NULL,
		song_title varchar(255) NOT NULL,
		song_url varchar(255) NOT NULL,
		song_desc text,
		song_singer varchar(255) NOT NULL,
		song_user_id mediumint(8) NOT NULL,
		song_username varchar(32),
		song_user_ip char(8) NOT NULL DEFAULT '0',
		song_time int(11) UNSIGNED NOT NULL,
		song_cat_id mediumint(8) UNSIGNED NOT NULL DEFAULT '1',
		song_view_count int(11) UNSIGNED NOT NULL DEFAULT '0',
		song_lock tinyint(3) NOT NULL DEFAULT '0',
		song_approval tinyint(3) NOT NULL DEFAULT '1',
		song_download_count varchar(255) NOT NULL,
		PRIMARY KEY (song_id),
		KEY song_cat_id (song_cat_id),
		KEY song_user_id (song_user_id),
		KEY song_time (song_time)
		) TYPE=MyISAM";
Ar putea fi asta o problemă?

The Mx-Publisher CMS Project | Mx-Publisher@github | Mx-Publisher CMS
Demo Styles: phpBB3 | | |
Avatar utilizator
orynider
Autor de ExtensiiAutor de Extensii
Mesaje: 259
Membru din: 17-Noi-2005, 19:39:36
Versiune: 3.3.0-a1
Ext: Da
Server: UNIX/Linux
Nivel phpBB: Foarte experimentat
Nivel php: Foarte experimentat
Localitate: Arad, România
Contact:

Mesaj de orynider »

Am rezolvat problema cu o varibilă definită înainte la "Get search info":

Deschide music_list.php

Caută:

Cod: Selectaţi tot

	// --------------------------------
	// Do query now!
	// --------------------------------
Adaugă înainte:

Cod: Selectaţi tot

	if ( !isset($soungs_per_page) || ($soungs_per_page == 0))
	{
		$soungs_per_page = 20;
	}

	if (isset ($_GET['start']))
	{
		$start = intval($_GET['start']);
	}
	elseif (isset ($_POST['start']))
	{
		$start = intval($_POST['start']);
	}
	else
	{
		$start = 0;
	}

	$limit_sql = ($start == 0) ? $soungs_per_page : $start . ',' . $soungs_per_page;
Caută:

Cod: Selectaţi tot

LIMIT -1";
Înlocuieşte (în toate 3 locurile cu):

Cod: Selectaţi tot

LIMIT ".$limit_sql."";

The Mx-Publisher CMS Project | Mx-Publisher@github | Mx-Publisher CMS
Demo Styles: phpBB3 | | |
Avatar utilizator
orynider
Autor de ExtensiiAutor de Extensii
Mesaje: 259
Membru din: 17-Noi-2005, 19:39:36
Versiune: 3.3.0-a1
Ext: Da
Server: UNIX/Linux
Nivel phpBB: Foarte experimentat
Nivel php: Foarte experimentat
Localitate: Arad, România
Contact:

Mesaj de orynider »

Şi încă ceva, aşa cum e acuma music_list caută doar expresii întregi. De exempu dacă melodia se numeşte "Melodia Mea" şi cauţi "Melodia" nu găseşte nimik.
Ca să găsească trebuie înlocuit:

Cod: Selectaţi tot

WHERE s.song_title LIKE '" . str_replace("\'", "''", $search) . "'
Cu:

Cod: Selectaţi tot

WHERE s.song_title LIKE '%" . str_replace("\'", "''", $search) . "%'
Se poate face modificarea şi la singer şi poster în mod asemănător.

The Mx-Publisher CMS Project | Mx-Publisher@github | Mx-Publisher CMS
Demo Styles: phpBB3 | | |
Avatar utilizator
Aliniuz
Fost coleg
Mesaje: 3629
Membru din: 19-Mai-2006, 08:06:42
Ext: Nu
Server: Windows
Nivel phpBB: Mediu
Nivel php: Mediu
Localitate: Galati
Contact:

Mesaj de Aliniuz »

Multumim orynider . Un adevarat talent . ;)
Închis

Înapoi la “2.0.x Suport pentru MODificări”

Cine este conectat

Utilizatori ce ce navighează pe acest forum: Niciun utilizator înregistrat și 2 vizitatori