Strona 1 z 1

Masowa zmiana nazw emotek

: 28 maja 2005, 18:28
autor: danger_riff
Mam następujący problem. Chciał bym zmienić wszystkie nazwy emotek z "nazwa_emotki" na "<nazwa_emotki>" przykład: "głaszcze" chcę zmienić na "<głaszcze>. Ręczna zmiana zajeła by mi wieki, dlatego chciał bym to zrobić poprzez odpowiednie zapytanie w phpMyAdmin'ie. Sformułowałem już coś takiego:

Kod: Zaznacz cały

update `phpbb_smilies` set code='<phpbb_smilies.code>' where code ='glaszcze';
Jednak to zapytanie zmienia mi kod (code) emotki na <phpbb_smilies.code> a nie na <glaszcze> Proszę o pomoc z tym zapytaniem.

: 28 maja 2005, 21:32
autor: Duch Forum

Kod: Zaznacz cały

update `phpbb_smilies` set code='<'.$phpbb_smilies.code.'>' where code ='glaszcze';
Zobacz to ;)

: 28 maja 2005, 23:33
autor: danger_riff
No niestety Twoje zapytanie nie działa :( Probowalem kilka razy, zmienialem znaczniki i nic ... A moze jest inny sposob na dodanie jakis znakow na poczatku i koncu jakiegos wyrazu w komorce tabeli?

: 29 maja 2005, 01:31
autor: eltar

Kod: Zaznacz cały

niewiem czy dasz rade wykombinować coś takiego  lepiej zrób to tak. 
Wyciągnij z bazy tabele z smilesami.Do osobnego pliku txt wruzc wszytkie te smilesy : 
'nazwa' 
wlacz editplusa 
daj search&replace daj zeby wyszukało " i zeby zamieniło na "< a potem odwrotnie zeby wszyukało " a zamieniło na >" jak to podmien zmodyfikowane smilesy do pliku bazy i wrzuc baze na strone. 
Niewiem czy mnie dobrze zrozumiałes ale mysle ze tak. sory ze tak bełkoce ale sam rozumiesz noc 
albo

zapyatnie sql :

Kod: Zaznacz cały

<? 
define('IN_PHPBB', true); 
$phpbb_root_path = './'; 
include($phpbb_root_path . 'extension.inc'); 
include($phpbb_root_path . 'common.'.$phpEx); 
$sql = 'SELECT code,smilies_id FROM phpbb_smilies'; 
   if ( !($result = $db->sql_query($sql)) ) 
   { 
      message_die(GENERAL_ERROR, "cos z usmieszkami", '', __LINE__, __FILE__, $sql); 
   } 

   while ( $row = $db->sql_fetchrow($result) ) 
   { 
            $nowe = '<'.$row['code'].'>'; 
            $sql = 'UPDATE phpbb_smilies SET code ='.$nowe.' WHERE smilies_id= '.$row['smilies_id']; 
         if ( !$db->sql_query($sql) ) 
         { 
            message_die(GENERAL_ERROR, "blad przy updatecie.", '', __LINE__, __FILE__, $sql); 
         } 
   } 
?>

: 29 maja 2005, 01:37
autor: Widmo
Po co 2 razy założyłeś temat na phpbb2.pl tes jest

: 29 maja 2005, 01:39
autor: eltar
bo on widze ze poszedl an te forum :)

: 29 maja 2005, 12:04
autor: danger_riff
Moge być przecież na kilku forach, prawda? :D Acha, a ten skrypt zwraca mi nastepujacy błąd:

Kod: Zaznacz cały

DEBUG MODE

SQL Error : 1064 Something is wrong in your syntax obok '=<:D> WHERE smilies_id= 1' w linii 1

UPDATE phpbb_smilies SET code =<:D> WHERE smilies_id= 1

Line : 18
File : emoty.php
Widac ze chcial juz zamienic nazwe ":D" na ta co chcialem czyli "<:D>" ale cos poszlo nie tak. Da rade cos z tym jeszcze zrobic?
Pozdrawiam

: 29 maja 2005, 12:11
autor: Duch Forum

Kod: Zaznacz cały

<?
define('IN_PHPBB', true);
$phpbb_root_path = './';
include($phpbb_root_path . 'extension.inc');
include($phpbb_root_path . 'common.'.$phpEx);
$sql = 'SELECT code,smilies_id FROM phpbb_smilies';
   if ( !($result = $db->sql_query($sql)) )
   {
      message_die(GENERAL_ERROR, "cos z usmieszkami", '', __LINE__, __FILE__, $sql);
   }

   while ( $row = $db->sql_fetchrow($result) )
   {
            $nowe = '<'.$row['code'].'>';
            $sql = 'UPDATE phpbb_smilies SET code = $nowe WHERE smilies_id= '.$row['smilies_id'];
         if ( !$db->sql_query($sql) )
         {
            message_die(GENERAL_ERROR, "blad przy updatecie.", '', __LINE__, __FILE__, $sql);
         }
   }

?>
A tak działa?

: 29 maja 2005, 12:35
autor: eltar
Po co napisałes taki sam skrypt co ja tylko ze dodałes ?> chyba kazdy bedzie wiedzial ze to trzeb dodac. a tam był mój blad bo na szybko to pisałem :/

: 29 maja 2005, 12:38
autor: danger_riff
Nie dziala :(

Kod: Zaznacz cały

Błąd Ogólny
 
blad przy updatecie.

DEBUG MODE

SQL Error : 1054 Nieznana kolumna '$nowe' w field list

UPDATE phpbb_smilies SET code = $nowe WHERE smilies_id= 1

Line : 18
File : emoty.php

: 29 maja 2005, 13:17
autor: Duch Forum
eltar pisze:Po co napisałes taki sam skrypt co ja tylko ze dodałes ?> chyba kazdy bedzie wiedzial ze to trzeb dodac. a tam był mój blad bo na szybko to pisałem :/
Zmieniłem coś jeszcze. Przyglądaj sie dokładnie!
danger_riff pisze:Nie dziala :(

Kod: Zaznacz cały

Błąd Ogólny
 
blad przy updatecie.

DEBUG MODE

SQL Error : 1054 Nieznana kolumna '$nowe' w field list

UPDATE phpbb_smilies SET code = $nowe WHERE smilies_id= 1

Line : 18
File : emoty.php
Ehhh, a może tak:

Kod: Zaznacz cały

<?
define('IN_PHPBB', true);
$phpbb_root_path = './';
include($phpbb_root_path . 'extension.inc');
include($phpbb_root_path . 'common.'.$phpEx);
$sql = 'SELECT code,smilies_id FROM phpbb_smilies';
   if ( !($result = $db->sql_query($sql)) )
   {
      message_die(GENERAL_ERROR, "cos z usmieszkami", '', __LINE__, __FILE__, $sql);
   }

   while ( $row = $db->sql_fetchrow($result) )
   {
            $nowe = '<'.$row['code'].'>';
            $sql = "UPDATE phpbb_smilies SET code = $nowe WHERE smilies_id= $row['smilies_id']";
         if ( !$db->sql_query($sql) )
         {
            message_die(GENERAL_ERROR, "blad przy updatecie.", '', __LINE__, __FILE__, $sql);
         }
   }

?>

: 29 maja 2005, 14:24
autor: danger_riff
Poprawny skrypt powinien wyglądać tak:

Kod: Zaznacz cały

# <?
# define('IN_PHPBB', true);
# $phpbb_root_path = './';
# include($phpbb_root_path . 'extension.inc');
# include($phpbb_root_path . 'common.'.$phpEx);
# $sql = 'SELECT code,smilies_id FROM phpbb_smilies';
#    if ( !($result = $db->sql_query($sql)) )
#    {
#       message_die(GENERAL_ERROR, "cos z usmieszkami", '', __LINE__, __FILE__, $sql);
#    }
#
#    while ( $row = $db->sql_fetchrow($result) )
#    {
#             $nowe = '<'.$row['code'].'>';
#             $sql = 'UPDATE phpbb_smilies SET code ="'.$nowe.'" WHERE smilies_id= "'.$row['smilies_id'].'"';
#          if ( !$db->sql_query($sql) )
#          {
#             message_die(GENERAL_ERROR, "blad przy updatecie.", '', __LINE__, __FILE__, $sql);
#          }
#    }
# ?>
Dzieki wszystkim za pomoc. Temat do zamknięcia