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

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

Thread Status:
Not open for further replies.
  1. попугай

    попугай Elder - Старейшина

    Joined:
    15 Jan 2008
    Messages:
    1,520
    Likes Received:
    401
    Reputations:
    196
    Есть таблица с заказами orders, например:
    orderid, customer_data, time, sum

    и есть таблица orders_items
    itemid, orderid, name, price, count

    orderid связывает orders и orders_items, как видно.
    Как мне вывести все заказы из таблицы orders и то, что заказано из orders_items, т.е. чтобы вывелась полная информация?

    orderid, customer_data, time, sum, (name price count ) - последняя колонка объединенная.

    Притом что в таблице orders_items может быть несколько строк с одним orderid. То есть нужно сконкатенировать их.
     
    #1961 попугай, 1 Feb 2014
    Last edited: 1 Feb 2014
  2. seregahowe

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

    Joined:
    25 Jun 2011
    Messages:
    148
    Likes Received:
    36
    Reputations:
    15
    Здравствуйте, подскажите пожалуйста, есть база sql, необходимо спарсить значения, чтоб получить файл с определенными значениями:

    salt:hash:login
    salt:hash:login
    ...

    примерно вот так, если ли какая нибудь прога, чтоб сделать это? Спасибо.
     
  3. Sum.cogitans

    Sum.cogitans Elder - Старейшина

    Joined:
    7 Sep 2013
    Messages:
    173
    Likes Received:
    32
    Reputations:
    19
    Какая база то?
    Если MySQL, можно из phpmyadmin экспортировать в csv/xml/xls/etc нужные колонки.
     
  4. seregahowe

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

    Joined:
    25 Jun 2011
    Messages:
    148
    Likes Received:
    36
    Reputations:
    15
    Вроде mysql. Прога нужна под windows? в php не шарю
     
  5. Sum.cogitans

    Sum.cogitans Elder - Старейшина

    Joined:
    7 Sep 2013
    Messages:
    173
    Likes Received:
    32
    Reputations:
    19
    "Вроде mysql" это 3.1415****, отличный подход конечно :eek:
    По софту: Navicat \ dbForge
     
    1 person likes this.
  6. Rasta18

    Rasta18 Member

    Joined:
    8 Jul 2009
    Messages:
    83
    Likes Received:
    7
    Reputations:
    0
    такой вопрос, Есть Root к базам на большой хост. там более 8к БД.
    тоесть: захожу под root и вижу все 8к баз.

    Сам вопрос:можно ли массово слить например таблицы dle_users из всех бд?
    Доступ только через phpmyadmin
    Открывать доступ из вне не особо хочется
     
    #1966 Rasta18, 13 Feb 2014
    Last edited: 13 Feb 2014
  7. Sum.cogitans

    Sum.cogitans Elder - Старейшина

    Joined:
    7 Sep 2013
    Messages:
    173
    Likes Received:
    32
    Reputations:
    19
    Ну через phpmyadmin, ты этого явно не сделаешь. Как вариант, написать на php цикл, который поочередно будет подключаться к базам и записывать резулт при положительном значении запроса.
     
  8. madhatter

    madhatter Member

    Joined:
    7 Aug 2013
    Messages:
    562
    Likes Received:
    50
    Reputations:
    54
    Да, можно, с некоторыми оговорками. phpma ограничен настройками пхп и веб-сервера, так что в ряде случаев сливать через него десятки гигабайт баз - не вариант. Как по мне, лучший способ - в цикле сливать базы, а после разбирать их парсером у себя. Также есть вариантс into outfile, если найдешь, куда это писать.
     
  9. [ANGEL]

    [ANGEL] Angel of Darkness

    Joined:
    26 Sep 2008
    Messages:
    474
    Likes Received:
    239
    Reputations:
    165
    Рыбята. Как в DLE через БД убрать лишние пробелы после предложений всех текстов новостей? Т.е. После каждой точки каждого предложения стоит 2 пробела, один надо убрать.
     
  10. GAiN

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

    Joined:
    2 Apr 2011
    Messages:
    2,550
    Likes Received:
    172
    Reputations:
    99
    интеграция баз данных

    сложно ли интергировать базы данных?, если взять интернет магазин то у сети есть общая база где есть информация о наличии товара, и сайты должны это проверять, приэтом каждый сайт сам по себе самостоятелен и со своей базой
     
  11. Art!P

    Art!P Elder - Старейшина

    Joined:
    22 Jan 2008
    Messages:
    169
    Likes Received:
    28
    Reputations:
    5
    Есть какая-то автоматизированная система для склада(магазина)?
    Нужно как-то синхронизировать сайт с учетной программой склада. Например 1C-битрикс это может.

    А еще можно вести склад прямо в сайте, правда не знаю такие системы. Но опять же надо синхронизировать данные, желательно автоматически (во время продажи).

    ПС. да, это сложно. Если писать с нуля, потом отладка. Работа на несколько месяцев.
     
  12. Kruzak

    Kruzak New Member

    Joined:
    21 Dec 2010
    Messages:
    126
    Likes Received:
    4
    Reputations:
    1
    как хранить пустые поля? просто пустота или делать NULL

    просьба объяснить разницу, плюсы и минусы
     
  13. Vinsik

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

    Joined:
    4 Oct 2008
    Messages:
    189
    Likes Received:
    4
    Reputations:
    -5
    Подскажите -
    Как создать базу данных...-
    Первое поле - индекс, автоматическое раставление
    Второе - текст
    Таблицу....
     
  14. shude

    shude New Member

    Joined:
    15 May 2010
    Messages:
    8
    Likes Received:
    3
    Reputations:
    5
    Там где возможно используйте NOT NULL столбцы.

    Столбец допускающий NULL, занимает больше места на диске и требует специальной обработки внутри MySQL. Когда такой столбец проиндексирован, то ему требуется дополнительный байт для каждой записи.

    Оптимизация столбцов допускающих NULL значение в целом вызывает дополнительные сложности для MySQL.

    Конечно замена NULL столбцов на NOT NULL не даст какого-то сильно ощутимого прироста производительности, но все же стоит при проектировании там где это возможно объявлять столбцы как NOT NULL.
     
  15. IloveRU

    IloveRU Member

    Joined:
    21 Jul 2010
    Messages:
    53
    Likes Received:
    14
    Reputations:
    1
    Один из кодеров написал мне скрипт аудит-пискеля: типа <img src="http://site.ru/[email protected]">, [email protected] и, когда пользователь открывает письмо, то происходит в базу запись.


    Сам скрипт содержит два файла

    c.php
    PHP:
    <?php
     

    $mysqlHost 
    "mysql.site.ru"//хост для подкл к БД

    $mysqlUser "info"//Пользователь для подкл к БД

    $mysqlPsswd "info"//Пароль для подкл к БД

    $mysqlDbName "info"//Имя БД для подкл к БД

    header('Content-Type: image/gif');
    echo 
    base64_decode('R0lGODlhAQABAJAAAP8AAAAAACH5BAUQAAAALAAAAAABAAEAAAICBAEAOw==');
     
    if (isset(
    $_GET['m'])){

     
    $db = new mysqli($mysqlHost$mysqlUser$mysqlPsswd$mysqlDbName);
     if (
    $db->connect_error)
      die(
    "!!!");
      
    // exit;

     
    $mail $db-> real_escape_string($_GET['m']);

     
    $db->query("INSERT INTO `logs` VALUES(NULL, CURRENT_TIMESTAMP(), '$mail')");

     
    $db->close();
    }
     
    ?>
    и echo.php (через него показываются результаты)
    PHP:
    <?php

    $mysqlHost 
    "mysql.site.ru"//хост для подкл к БД

    $mysqlUser "info"//Пользователь для подкл к БД

    $mysqlPsswd "info"//Пароль для подкл к БД

    $mysqlDbName "info"//Имя БД для подкл к БД


    $db = new mysqli($mysqlHost$mysqlUser$mysqlPsswd$mysqlDbName);
    if (
    $db->connect_error)
      exit;


    if (!
    $result $db->query("SELECT * FROM `logs`")) {
     die(
    "Нету результатов");
    } else {
    ?>



    <table>

     <thead>
      <tr>
       <th>
        ID
       </th>

       <th>
        Open time
       </th>

       <th>
        Reciver
       </th>
      </tr>
     </thead>

     <tbody>
      <?php while($data $result->fetch_array()):?>
       <tr>
        <td>
         <?php echo $data['id'];?>
        </td>

        <td>
         <?php echo $data['time'];?>
        </td>

        <td>
         <?php echo $data['mail'];?>
        </td>
       </tr>

      <?php endwhile;?>

     </tbody>

    </table>

    <?php };?>


    Все работало очень хорошо и здорово, но потом я потерял его инструкции - какие столбцы в базе создать и прочее, а я в этом, к сожалению, совсем не разбираюсь.

    Что нужно сделать чтобы все снова работало?
     
    #1975 IloveRU, 16 Jun 2014
    Last edited: 16 Jun 2014
  16. Mykola-bas

    Mykola-bas New Member

    Joined:
    24 Apr 2008
    Messages:
    0
    Likes Received:
    1
    Reputations:
    0
    Ответ кроеться во втором файле.
    Нужно создать БД info с таблицей logs
    И создать в таблице зледующие столбцьі.
    id - INT и назначить AUTO INCREMENT
    time - time или date или timesmtp - не помню, что то из етого.
    mail - text
     
  17. GAiN

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

    Joined:
    2 Apr 2011
    Messages:
    2,550
    Likes Received:
    172
    Reputations:
    99
    надо вывести одинаковый результат из поля zna4enie и поля iframe
    в mysql они выгледят так:

    [​IMG]
    но если их на страницу вывожу то поле iframe отстаёт от поля zna4enie
    [​IMG]
    надо их сравнить в таком виде - в каком они в базе данных находятся, но сейчас сравнить не получается тк на экран выводится с задержкой
    вывожу так:

    PHP:
    $query "SELECT `zna4enie`, `iframe` FROM $table WHERE `id`='$id'"
    $resultmysql_query($query) or die(mysql_error()); 
    while (
    $row mysql_fetch_array($result)) 

    $paje=$row['zna4enie'];//выводится нормальное, такое какое в поле и находится
    $paje2=$row['iframe'];//выводится с отставанием, оно разное всегда

    echo 
    $paje.'='.$paje2;
    помогите пожалуйста ?
     
  18. qw1mb1

    qw1mb1 Member

    Joined:
    8 Feb 2013
    Messages:
    113
    Likes Received:
    16
    Reputations:
    8
    GAiN, попробуй получать значения так:
    PHP:
    $paje=$row[0];
    $paje2=$row[1];
     
  19. GAiN

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

    Joined:
    2 Apr 2011
    Messages:
    2,550
    Likes Received:
    172
    Reputations:
    99
    qw1mb1, так тоже ничего не изменилось, выводится с отставанием.
    что интерестно, выводит как бы с задержкой, слева вывело 45, после обновления страницы это число справа стало.


    в базе данных оба значения равны, даже не могу понять из за чего так происходит, мистика какая то получается...


    [​IMG]
    [​IMG]

    после обновления страницы:
    [​IMG]
     
  20. qw1mb1

    qw1mb1 Member

    Joined:
    8 Feb 2013
    Messages:
    113
    Likes Received:
    16
    Reputations:
    8
    GAiN, а если этот же запрос выполнить прямо в phpMyAdmin - что получается?
     
Thread Status:
Not open for further replies.