2 Câu hỏi: Cách gửi dữ liệu và chạy liên kết với dữ liệu đó chỉ bằng một cú nhấp chuột

câu hỏi được tạo ra tại Tue, May 7, 2019 12:00 AM

Tôi muốn gửi dữ liệu vĩ độ và kinh độ để tôi có thể tìm kiếm nó trên Google Map. Những dữ liệu đó phải được chọn từ cơ sở dữ liệu nhưng tôi không thể tìm ra cách thực hiện trong một cú nhấp chuột.

Đây là mã của tôi.

<?php 
$con = mysqli_connect("localhost","root","","project"); 
// Check connection 
if (mysqli_connect_errno()) 
{ 
    echo "Failed to connect to MySQL: " . mysqli_connect_error(); 
}

$result = mysqli_query($con,"SELECT * FROM table1");

echo "<table border='1'> 
    <tr> 
    <th>ID</th> 
    <th>Latitude</th> 
    <th>Longitude</th> 
    <th>Date</th>
    </tr>";

while($row = mysqli_fetch_array($result)) 
{ 
    echo "<tr>"; 
    echo "<td>" . $row['id'] . "</td>"; 
    echo "<td>" . $row['latitude'] . "</td>"; 
    echo "<td>" . $row['longitude'] . "</td>"; 
    echo "<td>" . $row['date'] . "</td>"; 
    echo "<td><a href='./clicktest.php?id=".$row['id']."'>View Location</a></td>"; 
    echo "</tr>"; 
} 
echo "</table>";

mysqli_close($con); 
?>

Và như bạn có thể thấy, nó sẽ gửi giá trị id của một hàng mà tôi muốn đến một trang khác

<?php 
$con=mysqli_connect("localhost","root","","project"); 
if (mysqli_connect_errno()) 
{ 
    echo "Failed to connect to MySQL: " . mysqli_connect_error(); 
}

if(isset($_GET['id'])) {
    $result = "SELECT * FROM table1 WHERE id='".$_GET['id']."'" ;
    $show = mysqli_query($con, $result);
    while($row = mysqli_fetch_array($show)) 
    {
        $latitude = $row['latitude'];
        $longitude = $row['longitude'];
        echo "<a href='http://www.google.com/maps/place/".$latitude.",".$longitude."'>click here</a>";  
    } 
    mysqli_close($con);     
}
?>

Và cuối cùng có thể chạy một liên kết đến Google Map trên trang này. Nhưng điều tôi muốn là nhấp vào 'xem vị trí' trên trang đầu tiên và chuyển đến trang google map có dữ liệu trên hàng đó mà không phải đi qua trang khác và nhấp chuột khác.

Tôi đã thực hiện một số nghiên cứu và có lẽ đây là về AJAX? Và có cách nào để làm điều đó mà không cần sử dụng AJAX không? (Vì tôi chưa bao giờ sử dụng nó trước đây)

Cảm ơn

    
1
  1. AJAX là javascript. Nếu bạn muốn sử dụng nó, bạn sẽ phải giao tiếp với các tệp PHP của mình bằng javascript.
    2019-05-07 17: 45: 03Z
2 Câu trả lời                              2                         

Tôi nghĩ rằng bạn cần liên kết trực tiếp đến trang google maps và sử dụng thuộc tính "target = _blank" trên đó. ví dụ:

echo '<a href="http://www.google.com/maps/place/' . $row['latitude'] . ',' . $row['longitude'] . '" target="_blank">View Location</a>';
    
2
2019-05-07 18: 03: 39Z
  1. Wow. Tôi hoàn toàn quên rằng tôi có thể làm điều đó. Cảm ơn rất nhiều!
    2019-05-07 18: 48: 27Z

Bạn có thể thêm bao nhiêu tham số vào thẻ neo tùy thích, vì vậy, hãy thêm latlong như thế này chẳng hạn

while($row = mysqli_fetch_array($result)) 
{ 
    echo "<tr>"; 
    echo "<td>" . $row['id'] . "</td>"; 
    echo "<td>" . $row['latitude'] . "</td>"; 
    echo "<td>" . $row['longitude'] . "</td>"; 
    echo "<td>" . $row['date'] . "</td>"; 
    echo "<td><a href='./clicktest.php?id=".$row['id']
                .'&lat=' . $row['latitude'] 
                . '&long' . $row['longitude']"'>View Location</a></td>"; 
    echo "</tr>"; 
} 
    
0
2019-05-07 17: 47: 16Z
nguồn đặt đây