Есть вопрос?
Зайди на форум

Поиск на сайте: Advanced

Denix - новый дистрибутив Linux. Русификация Ubuntu и установка кодеков

dkws.org.ua
Форум сайта dkws.org.ua
 
Главная    ТемыТемы    АльбомАльбом    РегистрацияРегистрация 
 ПрофильПрофиль   Войти и проверить личные сообщенияВойти и проверить личные сообщения   ВходВход 

MySQL в коде PHP
На страницу 1, 2  След.
 
Начать новую тему Ответить на тему    Список форумов dkws.org.ua -> PHP
 
Автор Сообщение
xNEOx

Новенький


Зарегистрирован: 11.01.2008
Сообщения: 14
Откуда: Кривой Рог

СообщениеДобавлено: Пн Ноя 17, 2008 2:07 pm    Заголовок сообщения: MySQL в коде PHP
Ответить с цитатой

Привет всем. Делаю он лайн игру на мускуле(просто ради учебы), столкнулся с проблемой добавления,обновления,удаления, данных с бд. Помогите. В книге например нет тега упдате в коде пхп. Есть отдельно для выполнения Smile
_________________
А давайте вы не будете указывать што мне делать, а я не буду говорить куда вам ити...
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Моб. телефон ICQ Number
den

Старожил


Зарегистрирован: 31.01.2006
Сообщения: 13870
Откуда: Кировоград, Украина

СообщениеДобавлено: Пн Ноя 17, 2008 8:05 pm    Заголовок сообщения:
Ответить с цитатой

а в чем собственно проблема?... аналогичным образом все делается....
Вернуться к началу
Посмотреть профиль Отправить личное сообщение dhsilabs@jabber.ru
xNEOx

Новенький


Зарегистрирован: 11.01.2008
Сообщения: 14
Откуда: Кривой Рог

СообщениеДобавлено: Вт Ноя 18, 2008 5:22 pm    Заголовок сообщения:
Ответить с цитатой

den писал(а):
а в чем собственно проблема?... аналогичным образом все делается....
Ну например я столкнулся с проблемой.

У меня есть таблица:

#
#Последние зареганые
#

CREATE TABLE `last_reg` (
`id` TINYTEXT NOT NULL # id
`nick` TINYTEXT NOT NULL, # последний ник
`id2` INT(1) NOT NULL, #шняга
PRIMARY KEY (`id2`)
) TYPE=MyISAM COMMENT='Инфа о последних';

INSERT INTO last_reg (id,nick,id2) # заполняем таблицу
VALUES (1, 'nikogo',0);





.

Пойдее етот код должен обновлять данные о последних регившихся:

mysql_query("UPDATE `last_reg` SET `id` = '".$addid."', `nick` = '".$nick."' WHERE id2='1' LIMIT 1;"); Ошибку не выдает-значит обновляет.

Тогда код:


$id2="1";
$q_last = @mysql_query("SELECT * FROM `last_reg` WHERE `id2`='0';"); // выбираем значения с первой строки
$last = @mysql_fetch_array($q_last);
$id = $last['id']; // Сколько всего зарегано
$nick = $last['nick']; // Последний зареганый

echo "Всего зарегестрировано : $id <br>
Последний зарегестрированый : $nick";


Должен вывести последнего зареганого и его ник. Так?а почему н еработает?
_________________
А давайте вы не будете указывать што мне делать, а я не буду говорить куда вам ити...
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Моб. телефон ICQ Number
den

Старожил


Зарегистрирован: 31.01.2006
Сообщения: 13870
Откуда: Кировоград, Украина

СообщениеДобавлено: Вт Ноя 18, 2008 5:36 pm    Заголовок сообщения:
Ответить с цитатой

У тебя запрос неправильный.... Чтобы узнать количество строк в результате, нужно использовать mysql_num_rows(), потом выбрать имя где id = $last; и вывести его ))
Вернуться к началу
Посмотреть профиль Отправить личное сообщение dhsilabs@jabber.ru
xNEOx

Новенький


Зарегистрирован: 11.01.2008
Сообщения: 14
Откуда: Кривой Рог

СообщениеДобавлено: Вт Ноя 18, 2008 5:52 pm    Заголовок сообщения:
Ответить с цитатой

den писал(а):
У тебя запрос неправильный.... Чтобы узнать количество строк в результате, нужно использовать mysql_num_rows(), потом выбрать имя где id = $last; и вывести его ))

Хм сейчас проверю. И у тебя в книге есь пару опечаток. Напиши полностью как должен выглядеть код с етим ровс?
_________________
А давайте вы не будете указывать што мне делать, а я не буду говорить куда вам ити...
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Моб. телефон ICQ Number
den

Старожил


Зарегистрирован: 31.01.2006
Сообщения: 13870
Откуда: Кировоград, Украина

СообщениеДобавлено: Вт Ноя 18, 2008 8:06 pm    Заголовок сообщения:
Ответить с цитатой

запрос лучше формировать в переменной например

$q = 'select * from t where id=' . $id;

потом можно сделать так:

$res = mysql_query($q);

и так

echo $q;

чтобы просмотреть, какой именно запрос отправляется на сервер
Вернуться к началу
Посмотреть профиль Отправить личное сообщение dhsilabs@jabber.ru
xNEOx

Новенький


Зарегистрирован: 11.01.2008
Сообщения: 14
Откуда: Кривой Рог

СообщениеДобавлено: Ср Ноя 19, 2008 3:30 pm    Заголовок сообщения:
Ответить с цитатой

den писал(а):
запрос лучше формировать в переменной например

$q = 'select * from t where id=' . $id;

потом можно сделать так:

$res = mysql_query($q);

и так

echo $q;

чтобы просмотреть, какой именно запрос отправляется на сервер



Resource id #4
_________________
А давайте вы не будете указывать што мне делать, а я не буду говорить куда вам ити...
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Моб. телефон ICQ Number
den

Старожил


Зарегистрирован: 31.01.2006
Сообщения: 13870
Откуда: Кировоград, Украина

СообщениеДобавлено: Ср Ноя 19, 2008 4:37 pm    Заголовок сообщения:
Ответить с цитатой

Цитата:

Resource id #4

Это ты увидел при выводе ресурса, при выводе запроса ($q) такого не будет
Вернуться к началу
Посмотреть профиль Отправить личное сообщение dhsilabs@jabber.ru
xNEOx

Новенький


Зарегистрирован: 11.01.2008
Сообщения: 14
Откуда: Кривой Рог

СообщениеДобавлено: Ср Ноя 19, 2008 4:51 pm    Заголовок сообщения:
Ответить с цитатой

den писал(а):
Цитата:

Resource id #4

Это ты увидел при выводе ресурса, при выводе запроса ($q) такого не будет
я написал как и ты и оно пишет такое
_________________
А давайте вы не будете указывать што мне делать, а я не буду говорить куда вам ити...
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Моб. телефон ICQ Number
den

Старожил


Зарегистрирован: 31.01.2006
Сообщения: 13870
Откуда: Кировоград, Украина

СообщениеДобавлено: Чт Ноя 20, 2008 5:47 am    Заголовок сообщения:
Ответить с цитатой

Да не может оно такое писать, это ID ресурса, а вывести должно текстовую переменную. Давай полный код скрипта ))
Вернуться к началу
Посмотреть профиль Отправить личное сообщение dhsilabs@jabber.ru
xNEOx

Новенький


Зарегистрирован: 11.01.2008
Сообщения: 14
Откуда: Кривой Рог

СообщениеДобавлено: Вт Dec 02, 2008 5:37 pm    Заголовок сообщения:
Ответить с цитатой

$page=$_GET['page'];

include"functions.php";

html_head();

$N = 3 ;
if($page == ""){$page=0;}

$records = $page * $N;

$q = "select * from helmet limit ".$records.", $N ";

$r = mysql_query($q);
$n = mysql_num_rows($r);

$page++;

echo "<div class=osnovnoi><a href=helmets.php?page=$page>Далее</a></div>$page i $records";

for ($i=0; $i<$N; $i++)
{
$f = mysql_fetch_array($r);

echo"<div class=osnovnoi>Грейд: $f[grade]<br>
Защита: $f[defense]<br>
Название: $f[name]<br>
Картинка: <img src=\"$f[image]\"><br>
Тип: $f[tip]<br>
Цена: $f[price] аден</div>
";

}

html_niz();

?>


В книге написано-что етот скрипт постраницчно выводит с бд. Но! Он без тормозов и потом выводит пустые клетки Twisted Evil
_________________
А давайте вы не будете указывать што мне делать, а я не буду говорить куда вам ити...
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Моб. телефон ICQ Number
Евген




Зарегистрирован: 06.12.2008
Сообщения: 1
Откуда: Киев

СообщениеДобавлено: Сб Dec 06, 2008 9:56 am    Заголовок сообщения:
Ответить с цитатой

Я думаю что в цикле for вместо $N должна быть $n. Кстати, а о какой книге вы говорите?
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
xNEOx

Новенький


Зарегистрирован: 11.01.2008
Сообщения: 14
Откуда: Кривой Рог

СообщениеДобавлено: Вт Янв 13, 2009 12:09 pm    Заголовок сообщения:
Ответить с цитатой

Евген писал(а):
Я думаю что в цикле for вместо $N должна быть $n. Кстати, а о какой книге вы говорите?
Столкнулся с ошибкой.

Она меня бесит=)

Короче я делаю скрипт обмена сообщениями юзеров.

Например у юзера два входящих.

#Запрос в БД
$zapros = "SELECT * FROM mail WHERE nick = '".$nick."' ORDER BY ID DESC";
$query = mysql_query($zapros);
if(!mysql_query($zapros)){echo "Сука ERROR ".mysql_errno()." ".mysql_error()."";}

$f = mysql_fetch_array($query);
$n = mysql_num_rows($query);

for( $i = 0 ; $i < $n ; $i++){

echo "<a href=\"./mail.php?mode=read&nick=$nick&msgid=".$f['id']."\">".$f['theme']."</a> от ".$f['from']." (Дата: ".$f['date'].") <br>";

}

Этим запросом я пойдее должен взять с БД сообщения юзера. Сортировав их по убыванию. Но оно выводит две строки одинаковых последних сообщений. Чем сообщений больше тем больше одинаковых строк =((


Структура БД.


#
# таблица почты
#
CREATE TABLE `mail` (

`id` int(16) NULL auto_increment, # id
`nick` TINYTEXT NOT NULL, # кому
`from` TINYTEXT NOT NULL, # от кого
`theme` TINYTEXT NOT NULL, # тема
`message` TEXT NOT NULL, # сообщение
`date` TINYTEXT NOT NULL, # дата
`read` TINYTEXT NOT NULL, # Статус сообщения
PRIMARY KEY (`id`)
)
# ------------------------------------------------------------------------------


Это не первый подобный скрипт.

А если не указывать WHERE - другой подобный скрипт работает. Crying or Very sad Спасите, время поджимает Sad
_________________
А давайте вы не будете указывать што мне делать, а я не буду говорить куда вам ити...
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Моб. телефон ICQ Number
xNEOx

Новенький


Зарегистрирован: 11.01.2008
Сообщения: 14
Откуда: Кривой Рог

СообщениеДобавлено: Вт Янв 13, 2009 12:12 pm    Заголовок сообщения:
Ответить с цитатой

Например сообщение последнее с темой * было.


* от 21 (Дата: 13.1.2009 15:12:19)
* от 21 (Дата: 13.1.2009 15:12:19)
* от 21 (Дата: 13.1.2009 15:12:19)

Вот так выводит ето все=(
_________________
А давайте вы не будете указывать што мне делать, а я не буду говорить куда вам ити...
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Моб. телефон ICQ Number
den

Старожил


Зарегистрирован: 31.01.2006
Сообщения: 13870
Откуда: Кировоград, Украина

СообщениеДобавлено: Вт Янв 13, 2009 1:05 pm    Заголовок сообщения:
Ответить с цитатой

$zapros = "SELECT * FROM mail WHERE nick =\"$nick\" ORDER BY ID DESC";
Вернуться к началу
Посмотреть профиль Отправить личное сообщение dhsilabs@jabber.ru
Показать сообщения:   
Начать новую тему Ответить на тему    Список форумов dkws.org.ua -> PHP Часовой пояс: GMT
На страницу 1, 2  След.
Страница 1 из 2
 Главная страница сайта
 
Перейти:  
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
© Колисниченко Денис