Подскажите как исправить ситуацию.
Есть готовая система е107, так же созданы новые поля в базе wmr и wmr1, где
wmr - номер кошелька
wmr1 - заработанная сумма
Система при входе определяет пользователя у каждого свой порядковый номер (ID), требуется вывести заработок пользователя в нужное место.
Нашел код такого типа:
$result = mysql_query("SELECT * FROM e1071_user_extended");
printf("Кошелек: %s<br>\n", mysql_result($result,0,"user_wmr1"));
Если я как то не понятно объяснил суть вопроса, можете написать в icq 485407271.
За ранее благодарен!
Спустя 10 минут, 3 секунды (25.05.2011 - 09:59) Игорь_Vasinsky написал(а):
Цитата |
можете написать в icq 485407271. |
а форум? это что забор?
$id = $_GET['id'];
$result = mysql_query("SELECT * FROM `e1071_user_extended` WHERE `id` = ".(int)$id);
while($row = mysql_fetch_array($result))
{
echo "кошелёк: ".$row['wmr']." - сумма: ".$row['wmr1']."<br />";
}
но сначала бы поверить есть ли юзер с таким id (уж пдумай как это сделать, пожалуста)
Спустя 1 час, 11 минут, 15 секунд (25.05.2011 - 11:10) ИНСИ написал(а):
Игорь_Vasinsky а зачем создавать отдельный $id? Сразу в запросе используй GET
Свернутый текст
mysql_query("SELECT * FROM `e1071_user_extended` WHERE `id` = '".(int)$_GET['id']."'");
Спустя 8 минут, 29 секунд (25.05.2011 - 11:19) Игорь_Vasinsky написал(а):
velbox
Вдруг в GET его не окажется....
и ну мало ли, вдруг где ещё пргодиться, например при выводе таблицы.
Вдруг в GET его не окажется....
и ну мало ли, вдруг где ещё пргодиться, например при выводе таблицы.
Спустя 54 минуты, 13 секунд (25.05.2011 - 12:13) Michael написал(а):
Игорь_Vasinsky, velbox, а зачем вы числа кавычками обрамляете как строки? Изучайте
Спустя 1 минута, 58 секунд (25.05.2011 - 12:15) Игорь_Vasinsky написал(а):
Michael
можешь считать это стилем - обрамление ковычками переменных php в SQL.
Привычка, но не вредная
можешь считать это стилем - обрамление ковычками переменных php в SQL.
Привычка, но не вредная
Спустя 1 минута, 53 секунды (25.05.2011 - 12:17) Michael написал(а):
Цитата (Игорь_Vasinsky @ 25.05.2011 - 11:15) |
Michael можешь считать это стилем - обрамление ковычками переменных php в SQL. Привычка, но не вредная |
это признак непонимания основ , а именно типов данных, а не стиль. Хотя может и стиль ... ламера.
Спустя 41 секунда (25.05.2011 - 12:18) ИНСИ написал(а):
Michael я не писал код, просто скопировал и заменил ID
Спустя 3 минуты, 47 секунд (25.05.2011 - 12:21) Игорь_Vasinsky написал(а):
Michael
ламера-нуба, любящего спорить. ;)
хотя:
а в sql - привык, хотя - да они там не нужны.
А по пооду основ - куда нам, простым смертным.... просто пичатаем напоры буковок и циферок... - а они странным образом работают... :blink: эт загада... мне не по зубам..
ламера-нуба, любящего спорить. ;)
хотя:
$int = 323;
а в sql - привык, хотя - да они там не нужны.
А по пооду основ - куда нам, простым смертным.... просто пичатаем напоры буковок и циферок... - а они странным образом работают... :blink: эт загада... мне не по зубам..
Спустя 4 минуты, 12 секунд (25.05.2011 - 12:26) Michael написал(а):
Цитата (Игорь_Vasinsky @ 25.05.2011 - 11:21) |
Michael ламера-нуба, любящего спорить. |
Я так и понял. Известная категория.
velbox, ну вот будет тебе наука не заниматься копипастом. Это антипаттерн .
Спустя 1 минута, 49 секунд (25.05.2011 - 12:27) Игорь_Vasinsky написал(а):
Michael
Не.. в отличии от троллей - наш брат тока кусается - когда его кусают. кстати - убрал ковычки., надоб запомнить..
Не.. в отличии от троллей - наш брат тока кусается - когда его кусают. кстати - убрал ковычки., надоб запомнить..
Спустя 1 час, 41 минута, 45 секунд (25.05.2011 - 14:09) TekseT написал(а):
Ошибок в коде не выдает но вместо результата на экране пустое место.
Я сейчас конкретней объясню... Есть база данных называется "а", в ней таблицы:
e1071_user - таблица с пользователями
e1071_user_extended - таблица в которой заработок
Дак вот ID у пользователей что в той, что в другой таблице равные. Нужно чтобы по ID показывался заработок конкретного пользователя.
Я сейчас конкретней объясню... Есть база данных называется "а", в ней таблицы:
e1071_user - таблица с пользователями
e1071_user_extended - таблица в которой заработок
Дак вот ID у пользователей что в той, что в другой таблице равные. Нужно чтобы по ID показывался заработок конкретного пользователя.
Спустя 7 минут, 31 секунда (25.05.2011 - 14:17) Игорь_Vasinsky написал(а):
в начале кода:
во вторых:
error_reporting(E_ALL);во первых - нужно подсчитать кол-во возращаемых строк после запроса ;)
во вторых:
$result = mysql_query("SELECT * FROM `e1071_user_extended` WHERE `id` = ".(int)$id) or die(mysql_error());
Спустя 7 минут, 32 секунды (25.05.2011 - 14:24) Guest написал(а):
Вот теперь он показывает ошибку такого типа:
Unknown column 'id' in 'where clause'
Возможно дело в названиях полей?
в таблице пользователей столбец называется user_id
в таблице с данными называется:
user_extended_id
user_extended_wmr
user_extended_wmr1
Unknown column 'id' in 'where clause'
Возможно дело в названиях полей?
в таблице пользователей столбец называется user_id
в таблице с данными называется:
user_extended_id
user_extended_wmr
user_extended_wmr1
Спустя 12 минут, 4 секунды (25.05.2011 - 14:36) Игорь_Vasinsky написал(а):
Цитата |
Unknown column 'id' in 'where clause' |
неизвестная ячейка id в таблице clause;
Цитата |
Возможно дело в названиях полей? |
конечно - имена плей то свои подставляй.
Спустя 5 минут, 11 секунд (25.05.2011 - 14:42) TekseT написал(а):
Вот то что у меня вышло:
Ошибок снова не выдает, но всё же на том месте где должен быть результат пустое место... Он даже не выводит слова "кошелек" и "сумма"
$id = $_GET['user_id'];
$result = mysql_query("SELECT * FROM `e1071_user_extended` WHERE `user_extended_id` = ".(int)$id) or die(mysql_error());
while($row = mysql_fetch_array($result))
{
echo ("кошелёк: ".$row['user_extended_wmr']." - сумма: ".$row['user_extended_wmr1']."<br />");
}
Ошибок снова не выдает, но всё же на том месте где должен быть результат пустое место... Он даже не выводит слова "кошелек" и "сумма"
Спустя 2 дня, 19 минут, 56 секунд (27.05.2011 - 15:01) TekseT написал(а):
Никто решения проблемы не нашел?
Спустя 32 минуты, 50 секунд (27.05.2011 - 15:34) pavlik написал(а):
$id = $_GET[id];
$errors = array();
if(ereg('^[1-9][0-9]*$', $id))
$errors['id'] = 'неправильный формат идентификатора';
if(!isset($errors[id]))
{
$result = mysql_query("SELECT * FROM `e1071_user_extended` WHERE `user_extended_id` = ".id) or die(mysql_error());
if(!mysql_num_rows($result)
echo ('запрос вернул пустой результат!');
else
{
while($row = mysql_fetch_assoc($result))
echo ("кошелёк: ".$row['user_extended_wmr']." - сумма: ".$row['user_extended_wmr1']."<br />");
}
}
else
{
echo $errors['id'];
}
Спустя 1 минута, 12 секунд (27.05.2011 - 15:35) pavlik написал(а):
ахда, у тебя ошибка в строке
попробуй
вернее не ошибка.
mysql_fetch_array возвращает массив с числовыми ключами 0,1,2 и т д, а ты массиву обращаешься как к ассиативному
чтобы вернуть ассоциативный массив, необходимо использовать mysql_fetch_assoc
while($row = mysql_fetch_array($result))
попробуй
while($row = mysql_fetch_assoc($result))
вернее не ошибка.
mysql_fetch_array возвращает массив с числовыми ключами 0,1,2 и т д, а ты массиву обращаешься как к ассиативному
чтобы вернуть ассоциативный массив, необходимо использовать mysql_fetch_assoc
Спустя 9 минут, 39 секунд (27.05.2011 - 15:45) pavlik написал(а):
ахда, у тебя ошибка в строке
попробуй
вернее не ошибка.
mysql_fetch_array возвращает массив с числовыми ключами 0,1,2 и т д, а ты массиву обращаешься как к ассиативному
чтобы вернуть ассоциативный массив, необходимо использовать mysql_fetch_assoc
while($row = mysql_fetch_array($result))
попробуй
while($row = mysql_fetch_assoc($result))
вернее не ошибка.
mysql_fetch_array возвращает массив с числовыми ключами 0,1,2 и т д, а ты массиву обращаешься как к ассиативному
чтобы вернуть ассоциативный массив, необходимо использовать mysql_fetch_assoc
Спустя 41 минута, 59 секунд (27.05.2011 - 16:27) Guest написал(а):
Цитата |
$id = $_GET[id]; $errors = array(); if(ereg('^[1-9][0-9]*$', $id)) $errors['id'] = 'неправильный формат идентификатора'; if(!isset($errors[id])) { $result = mysql_query("SELECT * FROM `e1071_user_extended` WHERE `user_extended_id` = ".id) or die(mysql_error()); if(!mysql_num_rows($result) echo ('запрос вернул пустой результат!'); else { while($row = mysql_fetch_assoc($result)) echo ("кошелёк: ".$row['user_extended_wmr']." - сумма: ".$row['user_extended_wmr1']."<br />"); } } else { echo $errors['id']; } |
Данный код выдает такую ошибку:
Parse error: syntax error, unexpected T_ECHO
Ну а вот это:
while($row = mysql_fetch_assoc($result))
Увы не помогло... Сайт работает ошибок не выдает но и на месте результата пусто... Я хочу повторить что это система е107 и возможно чем то поможет вот что:
Система всё время помнит ID пользователя как .USERID
Спустя 8 минут, 51 секунда (27.05.2011 - 16:36) TekseT написал(а):
Вот начало скрипта:
if(USER == TRUE || ADMIN == TRUE){
list($uid, $upw) = ($_COOKIE[$pref['cookie_name']] ? explode(".", $_COOKIE[$pref['cookie_name']]) : explode(".", $_SESSION[$pref['cookie_name']]));
// on defini le titre du bloc
$textcaption = $pref['eXLpref_title'];
if ($pref['eXLpref_pseudo']==1){
$textcaption = $pref['eXLpref_title']." ".USERID;
}
Тут система выводит ID пользователя, это работает а вот после этого я хочу вывести заработок... Может ещё эта информация чем поможет.
if(USER == TRUE || ADMIN == TRUE){
list($uid, $upw) = ($_COOKIE[$pref['cookie_name']] ? explode(".", $_COOKIE[$pref['cookie_name']]) : explode(".", $_SESSION[$pref['cookie_name']]));
// on defini le titre du bloc
$textcaption = $pref['eXLpref_title'];
if ($pref['eXLpref_pseudo']==1){
$textcaption = $pref['eXLpref_title']." ".USERID;
}
Тут система выводит ID пользователя, это работает а вот после этого я хочу вывести заработок... Может ещё эта информация чем поможет.