Форум программистов, компьютерный форум, киберфорум
PHP: базы данных
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.60/5: Рейтинг темы: голосов - 5, средняя оценка - 4.60
0 / 0 / 0
Регистрация: 20.07.2015
Сообщений: 7

Не верные данные с базы данных

20.07.2015, 13:18. Показов 1097. Ответов 13
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте, помогите разобраться.
В этом коде выводит правильные данные 14 строка

PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
    echo '
    <h2>10 последних заявок:</h2>
    <table class="table3">
              <tr class="title">
                <td>Сумма</td>
                <td>Дата</td>
                <td>Статус</td>
              </tr>
    ';
    while($row = db_assoc($balance_cash_res)){
        echo '<tr>
            <td>'.round($row['summa'], 2).' руб.</td>
            <td>'.$row['dat'].'</td>
            <td>'.($row['status'] == 0?'В процессе':'Выполнено').'</td> 
        </tr>';
    }
    echo '</table>';
А в этом всегда значение "В процеcсе " 20 строчка ( по умолчанию в базе стоит 0 )
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
echo '
<table width="100%" border="0" cellspacing="0" cellpadding="0" class="table1">
  <tr>
    <td>Логин</td>
    <td>Сумма</td>
    <td>WMID</td>
    <td>WMR</td>
    <td>Дата</td>
    <td>Статус</td>
  </tr>
';
while($row = db_assoc($res)){
echo '
  <tr>
    <td>'.htmlspecialchars($row["login"]).'</td>
    <td>'.round($row["summa"], 2).'</td>
    <td>'.htmlspecialchars($row["wmid"]).'</td>
    <td>'.htmlspecialchars($row["wmr"]).'</td>
    <td>'.$row["dat"].'</td>
    <td>'.($row["status"]== 0?'В процессе':'Выполнено').'</td>    
    <td>
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
20.07.2015, 13:18
Ответы с готовыми решениями:

Необходимо вводить данные в форму и сохранять данные в таблице базы данных
Подскажите пожалуйста новичку в деле программирования!Создаю базу данных в 2000 Access.Сохраняю базу в ту же папку что и проект на VB.Мне...

Создать пользователя базы данных который сможет читать данные и записывать данные в бд
Собственно вопрос в названии..НА русскомя языке нашел мало нужной инфы...

Не верные данные в копировании из буфера
Все привет , словил непонятный глюк при работе c буфером(запрос-ответ). Суть проблемы такова: Принимаю данные через usart-DMA в большом...

13
 Аватар для crautcher
2450 / 2301 / 597
Регистрация: 27.05.2011
Сообщений: 7,845
20.07.2015, 15:33
Значит у всех полученных данных status == 0
0
471 / 399 / 169
Регистрация: 04.01.2013
Сообщений: 1,675
20.07.2015, 15:35
Ну значит во всех строках в ячейке status стоит ноль, в чем вопрос то?
0
0 / 0 / 0
Регистрация: 20.07.2015
Сообщений: 7
20.07.2015, 17:07  [ТС]
Тогда почему в первом скрипте различает где ноль , а где 1
Я думаю что во втором скрипте считывает не с той базы, вот и не видит данные
0
471 / 399 / 169
Регистрация: 04.01.2013
Сообщений: 1,675
20.07.2015, 17:14
Ну так мы ж не экстрасенсы) Да наверняка разные таблицы берутся из мускуля. Весь код то не видно
0
0 / 0 / 0
Регистрация: 20.07.2015
Сообщений: 7
21.07.2015, 03:56  [ТС]
В том то и дело в одной строке стоит ноль , а вдругой 1, первый код это видит, а второй нет. Возможно что данные беруться с разных таблиц, а как прописать чтобы бролось с разных я не пойму. Подскажите как это прописать. 10 и 12 строки разные я это и сам вижу, как это правильно сделать не пойму.
0
471 / 399 / 169
Регистрация: 04.01.2013
Сообщений: 1,675
21.07.2015, 10:15
Так покажите полные скрипты...откуда берется
PHP
1
$balance_cash_res
в первом случае и
PHP
1
$res
во втором?
0
0 / 0 / 0
Регистрация: 20.07.2015
Сообщений: 7
21.07.2015, 11:48  [ТС]
Да береться от сюда, с работы приеду выложу полностью код
И я не пойму что значит $res, такой таблицы нету в бд
0
471 / 399 / 169
Регистрация: 04.01.2013
Сообщений: 1,675
21.07.2015, 11:59
вот кусок
PHP
1
while($row = db_assoc($res)){
Вы не совсем понимаете логику переменные $res и $balance_cash_res не являются таблицами в БД а лишь содержат указатели запросов, которые должны быть по коду выше
0
0 / 0 / 0
Регистрация: 20.07.2015
Сообщений: 7
22.07.2015, 06:42  [ТС]
balance_cash такая таблица есть в бд

первый скрипт
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
<h1>Баланс</h1>
<a href="/?p=balance&t=topup">Пополнить</a> / <a href="/?p=balance&t=cash">Снять</a>
<?php
if($_GET["t"] == "topup"){
echo "<h2>Пополнить баланс</h2>";
 
    if(isset($_POST["topupsub"])){
        $err = NULL;
        
        if(round($_POST["summa"],2) < 1)
            $err .= "<li>Минимум к пополнению 1 руб.</li>";
            
        if($err == NULL){   
        db_connect();
            db_query("DELETE FROM `".DBpref."balance_topup` WHERE `login` = '".db_string($_SESSION["login"])."'");
            db_query("INSERT INTO `".DBpref."balance_topup` (`login`, `summa`, `dat`) VALUES ('".db_string($_SESSION["login"])."', ".round($_POST["summa"],2).", '".date("Y-m-d H:i:s")."')");
            $lastid = db_last_id();
        db_close();
            echo '
            <table class="table2">
              <tr>
                <td>Пополнить баланс на сумму</td>
                <td>'.round($_POST["summa"],2).' руб.</td>
              </tr>
              <tr>
                <td></td>
                <td>
            <form method=GET action="http://www.free-kassa.ru/merchant/cash.php">
                <input type="hidden" name="m" value="'.ik_shop_id.'">
                <input type="hidden" name="oa" value="'.round($_POST["summa"],2).'" />
                <input type="hidden" name="s" id="s" value="'.make_signature(ik_shop_id, round($_POST["summa"],2), secret_key, $lastid).'">
                <input type="hidden" name="o" id="desc" value="'.$lastid.'" />
                <input type="submit" id="submit" value="Оплатить" />
            </form></td>
              </tr>
             </table>
        </form>
        
            ';
            
            $topupok = true;
        }else{
            echo "<ul class='error'>".$err."</ul>";
        }
    }
 
    if($topupok == false){
        echo '
        <form action="" method="post">
            <table class="table2">
              <tr>
                <td>Сумма пополнения </td>
                <td><input name="summa" type="text" value="10" size="5" maxlength="6" /> руб.</td>
              </tr>
              <tr>
                <td></td>
                <td><input name="topupsub" type="submit" value="Пополнить" /></td>
              </tr>
             </table>
        </form>
        ';
    }
}else{
echo "<h2>Снять средства</h2>";    
db_connect();
$res = db_query("SELECT `balance`, `wmid`, `wmr` FROM `".DBpref."users` WHERE `login` = '".db_string($_SESSION["login"])."'");
$row = db_assoc($res);
    
    if(isset($_POST["cashsub"])){
        $err = NULL;
        
        if(round($_POST["summa"],2) < 20)
            $err .= "<li>Минимум к выводу 20 руб.</li>";
        if(round($_POST["summa"],2) > round($row["balance"],2))
            $err .= "<li>На Вашем балансе недостаточно средств</li>";
        if($row['wmr'] == NULL OR $row['wmid'] == NULL)
            $err .= "<li>Пожалуйста, введите в настройках аккаунта ваши платежные реквизиты</li>";
            
        if($err == NULL){
            db_query("UPDATE `".DBpref."users` SET `balance` = `balance` - ".round($_POST["summa"],2)." WHERE `login` = '".db_string($_SESSION["login"])."'");
            db_query("INSERT INTO `".DBpref."balance_cash` (`login`, `summa`, `dat`) VALUES ('".db_string($_SESSION["login"])."', ".round($_POST["summa"],2).", '".date("Y-m-d H:i:s")."')");
            
            echo "В течении 24-х часов средства будут выведены";
            
            $cashok = true;
        }else{
            echo "<ul class='error'>".$err."</ul>";
        }
    }
 
$balance_cash_res = db_query("SELECT * FROM `".DBpref."balance_cash` WHERE `login` = '".db_string($_SESSION["login"])."' ORDER BY `id` DESC LIMIT 10");
db_close();
 
if($cashok == false){
    echo '
        <form action="" method="post">
        <table class="table2">
              <tr>
                <td>Ваш баланс </td>
                <td>'.round($row["balance"],2).' руб.</td>
              </tr>
              <tr>
                <td>Сумма </td>
                <td><input name="summa" type="text" value="'.round($row["balance"],2).'" size="5" maxlength="6" /> руб.</td>
              </tr>
              <tr>
                <td></td>
                <td><input name="cashsub" type="submit" value="Снять" /></td>
              </tr>
             </table>
        </form>
    ';
    
    echo '
    <h2>10 последних заявок:</h2>
    <table class="table3">
              <tr class="title">
                <td>Сумма</td>
                <td>Дата</td>
                <td>Статус</td>
              </tr>
    ';
    while($row = db_assoc($balance_cash_res)){
        echo '<tr>
            <td>'.round($row['summa'], 2).' руб.</td>
            <td>'.$row['dat'].'</td>
            <td>'.($row['status'] == 0?'В процессе':'Выполнено').'</td> 
        </tr>';
    }
    echo '</table>';
}
 
}
?>
второй
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
<h1>Заказы на вывод средств</h1>
<?php
db_connect();
if(isset($_POST["id"])){
$res = db_query("SELECT `summa`, `login` FROM ".DBpref."balance_cash WHERE `id` = ".intval($_POST["id"]));
if(db_rows($res) != 0){
    $row = db_assoc($res);
    db_query("UPDATE `".DBpref."balance_cash` SET `status` = 1 WHERE `id` = ".intval($_POST["id"]));
    db_query("UPDATE `".DBpref."users` SET `balance_cash` = `balance_cash` + ".round($row["summa"] ,2)." WHERE `login` = '".db_string($row["login"])."'");
    echo "<h2>Удаленно</h2>";
    }
}
$res = db_query("SELECT `t1`.`id`, `t1`.`login`, `t1`.`summa`, `t1`.`dat`, `t2`.`wmid`, `t2`.`wmr` FROM `".DBpref."balance_cash` `t1` INNER JOIN `".DBpref."users` `t2` ON `t1`.`login` = `t2`.`login` ORDER BY `t1`.`id` DESC");
db_close();
 
if(db_rows($res) == 0)
    echo "<h2>Заявок нет</h2>";
    
echo '
<table width="100%" border="0" cellspacing="0" cellpadding="0" class="table1">
  <tr>
    <td>Логин</td>
    <td>Сумма</td>
    <td>WMID</td>
    <td>WMR</td>
    <td>Дата</td>
    <td>Статус</td>
  </tr>
';
while($row = db_assoc($res)){
echo '
  <tr>
    <td>'.htmlspecialchars($row["login"]).'</td>
    <td>'.round($row["summa"], 2).'</td>
    <td>'.htmlspecialchars($row["wmid"]).'</td>
    <td>'.htmlspecialchars($row["wmr"]).'</td>
    <td>'.$row["dat"].'</td>
    <td>'.($row["status"] == 0?'В процессе':'Выполнено').'</td>   
    <td>
 
    
        <form action="" method="post">
            <a href="wmk:payto?Purse='.htmlspecialchars($row["wmr"]).'&Amount='.round($row["summa"], 2).'&Desc=Оплата №'.$row["id"].' пользователю '.htmlspecialchars($row["login"]).' в размере '.round($row["summa"], 2).' руб.&BringToFront=Y"><input value="Оплатить" name="" type="button" /></a>
            <input name="id" type="hidden" value="'.$row["id"].'">
            <input name="" type="submit" value="Оплачено">
            <tr>
        </form>
          <tr>
    <tr>   
  </tr>
  </tr>
';
}
echo '
</table>
';
?>
0
471 / 399 / 169
Регистрация: 04.01.2013
Сообщений: 1,675
22.07.2015, 09:19
Ну в первом скрипте выбираются все поля, а во втором вы сами указываете какие выбирать и я не вижу ни в одном условии, чтобы выбиралось поле $res['status']
0
0 / 0 / 0
Регистрация: 20.07.2015
Сообщений: 7
22.07.2015, 11:17  [ТС]
Подскажите как это надо прописать
0
471 / 399 / 169
Регистрация: 04.01.2013
Сообщений: 1,675
22.07.2015, 11:34
Лучший ответ Сообщение было отмечено greu как решение

Решение

Второй скрипт 13 строка заменить на
PHP
1
$res = db_query("SELECT `t1`.`id`, `t1`.`login`, `t1`.`summa`, `t1`.`dat`, `t1`.`status`, `t2`.`wmid`, `t2`.`wmr` FROM `".DBpref."balance_cash` `t1` INNER JOIN `".DBpref."users` `t2` ON `t1`.`login` = `t2`.`login` ORDER BY `t1`.`id` DESC");
1
0 / 0 / 0
Регистрация: 20.07.2015
Сообщений: 7
22.07.2015, 11:58  [ТС]
Спасибо, тема закрыта.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
22.07.2015, 11:58
Помогаю со студенческими работами здесь

В фаил записываются не верные данные
Почему мне в файл записывает не только я введу, а это: 慖楳楬䌀湡散r㐱글潂摧湡吀畡畲s㌲글湁牤祩䜀浥湩i㐱글 #include &lt;iostream&gt; #include &lt;iomanip&gt; ...

Из Servlet в jsp получаю не верные данные
Доброго времени суток! :) Написал простой сервлет. При редиректе к jsp - из атрибута &quot;data&quot; вместо строки с объектами в...

Приходят не верные данные о ширине div обьекта
ребята уже больше суток не могу разобраться &lt;div id=&quot;price&quot; class=&quot;pr w100p z0 disf fdc fjcc faic&quot;...

Ajax обрабатывает error, хотя данные верные
В общем бьюсь уже весь день. есть клиент с кодом $.ajax( &quot;query.php&quot;, { type:'POST', data: 'mark='+markValue, ...

Получить данные из базы данных
Всем привет! Нужна помощь. Есть готовая база данных, в которой находится таблица с id, login и password. Так же имеется страничка в php с...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
14
Ответ Создать тему
Новые блоги и статьи
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем. . . .
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
SDL3 для Web (WebAssembly): Сборка библиотек: SDL3, Box2D, FreeType, SDL3_ttf, SDL3_mixer и SDL3_image из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual Studio. . . .
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru