Сделать данные запроса стать ссылкой

0

Как упоминалось в названии, я хотел бы знать, как заставить обработанные данные стать ссылкой на другой файл php. Например, ссылаясь на прилагаемый ниже рисунок, я хотел бы показать все города Соединенных Штатов, просто щелкнув по нему, и то же самое касается Соединенного Королевства. Я хочу сделать это, когда я нажимаю на любое из состояний, ссылка на файл php для него автоматически узнает, какое состояние я выбрал, и создаю соответствующие города.

Изображение 174551

Ниже приведен мой код:

<html>

  <head><title>State</title></head>

<body>

<?php

 $dbh = pg_connect("host=localhost dbname=state user=postgres");

if (!$dbh) {
    die("Error in connection: " . pg_last_error());
}

$sql = "SELECT * FROM state ";



 echo "<table>";
 echo "<table border=\"1\" align=\"center\">";
 echo "<tr>";
 echo "<th>ID</th>";
 echo "<th>State</th>";
 echo "</tr>";


$result = pg_query($dbh, $sql);

if (!$result) {

    die("Error in SQL query: " . pg_last_error());

}

while ($column = pg_fetch_array($result)) {

echo "<tr>";
echo "<td>".$column[0]."</td>";
echo "<td>".$column[1]."</td>";   
echo "</tr>";

}

echo "</table>";


pg_free_result($result);


pg_close($dbh);


?>

  </body>

</html>
  • 1
    Это совсем не сложно. Что вы пробовали?
  • 0
    @JohnConde я извиняюсь, но я новичок ... я могу создать нормальную ссылку .. но я не знаю, как создать ссылку для данных запроса .. не могли бы вы быть любезны, чтобы дать мне некоторое руководство ... заранее спасибо !
Показать ещё 2 комментария
Теги:

1 ответ

1
Лучший ответ

в вашем текущем файле php:

// Replace your while statement in your code above with this...
$row_counter = 0; 
while ($row = pg_fetch_array($result,$row_counter,PGSQL_ASSOC)) { 

   echo "<tr>";
   echo "<td>".$row['id']."</td>";
   echo "<td><a href='state.php?id=".$row['id']."'>".htmlentities($row['state'])."</a></td>";
   echo "</tr>"; 

   $row_counter++; 
} 

И в другом файле php, скажем, state.php, вы можете запустить что-то вроде этого:

$state_id = $_GET['state_id'];

// connect to database...

$sql = "SELECT * FROM some_table WHERE state_id = '".pg_escape_string($state_id)."'";

// run your query...

Примечание. htmlentities предотвратят проблемы XSS, а pg_escape_string поможет предотвратить SQL-инъекцию (но исследования, подготовленные для лучшего подхода).

  • 0
    спасибо большое мужик .. я проверяю это
  • 0
    И в конце концов вы захотите отделить ваш PHP-код от вашего HTML-кода. Собрать их вместе, как это может быть очень грязно, очень быстро. Что-то вроде «state.php» и «state_view.php», где state_view.php будет иметь только HTML и несколько переменных PHP или, самое большее, простой цикл. Вы можете «включить» этот файл из state.php и просто передать переменные. В идеале вы должны в конечном итоге создать какой-то класс для обработки передачи ваших данных из PHP в ваше представление. Изучите MVC шаблон проектирования. Удачи, выберите мой ответ, если это помогло.
Показать ещё 3 комментария

Ещё вопросы

Сообщество Overcoder
Наверх
Меню