I wrote a MySQL query in my PHP code to join two tables, but I don't want all the columns in the result
My place details table:
My registration table:
My Code
<?php
$con= mysqli_connect("localhost", "root", "", "project");
if(!$con)
{
die('not connected');
}
$result= mysqli_query($con, "SELECT placedetails.name,placedetails.doj,placedetails.total,placedetails.stay,placedetails.food,placedetails.travel,registration.username
FROM placedetails inner join registration on placedetails.id=registration.id ;" );
?>
<div class="container">
<CENTER><h2>view Booking Details</h2>
<table class="table table-bordered">
<th>place</th>
<th>Travelling Date</th>
<th>Total Cost</th>
<th>Stay cost</th>
<th>Food cost</th>
<th>Travelling cost</th>
<th>User ID</th>
<?php
while($row =mysqli_fetch_array($result))
{
?>
<tr>
<td><?php echo $row['name']; ?></td>
<td><?php echo $row['doj']; ?></td>
<td><?php echo $row['total'] ;?></td>
<td><?php echo $row['stay'] ;?></td>
<td><?php echo $row['food'] ;?></td>
<td><?php echo $row['travel'] ;?></td>
<td><?php echo $row['username'] ;?></td>
<td><img src='".$row['choose']."'/></td>";
</tr>
<?php
}
?>
</table>
</div>
i wrote my code,its executing but the problem is the data is not executing,can someone please help me out with my problem.
MysqlAdmin
In your table place details create a new entry call ID_regist. After that change or give a number that correspond to your id in tabel Regist.
code php
For the connection create a connection.php.
<?php
$con= mysqli_connect("localhost", "root", "", "project");
if(!$con)
{
die('not connected');
}
?>
Makes your database more difficult to attack
Main code
<?php
include("connection.php");
?>
<div class="container">
<CENTER><h2>view Booking Details</h2>
<table class="table table-bordered">
<th>place</th>
<th>Travelling Date</th>
<th>Total Cost</th>
<th>Stay cost</th>
<th>Food cost</th>
<th>Travelling cost</th>
<th>User ID</th>
<?php
$sql=
"SELECT ".
"pld.name, ".
"pld.doj, ".
"pld.total, ".
"pld.stay, ".
"pld.food, ".
"pld.travel, ".
"pld.username ".
"FROM placedetails pld ".
"inner join registration reg ".
"on pld.ID_regist=reg.id;";
$result= mysqli_query($con, $sql);
if($result){
while($row =mysqli_fetch_array($result))
{
?>
<tr>
<td><?php echo $row['name']; ?></td>
<td><?php echo $row['doj']; ?></td>
<td><?php echo $row['total'] ;?></td>
<td><?php echo $row['stay'] ;?></td>
<td><?php echo $row['food'] ;?></td>
<td><?php echo $row['travel'] ;?></td>
<td><?php echo $row['username'] ;?></td>
<td><img src='".$row['choose']."'/></td>"; // first there is no row, call chose
</tr>
<?php
}
}
else{
die("Error"); //Something of the type mysqli_error(connection);
}
?>
</table>
</div>
Attention to the row call chose, that you don't use in your sql query. If that does not solve your problems, tell me what happens when I try to help you.
You have to alter the place table and add registration_id. Then join with this field.
SELECT placedetails.name,placedetails.doj,placedetails.total,placedetails.stay,placedetails.food,placedetails.travel,registration.username
FROM placedetails inner join registration on registration.id=place.registration_id