如何通过单击发送数据并运行包含该数据的链接

如何通过单击发送数据并运行包含该数据的链接

问题描述:

I want to send latitude and longitude data so I can search it up on Google Map. Those data has to be selected from a database but I can't figure how to do it in one click.

Here is my code.

<?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); 
?>

And as you can see, it sends the id value of a row that I want to another page which is

<?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);     
}
?>

And finally can run a link to Google Map on this page. But what I want is to click on the 'view location' on the first page and jump to the google map page with data on that row without having to go through another page and another click.

I did some research and maybe this is about AJAX? And are there any ways to do it without using AJAX?(since I never use it before)

Thanks

I think you need to directly link to google maps page and use "target=_blank" attribute on it. for example:

echo '<a href="http://www.google.com/maps/place/' . $row['latitude'] . ',' . $row['longitude'] . '" target="_blank">View Location</a>';

You can add as many parameter to the anchor tag as you like, so add the lat and long like this for example

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>"; 
}