[sql] Вопросы по БД

Discussion in 'PHP' started by FraiDex, 25 Feb 2008.

Thread Status:
Not open for further replies.
  1. REBUUS

    REBUUS Active Member

    Joined:
    6 Apr 2009
    Messages:
    314
    Likes Received:
    111
    Reputations:
    9
    а может юыть 3306 порт закрыть для удаленного подключения ?
     
    #881 REBUUS, 15 Dec 2009
    Last edited: 15 Dec 2009
  2. HackUA

    HackUA New Member

    Joined:
    10 Dec 2009
    Messages:
    10
    Likes Received:
    2
    Reputations:
    0
    созданое уже поле id, как ему присвоить auto_increment ?
     
  3. comeoff

    comeoff New Member

    Joined:
    10 Mar 2008
    Messages:
    89
    Likes Received:
    3
    Reputations:
    0
    есть таблица register, в ней 6 полей, id,usr,pass,email,regIP,dt(datatime)
    какие поля нужно добавить, что бы в последующем: вёлся учёт рефералов, вёлся учёт отправленных смс рефералами, вёлся учёт тех кто не по реф ссылке регистрировался? заранее всем спс. а то я уже не могу сам додумать.
     
  4. REBUUS

    REBUUS Active Member

    Joined:
    6 Apr 2009
    Messages:
    314
    Likes Received:
    111
    Reputations:
    9
    я бы для учета реф смс создал отдельную таблицу, а что бы :
    просто добавь поре ref и туда заноси ко какому реф id зарегистрировался, или оставляй пустым если не по реф ссылке зарегистрировался
     
  5. sergeyich

    sergeyich New Member

    Joined:
    17 Dec 2008
    Messages:
    0
    Likes Received:
    0
    Reputations:
    0
    Есть несколько баз данных на dle, скажите как их соединить в одну базу, или добавить к уже существующей базе базу
     
  6. mff

    mff Elder - Старейшина

    Joined:
    12 Mar 2008
    Messages:
    2,074
    Likes Received:
    701
    Reputations:
    227
    Доброе утро!

    Подскажите пожалуйста, как выбрать из таблички количество тех записей, которых в ней больше всего, сравнивая по полю id_channel ? :confused: :confused: :confused:


    Code:
    id 	ip 	id_channel 	time
     
  7. krypt3r

    krypt3r Elder - Старейшина

    Joined:
    27 Apr 2007
    Messages:
    1,507
    Likes Received:
    389
    Reputations:
    101
    Навскидку
    Code:
    SELECT COUNT(*) FROM `sometable`
    WHERE `id_channel` =
    (SELECT `id_channel` FROM `sometable` ORDER BY `id_channel` DESC LIMIT 1)
    
    либо
    Code:
    SELECT COUNT(*) FROM `sometable`
    GROUP BY `id_channel`
    ORDER BY `id_channel` DESC LIMIT 1;
    
     
    #887 krypt3r, 18 Dec 2009
    Last edited: 18 Dec 2009
    1 person likes this.
  8. mff

    mff Elder - Старейшина

    Joined:
    12 Mar 2008
    Messages:
    2,074
    Likes Received:
    701
    Reputations:
    227
    Есть табличка:
    Code:
    id 	ip 	id_channel 	time 
    1	70.88.31.247	613	1261099440
    2	95.70.82.140	1016	1261099633
    3	95.01.82.140	1016	1261099645
    4	67.190.111.224	1388	1261099674
    5	77.88.31.247	1315	1261099850
    6	67.190.111.224	1502	1261099937
    7	77.88.31.247	1715	1261099951
    8	95.135.36.200	561	1261099988
    9	77.88.30.247	1099	1261099995
    10	90.71.02.140	1016	1261100724
    11	95.71.82.140	1016	1261100731
    Нужно выбрать из нее тот id_channel, который больше всего повторяется.

    В нашем случае это 1016
    Далее уже посчитать сколько раз повторяется.

    krypt3r, Спасибо, но не работает :(
     
  9. krypt3r

    krypt3r Elder - Старейшина

    Joined:
    27 Apr 2007
    Messages:
    1,507
    Likes Received:
    389
    Reputations:
    101
    Я не так задание понял. Попробуйте так
    Code:
    SELECT COUNT(*) FROM `sometable`
    GROUP BY `id_channel` ORDER BY 1 DESC LIMIT 1;
    
     
  10. mff

    mff Elder - Старейшина

    Joined:
    12 Mar 2008
    Messages:
    2,074
    Likes Received:
    701
    Reputations:
    227
    Попробывал, но тоже не работает :(

    Code:
    $result = mysql_query("SELECT COUNT(*) FROM `table` GROUP BY `id_channel` ORDER BY 1 DESC LIMIT 1");
    $row = mysql_fetch_array($result);
    echo  $row["id_channel"];
    echo mysql_num_rows($result);
    
     
  11. krypt3r

    krypt3r Elder - Старейшина

    Joined:
    27 Apr 2007
    Messages:
    1,507
    Likes Received:
    389
    Reputations:
    101
    PHP:
    $result mysql_query("SELECT COUNT(*) AS `c` FROM `table` GROUP BY `id_channel` ORDER BY 1 DESC LIMIT 1");
    $row mysql_fetch_array($result);
    echo  
    $row['c'];
    echo 
    mysql_num_rows($result);
     
  12. mff

    mff Elder - Старейшина

    Joined:
    12 Mar 2008
    Messages:
    2,074
    Likes Received:
    701
    Reputations:
    227
    не, не хочет :((((
     
  13. krypt3r

    krypt3r Elder - Старейшина

    Joined:
    27 Apr 2007
    Messages:
    1,507
    Likes Received:
    389
    Reputations:
    101
    У меня все работает, обработайте возможные ошибки.
    PHP:
    <?php
      mysql_connect 
    ('localhost''user''pass')
        or die (
    "Connection failed\n");
      if (
    mysql_select_db ('mybase')) {
        
    $result mysql_query ("SELECT COUNT(*) AS `c` FROM `sometable` GROUP BY `id_channel` ORDER BY 1 DESC LIMIT 1");
        if (
    $result) {
          
    $row mysql_fetch_array ($result); 
          echo  
    $row['c'], "\n"
          echo 
    mysql_num_rows ($result), "\n";
        } else
          echo 
    "Query failed: " mysql_error (), "\n";
      } else 
        echo 
    "Cannot select database\n";
      
    mysql_close ();
    ?>
    Выводит
    Code:
    4
    1
    
     
    #893 krypt3r, 18 Dec 2009
    Last edited: 18 Dec 2009
  14. mff

    mff Elder - Старейшина

    Joined:
    12 Mar 2008
    Messages:
    2,074
    Likes Received:
    701
    Reputations:
    227
    krypt3r, большое спасибо!

    Вот так заработало всё:
     
  15. sergeyich

    sergeyich New Member

    Joined:
    17 Dec 2008
    Messages:
    0
    Likes Received:
    0
    Reputations:
    0
    А по моему вопросу никто не подскажет? Как соеденить несколько баз dle в одну?
     
  16. mff

    mff Elder - Старейшина

    Joined:
    12 Mar 2008
    Messages:
    2,074
    Likes Received:
    701
    Reputations:
    227
    Подскажите, как добавить запись к уже существующей?
     
  17. Pashkela

    Pashkela Динозавр

    Joined:
    10 Jan 2008
    Messages:
    2,750
    Likes Received:
    1,044
    Reputations:
    339
    update, а вообще вопрос непонятен
     
  18. mff

    mff Elder - Старейшина

    Joined:
    12 Mar 2008
    Messages:
    2,074
    Likes Received:
    701
    Reputations:
    227
    Pashkela есть в таблице поле channels равно оно "2,5,6,8,9"
    Нужно к нему добавлять данные ",3,5,6,7,8"

    Причем если есть такое число, то не записывать его :confused:
     
    #898 mff, 20 Dec 2009
    Last edited: 20 Dec 2009
  19. Pashkela

    Pashkela Динозавр

    Joined:
    10 Jan 2008
    Messages:
    2,750
    Likes Received:
    1,044
    Reputations:
    339
    update `имя_таблицы` set channels = concat(channels, ",3,5,6,7,8") where .....

    если есть такое же число то одним запросом вряд ли
     
    1 person likes this.
  20. felix_

    felix_ New Member

    Joined:
    25 Sep 2008
    Messages:
    24
    Likes Received:
    3
    Reputations:
    0
    почему

    include("connect.php");
    mysql_query("INSERT INTO `user` (`email`,`pass`) values ('email','pass')",$connection);

    делает запись, а вот

    include("connect.php");
    function a() {
    mysql_query("INSERT INTO `user` (`email`,`pass`) values ('email','pass')",$connection);
    }
    a;

    а вот такое не делает запись в базу?
    =================================
    разобрался, надо так
    include("connect.php");
    function a($connection) {
    mysql_query("INSERT INTO `user` (`email`,`pass`) values ('email','pass')",$connection);
    }
    a($connection);
     
    #900 felix_, 21 Dec 2009
    Last edited: 21 Dec 2009
Thread Status:
Not open for further replies.