Только нижний div обновляет mySQL - PullRequest
0 голосов
/ 30 марта 2012

Понятия не имею почему, но работает только нижний div, код:

  <div id = "Travel_Base">
  <a href="camp.php" > Travel dfgdsgdfg?</a>
  <?php $UpdateLocation = mysql_query("UPDATE locations SET Zelk_Camp = 1, Zelk_Mines = 0,Zelk_CrashSite = 0 WHERE name='$name'"); ?>
  </div>

  <div id = "Travel_Mine">
  <a href="camp.php" >Travel skbgfshflgdgdf? </a>
  <?php $UpdateLocation = mysql_query("UPDATE locations SET Zelk_Camp = 0, Zelk_Mines = 1,Zelk_CrashSite = 0 WHERE name='$name1'"); ?>
  </div>

оба дивизиона должны определить местоположение игрока, игрок будет в этом месте = 1, но когда я нажму на ссылку шахты, это приведет меня к минам, но не другим путем так что работает только нижний div.

Дивы изначально скрыты, а затем появляются, когда я нажимаю на определенное изображение, если оно влияет на него.

Все ответы приветствуются, извините, если слишком неопределенный первый вопрос.

Спасибо

Ответы [ 3 ]

0 голосов
/ 30 марта 2012

Вы ошибаетесь, если хотите, чтобы ваше обновление происходило, когда вы нажимаете на ссылки или когда отображается ваш div.Ваши запросы PHP / MySQL и ваша HTML-страница работают в разных контекстах, поэтому в настоящее время оба ваших запроса отправляются при загрузке страницы, и нажатие на любую ссылку ничего не изменит.(Кроме того, вы, похоже, используете две переменные с одинаковыми именами: $ name и $ name1)

Если вы хотите обновить свою базу данных при переходе по ссылкам без изменения страницы, вам придется выполнить вызов ajaxPHP-файл, выполняющий ваш запрос.Если вы хотите сделать это обновление при переходе на camp.php, просто поместите параметр в строку запроса url и выполните запрос в зависимости от этого параметра.

0 голосов
/ 31 марта 2012

Хорошо, я подозревал способ сделать это без ajax, этот код я использовал на тот случай, если кто-то еще столкнется с такой же проблемой.

 <div id = "TravelBase">
  <?php $Base = '<a href="Location_ZelkCamp.php" > Travel to Planet Zelk Base Camp?</a>';
        $BaseCurrent = '<a href="Location_ZelkCamp.php"> Planet Zelk Base Camp is your current location.</a>';

  $Query = mysql_query("SELECT * FROM locations WHERE name='$Basename'");
        if($Basename  = mysql_fetch_array($Query))
        if($Basename ['Zelk_Camp'] == 0)

 echo $Base;

  else

  echo $BaseCurrent;


  ?>
  </div>

 <div id = "TravelMine">

  <?php $Mine = '<a href="Location_ZelkMine.php" > Travel to Planet Zelk Mine?</a>';
        $MineCurrent = '<a href="Location_ZelkMine.php">Planet Zelk Mine is your current location.</a>';

   $Query = mysql_query("SELECT * FROM locations WHERE name='$Minename'");
        if($Minename = mysql_fetch_array($Query))
        if($Minename ['Zelk_Mines'] == 0)

 echo $Mine;

  else

  echo $MineCurrent;

  ?>
  </div>

Это один файл, но затем у вас есть другой файл

<? include_once("connect.php"); ?>
<?php require("Safe.php"); ?>

<?php $UpdateLocation = mysql_query("UPDATE locations SET Zelk_Camp = 1, Zelk_Mines = 0,Zelk_CrashSite = 0 WHERE name='$name'"); ?>

  <?  header( 'Location: Camp.php' ) ; ?>

Это файл обновления mysql, затем заголовок изменяет мою страницу.
Вы загружаете php-файл в этой строке 'Travel to Planet Zelk Base Camp?'; '

Спасибо всемкто помог мне:)

0 голосов
/ 30 марта 2012

Ваш запрос (обновление) всегда будет возвращать 1, поэтому второй $ UpdateLocation получит значение 1 до загрузки страницы.

Второй всегда будет показывать

...