Web sayfamız sadece phpBB 3.0.x sürümlerine destek vermektedir. Konu açmadan, ileti yazmadan önce lütfen site kuralları sayfamıza göz atınız.

sql sorgusu ile yeni konu eklemek

sql sorgusu ile yeni konu eklemek

İleti melihonline 20 Ekm 2008 16:27

Ben sql sorgusu ile forumuma yeni konu eklemek istiyorum. Bunu nasıl yapabilirim?

komut insert into ile başlayacak sanırım ama mysql fazla bilmediğim için gerisini yapamıyorum.
melihonline
yetkili
yetkili

Kullanıcı avatarı

İleti: 618
Kayıt: 11 Oca 2008 19:05
Konum: Tokat
İsim: Melih KAYA
HTML: İyi
CSS: Orta
PHP: Başlangıç
phpBB3: Orta
Sürüm: phpBB 3.0.9

Re: sql sorgusu ile yeni konu eklemek

İleti ALEXIS 20 Ekm 2008 17:45

SQL gerek yok, sadece 1 fonksiyon ile yapıyoruz: submit_post()

Kendi geliştirmem. Test amaçlı kullanıcı veya konu açmak için kullanıyorum. Bir anda 1000 üye veya 1000 onu açıyor. Kodları inceleyip kendi uygulanamı geliştirmen gerek, bu konu hakkında sorulacak sorulara yanıt vermeyeceğim, çünkü gereken herşey zaten aşağıdaki kodlarda var.


insert.php?mode=post
insert.php?mode=user


tools/insert.php

Kod: Tümünü seç
<?php
/**
* @version $Id$
* @author Sevdin Filiz <angelside@users.sourceforge.net>
* @copyright (c) 2008, Canver Software
*/

/**
* @ignore
*/
define('IN_PHPBB'true);
$phpbb_root_path = (defined('PHPBB_ROOT_PATH')) ? PHPBB_ROOT_PATH '../';
$phpEx substr(strrchr(__FILE__'.'), 1);
include(
$phpbb_root_path 'common.' $phpEx);
include(
$phpbb_root_path 'includes/functions_posting.' $phpEx);
include(
$phpbb_root_path 'includes/functions_display.' $phpEx);
include(
$phpbb_root_path 'includes/message_parser.' $phpEx);
include(
$phpbb_root_path 'includes/functions_user.' $phpEx);

// Start session management
$user->session_begin();
$auth->acl($user->data);
$user->setup();

$mode request_var('mode''');

switch (
$mode)
{
    case 
'user':
        
$kac_uye 1000;    
        
$i 0;
        while (
$i $kac_uye
        {
            
$user_row = array(
                
'user_type'                => USER_NORMAL,
                
'group_id'                => 2,
                
'username'                => 'test_uye' $i,
                
'user_regdate'            => time(),
                
'user_password'            => '',
                
'user_colour'            => '9E8DA7',
                
'user_email'            => '',
                
'user_lang'                => 'tr',
                
'user_style'            => 1,
                
'user_timezone'            => 0,
                
'user_dateformat'        => '',
                
'user_allow_massemail'    => 0,
            );
            
            
user_add($user_row);
            
$i++;
        }    
        echo 
$i 'kullanıcı açıldı <br />';    
    break;

    case 
'post':
        
$kac_konu 1000;    
        
$i 0;
        while (
$i $kac_konu
        {

            
// note that multibyte support is enabled here 
            
$my_subject    'konu ' $i//utf8_normalize_nfc(request_var('my_subject', '', true));
            
$my_text    'mesaj ' $i//utf8_normalize_nfc(request_var('my_text', '', true));

            // variables to hold the parameters for submit_post
            
$poll $uid $bitfield $options ''

            
generate_text_for_storage($my_subject$uid$bitfield$optionsfalsefalsefalse);
            
generate_text_for_storage($my_text$uid$bitfield$optionstruetruetrue);

            
$data = array( 
                
'forum_id'            => 2,
                
'icon_id'            => false,
                
'enable_bbcode'        => true,
                
'enable_smilies'    => true,
                
'enable_urls'        => true,
                
'enable_sig'        => true,
                
'message'            => $my_text,
                
'message_md5'        => md5($my_text),
                
'bbcode_bitfield'    => $bitfield,
                
'bbcode_uid'        => $uid,
                
'poster_id'            => 2,
                
'post_edit_locked'    => 0,
                
'topic_title'        => $my_subject,
                
'notify_set'        => false,
                
'notify'            => false,
                
'post_time'         => 0,
                
'forum_name'        => '',
                
'enable_indexing'    => true,
                
'post_approved'        => true,
            );

            
submit_post('post'$my_subject''POST_NORMAL$poll$data);

            
$i++;
        }    
        echo 
$i 'konu açıldı <br />';    
    break;
}


/*
page_header($user->lang['INDEX']);

$template->set_filenames(array(
//    'body' => 'index_body.html')
);

page_footer();
*/

?>
ALEXIS
yönetici
yönetici

Kullanıcı avatarı

İleti: 3628
Kayıt: 03 Arl 2006 08:57
HTML: Çok iyi
CSS: İyi
PHP: İyi
phpBB3: Çok iyi
Sürüm: phpBB 3

Re: sql sorgusu ile yeni konu eklemek

İleti melihonline 20 Ekm 2008 23:52

konu yu eklerken

$my_subject = 'konu ' . $i; //utf8_normalize_nfc(request_var('my_subject', '', true));
$my_text = 'mesaj ' . $i; //utf8_normalize_nfc(request_var('my_text', '', true));


konu kısmına konu başlığını mesaj kısmınıda konunun içeriğini mi yazmam gerekiyor?


Böyle yaptığımız zaman çok uzun sürmez mi konuları eklemem.

sql sorgusu ile hepsini bir anda sorgulattığımız zaman daha kolay olmaz mı?
melihonline
yetkili
yetkili

Kullanıcı avatarı

İleti: 618
Kayıt: 11 Oca 2008 19:05
Konum: Tokat
İsim: Melih KAYA
HTML: İyi
CSS: Orta
PHP: Başlangıç
phpBB3: Orta
Sürüm: phpBB 3.0.9

Re: sql sorgusu ile yeni konu eklemek

İleti CitLemBiK 20 Ekm 2008 23:54

Sql sorgusu ile baslik acacaksinda...


Basligi acanin adi...
Basligi acanin ip adresi...
Basligin acilis tarihi...
Basligin görüntülenme sayisi...

Bunlarida göz önüne alman gerekiyor...

Alexisin kodlari üzerinde biraz calis derim , büyük ipucunu vermis zaten...
CitLemBiK
genel yetkili
genel yetkili

Kullanıcı avatarı

İleti: 1138
Kayıt: 23 Oca 2008 12:27
Konum: Söylemem
İsim: Isim Siz
HTML: Orta
CSS: Başlangıç
PHP: Orta
phpBB3: İyi
Sürüm: phpBB 3.0.6 (Branch)

Re: sql sorgusu ile yeni konu eklemek

İleti melihonline 21 Ekm 2008 00:05

CitLemBiK yazdı:Basligi acanin adi...
Basligi acanin ip adresi...
Basligin acilis tarihi...
Basligin görüntülenme sayisi...


zaten sql sorgusunda bu değerlerde olmayacak mı?
melihonline
yetkili
yetkili

Kullanıcı avatarı

İleti: 618
Kayıt: 11 Oca 2008 19:05
Konum: Tokat
İsim: Melih KAYA
HTML: İyi
CSS: Orta
PHP: Başlangıç
phpBB3: Orta
Sürüm: phpBB 3.0.9

Re: sql sorgusu ile yeni konu eklemek

İleti ALEXIS 21 Ekm 2008 00:54

SQL sorgusu ile konu ekleyemezsin, konu eklemenin tek yolu verdiğim yoldur. Yol boyunca standart birkaç işlem var, öncelikle verilen bilgileri kayıt altına almak için generate_text_for_storage() kullanacaksın, sonra da submit_post() ile veritabanına yazacaksın.

SQL ile daha kolay diyemezsin, sonuçta direk SQL ile verdiğim kodların yaklaşık 10-50 katı fazla kod kullanacaksın. Verdiğim sadece otomatik post için örnekti. Artık nasıl döngü kurar, hangi yazıları nasıl post edersin orasını sen kodlayacaksın.

Bu konuda yardım edilmeyeceğini söylemiştim. Kodlar gayet açık, devamı da burada: http://www.phpbb.com/mods/documentation/index.php

Bunları anlamıyorsan bizim yapacak birşeyimiz yok. Yani SQL leri yazıp vermemiz gerek...
ALEXIS
yönetici
yönetici

Kullanıcı avatarı

İleti: 3628
Kayıt: 03 Arl 2006 08:57
HTML: Çok iyi
CSS: İyi
PHP: İyi
phpBB3: Çok iyi
Sürüm: phpBB 3


Kod Parçacıkları


Kimler çevrimiçi

Bu forumu görüntüleyenler: Kayıtlı kullanıcı yok ve 0 misafir

cron