Вопрос о локациях
|
|
Faraon | Дата: Понедельник, 06 Мая 2013, 17:30 | Сообщение # 21 |
почетный гость
Сейчас нет на сайте
| Цитата (Qvatrik) $hostname = "localhost"; // это значение может отличаться, но в основном оно такое $username = "имя_пользователя_бд"; $password = "пароль_пользователя_бд"; $database = "название_бд"; $mysql_connect = mysql_connect($hostname, $username, $password) or die ("Ошибка подключения к базе данных. Свяжитесь с администратором."); mysql_select_db($database) or die (mysql_error()); Дякую звичайно но це я знаю! Ви робити зєднання з базою! Цитата (Qvatrik) 3) Подключаете этот файл в другой файл, где выполняется ваш скрипт: Цитатаinclude $_SERVER['DOCUMENT_ROOT']."путь/до/файла/config.php"; А чому нельзя зробити от так ? Какая разница? Код include ("config.php"); Я не знаю как вивести у браузер дание з бази! Если б ви мне помогли я б був признателен! И больше б здесь Ви таки вопросов глупых не видели!
|
|
| |
Qvatrik | Дата: Понедельник, 06 Мая 2013, 19:02 | Сообщение # 22 |
частый гость
Сейчас нет на сайте
| А дальше вот так: Цитата $query = "select * from название_таблицы"; // там много разных операторов, советую почитать в интернете о запросах MySQL $sql = mysql_query($query); $row = mysql_fetch_array($sql); echo $row['название_столбца'];
Цитата (Faraon) Какая разница? Разницы нет.
Сообщение отредактировал Qvatrik - Понедельник, 06 Мая 2013, 19:08 |
|
| |
Faraon | Дата: Понедельник, 06 Мая 2013, 20:02 | Сообщение # 23 |
почетный гость
Сейчас нет на сайте
| Ета не совсем то што мне нужно! С помащю етава кода виноситса в браузер з таблици один столбец а мне нужно штоб било вот так скрин То есть мне нужно штоб при переходе на файл mapa.php игрок видел только то што есть в рядку id та название поля отображать ненужно только то што есть в каморках! Привиду пример! Маем базу Код 1.CREATE TABLE `loсation` ( 2. `id` int(11) NOT NULL AUTO_INCREMENT, 3. `name` varchar(100) NOT NULL, 4. `opes` varchar(100) NOT NULL, 5. PRIMARY KEY (`id`) 6. ) ENGINE=InnoDB AUTO_INCREMENT=0 DEFAULT utf8_general_ci; поля в базе заполнени id - 1 name - name location opes - opes location и мне нужно вынести в браузер так чтоб результат бил таким "name location opes location"
|
|
| |
Qvatrik | Дата: Понедельник, 06 Мая 2013, 21:58 | Сообщение # 24 |
частый гость
Сейчас нет на сайте
| Цитата (Faraon) мне нужно вынести в браузер так чтоб результат бил таким Я же написал: Цитата echo $row['название_столбца']; В вашем случае будет: Цитата echo "Название локации: ".$row['name']; echo "<br>Описание локации: ".$row['opes'];
Вам слишком рано создавать локации для игры. Попробуйте начать с регистрации
Сообщение отредактировал Qvatrik - Понедельник, 06 Мая 2013, 21:59 |
|
| |
Faraon | Дата: Понедельник, 06 Мая 2013, 22:06 | Сообщение # 25 |
почетный гость
Сейчас нет на сайте
| м.... ну да писали, простите и спасобо сичас попробую! Я ету тему создал ще на одном форуме и мне там ответили " Виведения отриманих из бази даних не всех одразу - ета операция на клиенте, себто вже JavaScript (и, навить AJAX)." ета прада?
|
|
| |
Qvatrik | Дата: Понедельник, 06 Мая 2013, 22:08 | Сообщение # 26 |
частый гость
Сейчас нет на сайте
| Faraon, используйте переводчик хотя бы. С украинского на русский. Правда ничего не понятно.
|
|
| |
Faraon | Дата: Понедельник, 06 Мая 2013, 22:14 | Сообщение # 27 |
почетный гость
Сейчас нет на сайте
| Простите и спасиба за помащь! я эту тему создал на другом форуме и мне там ответили "вывод полученных из базы дных не всех сразу - это операция на клиенте, то есть это уже JavaScript" Ета правда?
|
|
| |
Qvatrik | Дата: Понедельник, 06 Мая 2013, 22:28 | Сообщение # 28 |
частый гость
Сейчас нет на сайте
| Цитата (Faraon) вывод полученных из базы дных не всех сразу Что значит не всех сразу? Вывод данных можно полностью осуществить на PHP. Если строчек несколько - нужно использовать цикл while На этом всё. JS нужен для исполнения динамического скрипта в браузере без перезагрузки страницы.
|
|
| |
Faraon | Дата: Понедельник, 06 Мая 2013, 22:34 | Сообщение # 29 |
почетный гость
Сейчас нет на сайте
| Большое Вам спасибо, Ви мне очень помогли! Можно Вам последний вопрос задать по поводу локаций? Если нет то я пойму!
|
|
| |
Qvatrik | Дата: Понедельник, 06 Мая 2013, 22:41 | Сообщение # 30 |
частый гость
Сейчас нет на сайте
| Faraon, дерзайте.
|
|
| |
Faraon | Дата: Понедельник, 06 Мая 2013, 23:19 | Сообщение # 31 |
почетный гость
Сейчас нет на сайте
| ) База есть и поля в таблице location заполнени (можна сказать што есть 3 локации)! Как между ними заделать переходи? Добавить поля к таблице location? Если да, (хотя очень сомневаюсь) то что в них вписать чтобы был переход?
|
|
| |
Qvatrik | Дата: Понедельник, 06 Мая 2013, 23:38 | Сообщение # 32 |
частый гость
Сейчас нет на сайте
| Faraon, все это уже было описано выше. Читайте внимательней. Цитата Надо сделать таблицу в БД со стобцами "id, id_user, location". Столбец id заполняется автоматически (auto_increment), столбец id_user содержит в себе ID пользователя, а столбец location содержит в себе ID локации, где сейчас находится пользователь. При переходе игрока в другую локацию - обновлять значение поля location у данного игрока.
Обновление значения происходит через запрос в БД: Цитата $query = "update название_таблицы set location='тут_новый_id_локации' where id_user='тут_id_пользователя'"; mysql_query($query);
|
|
| |
Faraon | Дата: Вторник, 07 Мая 2013, 05:34 | Сообщение # 33 |
почетный гость
Сейчас нет на сайте
| Допустим што я всьо ето зделал! Но как игрок переходить то будет з id1 на id2 или на id3 ? Єсли в браузере видно тока поля name та opes скринДобавлено (07.05.2013, 05:34) --------------------------------------------- Например столбец location содержит в себе ID локации, где сейчас находится пользователь а как id локации менять? Вот я сичас на окации id1 и хочу перейти на локацию id3 как мне ета зделать ?
|
|
| |
Qvatrik | Дата: Вторник, 07 Мая 2013, 09:16 | Сообщение # 34 |
частый гость
Сейчас нет на сайте
| Много грамматических ошибок.
Цитата (Faraon) Но как игрок переходить то будет з id1 на id2 или на id3 ? Для этого сделайте ссылки: Цитата <a href="/mapa.php?loc=1">локация 1</a> <a href="/mapa.php?loc=2">локация 2</a> <a href="/mapa.php?loc=3">локация 3</a> И соответствующий код в PHP: Цитата if($_GET['loc']=="1"){ тело функции апдейта БД на первую локацию} if($_GET['loc']=="2"){ тело функции апдейта БД на вторую локацию} if($_GET['loc']=="3"){ тело функции апдейта БД на третью локацию}
|
|
| |
Faraon | Дата: Вторник, 07 Мая 2013, 22:26 | Сообщение # 35 |
почетный гость
Сейчас нет на сайте
| Большое спасибо! Но я еще не пробовал Это вписывать в файл mapa.php, потому возникла проблема! id игрока мы будем получать с сессии, я написал новую регистрацию и подключил сессии! Но возникла проблема, регистрация не работает, пишет Incorrect integer value: '' for column 'id' at row 1 После проверки файла я не виявил ошибки, может ви знаете в чом дело? Код <?php $connect = mysql_connect('localhost', 'root', 'Naruto1996') or die(mysql_error()); mysql_select_db("games"); # робимо провірку. if(isset($_POST['submit'])){ $username = $_POST['username']; $login = $_POST['login']; $password = $_POST['password']; $r_password = $_POST['r_password']; if ($password == $r_password) { $password = md5($password); $query = mysql_query ("INSERT INTO users VALUES ('','$username','$login','$password')") or die (mysql_error()); } else{ die ('Пароли не совпадают!'); } } if(isset($_POST['enter'])) { $e_login = $_POST['e_login']; $e_password = md5($_POST['e_password']); $query = mysql_query ("SELECT * FROM users WHERE login = '$e_login'"); $user_data = mysql_fetch_array($query);
if ($user_data['password'] == $e_password) { session_start(); $_SESSION['name'] = $e_login; } else { echo "Не верний пароль или логин"; } }
if(isset($_POST['logout'])) { unset( $_SESSION['name']); session_destroy(); } ?>
<form method="post" action="index.php"> Ваше имя: <input type="text" name="username"placeholder="username"required/></br> Логин:<input type="text" name="login"placeholder="Login"required/></br> Пароль:<input type="password" name="password"placeholder="Password"required/></br> Повторите пароль:<input type="password" name="r_password"placeholder="Repeat Password"required/></br> <input name="submit" type="submit" value="Регистрация" required/> </form>
<?php if (isset($_SESSION['name'])) { echo 'Ви залогинини<br> <form method="post" action="index.php"> <input type="submit" name="logout" value="logout"/> </form> '; } else { echo '<form method="post" action="index.php"> Логин:<input type="text" name="e_login"placeholder="Login"required/> Пароль:<input type="password" name="e_password"placeholder="Password"required/> <input name="submit" type="submit" value="Войти"/> </form>'; } ?> база Код CREATE TABLE `users` ( `id` int(11) NOT NULL AUTO_INCREMENT, `login` varchar(50) NOT NULL, `password` varchar(64) NOT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=55 DEFAULT CHARSET=cp1251;
|
|
| |
Qvatrik | Дата: Среда, 08 Мая 2013, 00:26 | Сообщение # 36 |
частый гость
Сейчас нет на сайте
| Faraon, обратитесь на форум программистов. Данный вопрос уже не относится к разработке игр.
|
|
| |
Faraon | Дата: Среда, 08 Мая 2013, 00:44 | Сообщение # 37 |
почетный гость
Сейчас нет на сайте
| Цитата Faraon, обратитесь на форум программистов. Данный вопрос уже не относится к разработке игр. Я знаю, сичас решаю ету проблему! Спасибо Вам за вашу помощь, если бы не вы мне бы пришлось и дальше ломать голову над этим вопросом! Еще раз оч-очень большое спасибо! Еслы возникнут еще вопрос я могу еще вам в эту тему написать?
|
|
| |
Qvatrik | Дата: Среда, 08 Мая 2013, 00:49 | Сообщение # 38 |
частый гость
Сейчас нет на сайте
| Цитата (Faraon) Еслы возникнут еще вопрос я могу еще вам в эту тему написать? Ну если они будут по теме создания игр - создавайте новую тему и вам ответят.
|
|
| |
Faraon | Дата: Среда, 08 Мая 2013, 01:15 | Сообщение # 39 |
почетный гость
Сейчас нет на сайте
| Я все сделал правельно чтобы были локации? Кроме того што еще нужно добавить сесии и оттуда взять id игрока! Код <html> <head> <link href="css/mapa.css" rel="stylesheet" type="text/css" /> </head> <body>
<?php include_once ("cone.php"); mysql_query("SET NAMES 'cp1251' COLLATE 'cp1251_general_ci'"); $query = "select * from location order by id"; // там много разных операторов, советую почитать в интернете о запросах MySQL $sql = mysql_query($query); $row = mysql_fetch_array($sql); echo "<center>".$row['name']; echo "<br>Описание локации: ".$row['opes']; if($_GET['loc']=="1"){ тело функции апдейта БД на первую локацию} if($_GET['loc']=="2"){ тело функции апдейта БД на вторую локацию} if($_GET['loc']=="3"){ тело функции апдейта БД на третью локацию}
#Оновлення значення поля location у даного гравця відбувається через запит в БД: $query = "update название_таблицы set location='тут_новый_id_локации' where id_user='тут_id_пользователя'"; mysql_query($query);
if($_GET['loc']=="2"){ $query = "UPDATE location_users SET location = 2 WHERE id_user = $userId"; mysql_query($query) }
?>
<a href="/mapa.php?loc=1">локация 1</a> <a href="/mapa.php?loc=2">локация 2</a> <a href="/mapa.php?loc=3">локация 3</a> </center>
</body> </html> </html> ???
|
|
| |
Qvatrik | Дата: Среда, 08 Мая 2013, 19:01 | Сообщение # 40 |
частый гость
Сейчас нет на сайте
| Все правильно, однако этот код: Цитата (Faraon) if($_GET['loc']=="1"){ тело функции апдейта БД на первую локацию} if($_GET['loc']=="2"){ тело функции апдейта БД на вторую локацию} if($_GET['loc']=="3"){ тело функции апдейта БД на третью локацию} Следует закомментировать, потому что он не будет правильно интерпретироваться препроцесором.
Цитата (Qvatrik) $query = "update название_таблицы set location='тут_новый_id_локации' where id_user='тут_id_пользователя'"; mysql_query($query); И этот тоже
Сообщение отредактировал Qvatrik - Среда, 08 Мая 2013, 19:02 |
|
| |