[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Вопрос про поля в MySQL
Rem
У меня появился вопрос, связанный с полями в MySQL.
У меня есть база rdb, есть таблица users.
В таблице есть поле nick. Как осуществить поиск в базе данных по этому имени и вывести все поля, которые есть в одном ряду с этим ником?
Также есть поле active. Как после того, как будет найден искомый ряд (это делалось при поиске в поле nick), нужно записать туда значение “1”.
Как это осуществить? Про MySQL в моём самоучителе сказано буквально страниц 5-6, только основы (коннект, создание, запись, чтение и всё). Не могли бы Вы выложить уже готовый код сюда в тему?
И желательно ссылку на какой-нибудь самоучитель по MySQL на русском языке, плз…



Спустя 43 минуты, 42 секунды (10.09.2006 - 14:53) vasa_c написал(а):
Работа с MySQL из PHP — http://ru.php.net/mysql
Русскоязычный сайт по MySQL — http://mysql.ru/ (в разделе документация есть перевод мануала)
Вообще же для составления запросов и т.д. желательно подучить сам язык SQL (одной из реализаций которого является MySQL). В гугле на запрос "sql" дается достаточно много ссылок.

Почитав это все, я думаю ты сможешь решить свою задачу самостоятельно.
Могу обратить твое внимание на запросы типа
select — выборка из БД
update — изменение значений полей
И раздел where этих запросов, позволяющий указать условия выборки/изменения

Спустя 18 минут, 16 секунд (10.09.2006 - 15:12) PantiL написал(а):
Никогда не просите "ДАЙТЕ ГОТОВЫЙ КОД" - так никто не захочет помогать.<br>А подсказать не трудно :)<br>
 
<?php
//Вот так осуществляем поиск по полю nick
$sNick = "Pupkin";
$sQuery = "SELECT * FROM `users` WHERE `nick`='$sNick' ;";
$rResource = mysql_query($sQuery);
//
if(mysql_num_rows($rResource))
{
$aUser = mysql_fetch_array($rResource);
foreach($aUser as $sStr)
{
echo "$sStr
";
}
}
else
{
echo "Такого пользователя нет";
}
//А теперь запишем "1" в поле activ
$sQuery = "UPDATE `users` SET `activ` = '1' WHERE `nick` ='$sNick' ;";
mysql_query($sQuery);
?>
 

Спустя 1 день, 2 часа, 5 минут, 29 секунд (11.09.2006 - 17:17) Rem написал(а):
Пантил большое спасибо!
2 vasa_c, наскока я понял из документации это делается так:

CODE
$sql="select поля from таблица";
$rs=mysql_query($sql) or die(mysql_error());
list ($поля) = mysql_fetch_row($rs);


Изменение данных
$sql = "UPDATE `таблица` SET поле= '$значение, поле='$значение" WHERE поле= '$значение";
$result=mysql_query($sql);

Спустя 6 минут, 19 секунд (11.09.2006 - 17:23) vasa_c написал(а):
Нет, это делается не так. Это делается так, как сказал PantiL.
Так же почитай про экранирование входных данных:
www.php.net/mysql_escape_string
www.phpfaq.ru/slashes

Спустя 1 день, 18 часов, 35 минут, 17 секунд (13.09.2006 - 11:59) Rem написал(а):
Ладно, спасибо.
У меня возник ещё один вопрос. Я вывожу из таблицы в БД все поля (тоже в таблицу на сайте), как можно их упорядочить не по номеру строки (0,1,2,...), а вот по значениям в определённой ячейке, например "rating"?

Спустя 2 часа, 20 минут, 9 секунд (13.09.2006 - 14:19) PantiL написал(а):
 
//Запрос на получение записей отсортированных по полю rating
$sQuery = "SELECT * FROM `table` ORDER BY `rating` ;";
//Запрос на получение записей отсортированных по полю rating в обратном порядке
$sQuery = "SELECT * FROM `table` ORDER BY `rating` DESC;";
 

Спустя 1 день, 9 минут, 3 секунды (14.09.2006 - 14:28) Rem написал(а):
Извините, но ещё один вопрос: как узнать сколько всего записей в таблице?? и вывести все записи но только поля id, nick, rating. Сам я пробовал делать, но вот выдавалась какая-то ошибка постоянно (когда он пытался упорядочивать по rating в обратном порядке)

Спустя 1 час, 14 минут, 27 секунд (14.09.2006 - 15:42) vasa_c написал(а):
Rem, так вот и покажи, что ты пробовал делать и какая ошибка выдавалась.
И все-таки я бы советывал тебе для начала попробовать почитать документацию. Хотя бы в самом базовом виде.

Спустя 2 часа, 10 минут, 27 секунд (14.09.2006 - 17:53) PantiL написал(а):
 
$sQuery = "SELECT * FROM `users` ORDER BY `rating` ;";
$rRes = mysql_query($sQuery);
echo "Всего записей - ".mysql_num_rows($rRes)."
";
while($oUser = mysq_fetch_object($rRes))
{
echo "$oUser->id - $oUser->nick - $oUser->rating 
";
}
 

Получаем все записи упорядоченные по рейтингу и выводи нужные поля


_____________
tesseract (10:09:16 1/06/2007)
к вопросу о вчерашних скриптостраданиях. Только что кодер знакомый прислал, нашёл в коде программы, написанной уволенным коллегой незадолго до ухода:
#define TRUE FALSE //счастливой отладки <ВЦ>
такого извращённого юмора ещё не встречал
Rouse_ (10:09:56 1/06/2007)
#define true ((rand() % 2) ? true : false) //с первым апреля
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.