1. Вы находитесь в сообществе Rubukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на различные языки плагины наших коллег из других стран.
    Скрыть объявление
Скрыть объявление
В преддверии глобального обновления, мы проводим исследования, которые помогут нам сделать опыт пользования форумом ещё удобнее. Помогите нам, примите участие!

Вопросы по SQL запросам (PHP).

Тема в разделе "Оффтопик", создана пользователем WCRAFT, 19 фев 2015.

  1. Автор темы
    WCRAFT

    WCRAFT Старожил Пользователь

    Баллы:
    173
    Skype:
    worldplaytv
    Имя в Minecraft:
    World
    Мне надо во-первых сделать что-бы выводилась надпись типа:

    Денег: 100 рублей. Я понимаю что это легко, но я не понимаю как сделать несколько запросов при одном подключении, ибо на форумах обычно подсказывают код где запрос один или вообще используются старые и кривые способы.

    Хочу сделать проверку, если в столбце таблицы игрока "User" написано - "0", то выводило одну надпись, если там было значение больше нуля, то выводило другую надпись.

    Ко всем способам желательно полный код или вообще вместе. Заранее спасибо.
     
  2. Cames

    Cames Старожил Пользователь

    Баллы:
    153
    Skype:
    sky_meg
    Дополнительную проверку на значения добавить просто нужно, вот и все.
    PHP:
    $query "SELECT money FROM Table";
    $res mysql_query($query$link);
    while(
    $row mysql_fetch_array($res)){
        if (
    $row['money'] == 0)
           
    //вывод 1
        
    else
           
    //вывод 2
    }
     
    Последнее редактирование: 19 фев 2015
  3. Toster_tpl

    Toster_tpl Старожил Пользователь

    Баллы:
    153
    PHP:
    $query mysql_query("SELECT `money` FROM `User`"$link);

    if(!
    $query){ exit('sql error'); }

    if(
    mysql_num_rows($query)<=0){
     
    // Empty
    }else{
     while(
    $ar mysql_fetch_assoc($query)){
      
    // Here
     
    }
    }

     
  4. Автор темы
    WCRAFT

    WCRAFT Старожил Пользователь

    Баллы:
    173
    Skype:
    worldplaytv
    Имя в Minecraft:
    World
    Вроде всё правильно сделал, но ничего не выводит вообще.

    Проще говоря мне надо проверку на скин, фракционный он или нет. Также у меня таблица - статистика, и всё.

    Вот код:
    PHP:
    <?php
    $connect 
    = array (
       
    0    =>    ""# Host
       
    1    =>    ""# User
       
    2    =>    ""# Pass
       
    3    =>    ""# Base
    );
    $username $member_id['name'];
    $link mysqli_connect $connect[0], $connect[1], $connect[2], $connect[3] );

    ?>
    PHP:
    <?php
    include ('config.php');
    $query "SELECT `modelorg` FROM `accounts` WHERE `Name`={$username}";
    $res mysqli_query($link$query);
    while(
    $row mysqli_fetch_array($res)){
        if (
    $row['modelorg'] == 0)
        {echo 
    "<img style='float:left' src='http://arizona-rp.com/images/skins/var_1/$defaultuser.png' width='144' height='300' />";} // Здесь будет вывод скина гражданина, его числа скина из другого столбца. (Вывод если игрок не в фракции, так как в столбце 0)
        
    else
        {echo 
    "<img style='float:left' src='http://arizona-rp.com/images/skins/var_1/$res.png' width='144' height='300' />";} // Здесь вывод скина фракции так как число больше 0.
    }
        
    ?>
        
    Вот живой пример:
    http://cubeslab.ru/user
     
    Последнее редактирование: 19 фев 2015
  5. Cames

    Cames Старожил Пользователь

    Баллы:
    153
    Skype:
    sky_meg
    Если такой код, то я не удивляюсь, почему не выводит.
     
  6. Автор темы
    WCRAFT

    WCRAFT Старожил Пользователь

    Баллы:
    173
    Skype:
    worldplaytv
    Имя в Minecraft:
    World
    Поправил, всё-равно ничего. Даже если бы так было написано он должен был показывать хотя-бы битую картинку.
     
  7. Gowis

    Gowis Активный участник Пользователь

    Баллы:
    68
    Выстави и отслеживай ошибки
    PHP:
    error_reporting(E_ALL);
    ini_set('display_errors''1');
     
  8. Cames

    Cames Старожил Пользователь

    Баллы:
    153
    Skype:
    sky_meg
    Просто выведи полученные значения и отлаживай дальше. Или воспользуйся способом выше.
     
  9. Автор темы
    WCRAFT

    WCRAFT Старожил Пользователь

    Баллы:
    173
    Skype:
    worldplaytv
    Имя в Minecraft:
    World
    Warning: mysqli_fetch_array() expects parameter 1 to be mysqli_result, boolean given in /var/www/u10019/data/www/cubeslab.ru/lk/model_player.php on line 7
    PHP:
    while($row mysqli_fetch_array($res)){
    Что это означает?
     
  10. Toster_tpl

    Toster_tpl Старожил Пользователь

    Баллы:
    153
    Это значит, что функция mysqli_fetch_array вернула boolean (скорее всего false), это произошло в результате того, что в $res ничего нет, т.к. нет проверки на mysqli_num_rows, либо она просто вернула пошибку
     
  11. Vladlen_198

    Vladlen_198 Старожил Пользователь

    Баллы:
    108
    Skype:
    ultrashock98
    Имя в Minecraft:
    UltraShock
    Стоп если это dle. Что ты себя мучаешь
    В dle есть класс для работы с бд для начала $db
    А ниже я был удивлён
    qexy mysql не слишком дряво ? :D
    И ещё зачем цикл если можно так
    PHP:
    Только для dle так как у тебя я увидел это $username $member_id['name'];
    $frac $db->super_query('SELECT frac FROM dle_users WHERE name="'.$member_id['name'].'"');
    А потом
    if ($frac['frac'] == '0') {
    echo 
    'Ты в 1 фракции';
    }
    if (
    $frac['frac'] == '1') {
    echo 
    'Ты в 2 фракции';
    }
    Напиши на чём делаешь
     
    Последнее редактирование: 20 фев 2015
  12. alexandrage

    alexandrage Старожил Пользователь

    Баллы:
    173
    PHP:
            $stmt $db->prepare("Select money From :db Where user= :user");
            
    $stmt->bindValue(':db'$db);
            
    $stmt->bindValue(':user'$user);
            
    $stmt->execute();
            
    $row $stmt->fetch(PDO::FETCH_ASSOC);
            if(
    $row==null) die (echo 'Тебя сдесь вообще нету :eek:');
            if(
    $row['money']!=0) {
            echo 
    'У тебя бублик, неверишь? Сам глянь '.$row['money'].'!';
            } else {
            echo 
    'У тебя больше бублика, неверишь? Сам глянь '.$row['money'].'!';
            }
    :lol:
     
    Последнее редактирование: 20 фев 2015
  13. Vladlen_198

    Vladlen_198 Старожил Пользователь

    Баллы:
    108
    Skype:
    ultrashock98
    Имя в Minecraft:
    UltraShock
    Козыри в дело пошли :D
     
  14. Vladlen_198

    Vladlen_198 Старожил Пользователь

    Баллы:
    108
    Skype:
    ultrashock98
    Имя в Minecraft:
    UltraShock
    Ага. Знакомый класс pdo. Или я просто такой же написал :D
     
  15. Автор темы
    WCRAFT

    WCRAFT Старожил Пользователь

    Баллы:
    173
    Skype:
    worldplaytv
    Имя в Minecraft:
    World
    Короче переписал вариант @Vladlen_198
    PHP:
    <?php
    $fraction 
    $db->super_query('SELECT modelorg FROM accounts WHERE name="'.$member_id['name'].'"');
    $not_fraction $db->super_query('SELECT model FROM accounts WHERE name="'.$member_id['name'].'"');
    if (
    $fraction['modelorg'] == '0') {
    echo 
    "<img style='float:left' src='http://arizona-rp.com/images/skins/var_1/$no_fraction.png' width='144' height='300' />";
    }
    if (
    $fraction['modelorg'] > '0') {
    echo 
    "<img style='float:left' src='http://arizona-rp.com/images/skins/var_1/$fraction.png' width='144' height='300' />";
    }
    Но мне теперь надо запрос "без дыр". И надо выполнять несколько запросов не открывая овер 2000 коннектов к базе.
    Кому интересно что я делаю, (надеюсь понятнее будет если покажу код в деле).
    То смотрите. (demo, demo).
    (P.S при успешной авторизации пока не сделал перенаправление на главную.)
     
  16. Vladlen_198

    Vladlen_198 Старожил Пользователь

    Баллы:
    108
    Skype:
    ultrashock98
    Имя в Minecraft:
    UltraShock
    Это можно сделать в 1 запросе
    PHP:
    $fraction $db->super_query('SELECT modelorg,model FROM accounts WHERE name="'.$member_id['name'].'"');
    if (
    $fraction['moderorg'] == '0') {
    echo
    "<img style='float:left' src='http://arizona-rp.com/images/skins/var_1/".$fraction['modelorg'].".png' width='144' height='300'>
    } elseif (
    $fraction['moderorg'] == '1') { // Делаем такую конструкцию сколько угодно по типу
    echo "
    <img style='float:left' src='http://arizona-rp.com/images/skins/var_1/".$fraction['modelorg'].".png' width='144' height='300'>";
    }
    // А для использования значения model нужно так 
    $fraction['model']
     
  17. Автор темы
    WCRAFT

    WCRAFT Старожил Пользователь

    Баллы:
    173
    Skype:
    worldplaytv
    Имя в Minecraft:
    World
    PHP:
    <?php
    $fraction 
    $db->super_query('SELECT modelorg,model FROM accounts WHERE name="'.$member_id['name'].'"');

    if (
    $fraction['moderorg'] == '0')
    {
    echo
    "<img style='float:left' src='http://arizona-rp.com/images/skins/var_1/".$fraction['model'].".png' width='144' height='300'>";
    }
    else
    if (
    $fraction['moderorg'] > '1')
    {
    echo 
    "<img style='float:left' src='http://arizona-rp.com/images/skins/var_1/".$fraction['modelorg'].".png' width='144' height='300'>";
    }
    ?>
    А можешь отвязать от базы DLE? А-то у меня сервер на другой базе.
     
  18. Vladlen_198

    Vladlen_198 Старожил Пользователь

    Баллы:
    108
    Skype:
    ultrashock98
    Имя в Minecraft:
    UltraShock
    $new_server = new db();
    $new_server->connect('Юзер бд','Пароль бд','Имя базы','Хост','Порт'); // За место кавычек заменяешь переменными
    PHP:
    <?php
    $fraction 
    $new_server->super_query('SELECT modelorg,model FROM accounts WHERE name="'.$member_id['name'].'"');

    if (
    $fraction['moderorg'] == '0')
    {
    echo
    "<img style='float:left' src='http://arizona-rp.com/images/skins/var_1/".$fraction['model'].".png' width='144' height='300'>";
    }
    else
    if (
    $fraction['moderorg'] > '1')
    {
    echo 
    "<img style='float:left' src='http://arizona-rp.com/images/skins/var_1/".$fraction['modelorg'].".png' width='144' height='300'>";
    }
    ?>
     
  19. Автор темы
    WCRAFT

    WCRAFT Старожил Пользователь

    Баллы:
    173
    Skype:
    worldplaytv
    Имя в Minecraft:
    World
    PHP:
    if ($fraction['member'] == array)
    {
    => $fraca "Гражданин",
    => $fraca "Grove Street Gang",
    => $fraca "",
    => $fraca "",
    => $fraca "",
    => $fraca "",
    => $fraca "",
    => $fraca "",
    => $fraca "",
    => $fraca "",
    10 => $fraca "",
    11 => $fraca "",
    12 => $fraca "",
    13 => $fraca "",
    14 => $fraca "",
    15 => $fraca "",
    16 => $fraca "",
    17 => $fraca "",
    18 => $fraca "Уличные гонщики",
    }
    Как скобку правильно поставить?

    ____________________________________
    Вот весь код :)
    PHP:
    $new_server = new db();
    $new_server->connect($mysql_dbuser,$mysql_dbpass,$mysql_dbname,$mysql_host,$mysql_PORT);
    $fraction $new_server->super_query('SELECT modelorg,model,level,money,donate,phone,deagle,shotgun,mp5,ak47,m4,bank,sex,mail,name,rank,member,leader FROM accounts WHERE name="'.$member_id['name'].'"');
    // Вывод скина
    if ($fraction['modelorg'] == '0')
    {
    echo
    "<img style='float:left' src='http://arizona-rp.com/images/skins/var_1/".$fraction['modelorg'].".png' width='144' height='300'>";
    }
    else
    if (
    $fraction['modelorg'] > '1')
    {
    echo 
    "<img style='float:left' src='http://arizona-rp.com/images/skins/var_1/".$fraction['modelorg'].".png' width='144' height='300'>";
    }
    // Вывод пола
    if ($fraction['sex'] == '2')
    {
    $sex "Девушка";
    }
    else
    if (
    $fraction['sex'] == '1')
    {
    $sex "Мужчина";
    }
    // Вывод названия фракции
    if ($fraction['member'] == array)
    {
    => $fraca "Гражданин",
    => $fraca "Grove Street Gang",
    => $fraca "",
    => $fraca "",
    => $fraca "",
    => $fraca "",
    => $fraca "",
    => $fraca "",
    => $fraca "",
    => $fraca "",
    10 => $fraca "",
    11 => $fraca "",
    12 => $fraca "",
    13 => $fraca "",
    14 => $fraca "",
    15 => $fraca "",
    16 => $fraca "",
    17 => $fraca "",
    18 => $fraca "Уличные гонщики",
    }

    echo
    "
          <div class='progress'>
             <div class='progress-bar_danger' style='width: "
    .$fraction['deagle']."%;'>Deagle <b>[".$fraction['deagle']."]</b></div>
          </div>
               <div class='progress'>
             <div class='progress-bar_danger' style='width: "
    .$fraction['shotgun']."%;'>Дробовик <b>[".$fraction['shotgun']."]</b></div>
          </div>
                <div class='progress'>
             <div class='progress-bar_danger' style='width: "
    .$fraction['mp5']."%;'>Пистолет-пулемет (MP5) <b>[".$fraction['mp5']."]</b></div>
          </div>
                <div class='progress'>
             <div class='progress-bar_danger' style='width: "
    .$fraction['ak47']."%;'>Автомат Калашникова (Ak-74) <b>[".$fraction['ak47']."]</b></div>
          </div>
                <div class='progress'>
             <div class='progress-bar_danger' style='width: "
    .$fraction['m4']."%;'>Винтовка M4 <b>[".$fraction['m4']."]</b></div>
          </div>
          <hr>
       </div>
       <br>
       <table>
          <tbody>
             <tr>
                 <td><strong>Ник в игре:</strong></td>
                <td>"
    .$fraction['name']."</td>
             </tr>
             <tr>
             <td><strong>Пол:</strong></td>
             <td>
             
    $sex
            </td>
             </tr>
             <tr>
                 <td><strong>Уровень:</strong></td>
                 <td>"
    .$fraction['level']."</td>
             </tr>
             <tr>
                 <td><strong>Наличные:</strong></td>
                <td>"
    .$fraction['money']."</td>
             </tr>
             <tr>
                 <td><strong>Баланс в банке:</strong></td>
                <td>"
    .$fraction['bank']."</td>
             </tr>
             <tr>
                 <td><strong>JS Монеты:</strong></td>
                <td>"
    .$fraction['donate']."</td>
             </tr>
             <tr>
                 <td><strong>Ваша почта:</strong></td>
                <td>"
    .$fraction['mail']."</td>
             </tr>
             <tr>
                 <td><strong>Номер телефона:</strong></td>
                <td>"
    .$fraction['donate']."</td>
             </tr>
             <tr>
                 <td><strong>Статус лидера:</strong></td>
                <td><em></em></td>
             </tr>
             <tr>
                 <td><strong>Организация:</strong></td>
                <td><em></em></td>
             </tr>
             <tr>
                 <td><strong>Ранг:</strong></td>
                <td>"
    .$fraction['rank']."</td>
             </tr>
             <tr>
                <td><strong>Онлайн?</strong></td>
                <td><span class='label label-danger'>Неизвестно</span></td>
             </tr>
          </tbody>
       </table>
    "
    ;
    ?>
     
  20. Vladlen_198

    Vladlen_198 Старожил Пользователь

    Баллы:
    108
    Skype:
    ultrashock98
    Имя в Minecraft:
    UltraShock
    Ахахха лол :D. Что ты делаешь :D
    Это не будет работать
    if ($fraction['member'] == array)
    {
    0 => $fraca = "Гражданин",
    1 => $fraca = "Grove Street Gang",
    2 => $fraca = "",
    3 => $fraca = "",
    4 => $fraca = "",
    5 => $fraca = "",
    6 => $fraca = "",
    7 => $fraca = "",
    8 => $fraca = "",
    9 => $fraca = "",
    10 => $fraca = "",
    11 => $fraca = "",
    12 => $fraca = "",
    13 => $fraca = "",
    14 => $fraca = "",
    15 => $fraca = "",
    16 => $fraca = "",
    17 => $fraca = "",
    18 => $fraca = "Уличные гонщики",
     

Поделиться этой страницей