Member 14140112 Ответов: 1

Mysql SELECT / query из выпадающего меню HTML


Привет,

Я создал HTML-форму, которая будет использоваться для запроса к базе данных MySQL, результат запроса будет отображаться на моем Google Map API.

Метод SELECT работает, когда я использовал обычный текст, но не работал при использовании выпадающего меню из HTML

УСПЕШНЫЙ ЗАПРОС :
$query = "SELECT * FROM table_p WHERE nama_provinsi='JAWA TIMUR' ";

НЕУДАЧНЫЙ ЗАПРОС :
$query = "SELECT * FROM table_p WHERE nama_provinsi='$nama_provinsi' ";


Что я уже пробовал:

<?php
require("koneksi.php");

$nama_provinsi = $_POST['nmprovinsi'];
echo $nama_provinsi;

function parseToXML($htmlStr)
{
$xmlStr=str_replace('<','<',$htmlStr);
$xmlStr=str_replace('>','>',$xmlStr);
$xmlStr=str_replace('"','"',$xmlStr);
$xmlStr=str_replace("'",''',$xmlStr);
$xmlStr=str_replace("&",'&',$xmlStr);
return $xmlStr;
}

$connection=mysqli_connect ($db_host, $db_user, $db_pass);
if (!$connection) {
  die('Not connected : ' . mysqli_error());
}

$db_selected = mysqli_select_db($connection,$db_name);
if (!$db_selected) {
  die ('Can\'t use db : ' . mysqli_error());
}

$query = "SELECT * FROM table_p WHERE nama_provinsi='$nama_provinsi' ";

$result = mysqli_query($connection,$query);
if (!$result) {
  die('Invalid query: ' . mysqli_error());
}

header("Content-type: text/xml");

// Start XML file, echo parent node
echo "<?xml version='1.0' ?>";
echo '<table_p>';
$ind=0;
// Iterate through the rows, printing XML nodes for each
while ($row = @mysqli_fetch_assoc($result)){
  // Add to XML document node
  echo '<marker ';
  echo 'id="' . $row['id'] . '" ';
  echo 'Properti="' . parseToXML($row['Properti']) . '" ';
  echo 'Alamat="' . parseToXML($row['Alamat']) . '" ';
  echo 'Luas="' . parseToXML($row['Luas']) . '" ';
  echo 'Harga="' . parseToXML($row['Harga']) . '" ';
  echo 'status="' . parseToXML($row['status']) . '" ';
  echo 'Fasilitas="' . parseToXML($row['Fasilitas']) . '" ';
  echo 'Nama="' . parseToXML($row['Nama']) . '" ';
  echo 'Kontak="' . parseToXML($row['Kontak']) . '" ';
  echo 'lat="' . $row['lat'] . '" ';
  echo 'lng="' . $row['lng'] . '" ';
  echo '/>';
  $ind = $ind + 1;
}

// End XML file
echo '</table_p>';

?>



Ниже приведена HTML-форма выбора, которую я использовал для этого запроса

<select name="nmprovinsi" id="idprovinsi" class="dropdown_item_select">
    <option value="1" >JAWA TIMUR</option>
          <?php
          // Load file koneksi.php
          include "koneksi.php";

          $sql = mysqli_query($konekan, "SELECT DISTINCT(nama_provinsi) AS nama_provinsi FROM table_p ORDER BY nama_provinsi");

          while($data = mysqli_fetch_array($sql)){
            echo "<option value='".$data['nama_provinsi']."'>".$data['nama_provinsi']."</option>";
          }

          ?>
</select>

Bryian Tan

Вывел ли echo $nama_provinsi; правильный выбор?

Member 14140112

Привет Брайан Тан, пожалуйста, смотрите на дополнительный сценарий, который я добавил к своим вопросам,
есть какие-нибудь проблемы с echo$nama_provinsi ?

Chad3F

Если вы не используете полные заполнители (идеал), то, по крайней мере, избежите ваших ненадежных значений SQL:

$nama_provinsi = mysqli_real_escape_string($nama_provinsi);

$query = "SELECT * FROM table_p WHERE nama_provinsi='$nama_provinsi' ";

Chad3F

Возможно, вы захотите использовать htmlspecialchars() вместо того чтобы катать свои собственные parseToXML() функция.

Member 10025491

mungkin maksudnya, pastikan output dari $nama_provinsi nya ada. жике $_POST, где Дари $nama_provinsi езидок ада, dapat dipastikan Калау хасил seleksi Дари запроса ня Акан косне. #CMIIW

1 Ответов

Рейтинг:
1

Pratishkumar Kushwaha

Братан,
Я проверю ваш код ваш код запроса из текущего, но MySQL не текущую бро

$sql = mysqli_query($konekan, "SELECT DISTINCT(nama_provinsi) AS nama_provinsi FROM table_p ORDER BY nama_provinsi");


чтобы заменить

$sql = mysqli_query($konekan, "SELECT DISTINCT('nama_provinsi') AS 'nama_provinsi' FROM `table_p` ORDER BY 'nama_provinsi'");


имя таблицы используйте ` эту запятую
и имя, коль использовать это запятая

и сначала ваш запрос выполняется в команде mysql, а затем вы можете использовать веб-сайт bro
хорошая покупка...