Jump to content

Click on record and then show details


Parkie02

Recommended Posts

Can someone maybe help me. If I click on a record for instance d_name I want to show another another page that will contain the details of that record, the details is stored in a database table. What I want to do is if I click of the name of the company (d_name) then a new page must open which shows the information about that company that I will create.

 

Here is my code:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"><head>
  <title>Search</title>
  <meta name="description" content="">
  <meta name="keywords" content="">
  <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
  <link href="css/style.css" rel="stylesheet" type="text/css">
</head>
<body>
<div class="main">
<div class="page">
<div class="header">
<div class="header-img">
<h1>Who Didn't Pay</h1>
<p> </p>
</div>
<div class="menu">
<ul>
  <li><a href="index.php">Home</a></li>
  <li><a href="registration.php">Register</a></li>
  <li><a href="complaint.php">Complaint</a></li>
  <li><a href="search.php">Search</a></li>
  <li><a href="#">Contact Us</a></li>
  <li><a href="login.php">Login</a></li>
  <li><a href="logout.php">Logout</a></li>
  
</ul>
</div>
</div>
<div class="content">
<div class="left-panel">
<div class="left-panel-in">
<h2 class="title">All Companies:</h2>

<p> </p>
<p>

</p>
<p>
 <form  method="post" action="allcompanies.php?go"  id="showallform">  
        <p> </p>
		<p> </p>
		  
		<table width="600" border="1" cellpadding="1" cellspacing="1">
		<tr>

		<th>Company Name</th>
		<th>Email</th>
		<th>Companies not Paid</th>
		<th>Amount not Paid</th>
		<tr>
		  
 </form>


 </p>


</body></html>


 <?php

//connect to the database
$db=mysql_connect ("localhost", "root", "mj2015") or die ('I cannot connect to the database because: ' . mysql_error()); 

//-select the database to use
$mydb=mysql_select_db("whodidntpay");

//-query the database table

$sql="SELECT d_name,email,companies_not_paid,amount_not_paid FROM debtor ORDER BY d_name";

//-run the query against the mysql query function
$result=mysql_query($sql);

//-count results

$numrows=mysql_num_rows($result);

echo "<p>" .$numrows . " results found "; 


while($debtor=mysql_fetch_array($result))
{
	echo "<tr>";
	
	echo "<td>".$debtor['d_name']."</td>";
	
	echo "<td>".$debtor['email']."</td>";
	
	echo "<td>".$debtor['companies_not_paid']."</td>";
	
	echo "<td>".$debtor['amount_not_paid']."</td>";
       
}
mysql_close($db);


?>

I now want to click on a company name and then a page must be shown with the details of the company. Thank you

Link to comment
https://forums.phpfreaks.com/topic/284678-click-on-record-and-then-show-details/
Share on other sites

Where I had "company.php" then that should be the name of the page you want to link to.

 

On that page use something like

$company = isset($_GET['company']) ? $_GET['company'] : '';

if ($company) {

    // query your database table for the company record and display
    // using "... WHERE d_name = '$company' "

} else {

//  error - no company selected, return to company list page

}

Can you maybe help me from here. Here is my allcompanies php code that displays all the companies:

<?php
session_start();

?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"><head>
  <title>Search</title>
  <meta name="description" content="">
  <meta name="keywords" content="">
  <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
  <link href="css/style.css" rel="stylesheet" type="text/css">
</head>
<body>
<div class="main">
<div class="page">
<div class="header">
<div class="header-img">
<h1>Who Didn't Pay</h1>
<p> </p>
</div>
<div class="menu">
<ul>
  <li><a href="index.php">Home</a></li>
  <li><a href="registration.php">Register</a></li>
  <li><a href="complaint.php">Complaint</a></li>
  <li><a href="search.php">Search</a></li>
  <li><a href="#">Contact Us</a></li>
  <li><a href="login.php">Login</a></li>
  <li><a href="logout.php">Logout</a></li>
  
</ul>
</div>
</div>
<div class="content">
<div class="left-panel">
<div class="left-panel-in">
<h2 class="title">All Companies:</h2>

<p> </p>
<p>

</p>
<p>
 <form  method="post" action="allcompanies.php?go"  id="showallform">  
        <p> </p>
		<p> </p>
		  
		<table width="600" border="1" cellpadding="1" cellspacing="1">
		<tr>

		<th>Company Name</th>
		<th>Email</th>
		<th>Companies not Paid</th>
		<th>Amount not Paid</th>
		<tr>
		  
 </form>


 </p>


</body></html>


 <?php

//connect to the database
$db=mysql_connect ("localhost", "root", "") or die ('I cannot connect to the database because: ' . mysql_error()); 

//-select the database to use
$mydb=mysql_select_db("whodidntpay");

//-query the database table

$sql="SELECT d_name,email,companies_not_paid,amount_not_paid FROM debtor ORDER BY d_name";

//-run the query against the mysql query function
$result=mysql_query($sql);

//-count results

$numrows=mysql_num_rows($result);

echo "<p>" .$numrows . " results found "; 


while($debtor=mysql_fetch_array($result))
{
	echo "<tr>";
	
	echo "<td><a href=\"companydetails.php?company={$debtor['d_name']}\">{$debtor['d_name']}</a></td>";
	
	//echo "<td>".$debtor['d_name']."</td>";
	
	echo "<td>".$debtor['email']."</td>";
	
	echo "<td>".$debtor['companies_not_paid']."</td>";
	
	echo "<td>".$debtor['amount_not_paid']."</td>";
       
}
mysql_close($db);


?>

And here is the companydetails php that I want to display when there is clicked on a company name:

<?php
session_start();

?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"><head>
  <title>Search</title>
  <meta name="description" content="">
  <meta name="keywords" content="">
  <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
  <link href="css/style.css" rel="stylesheet" type="text/css">
</head>
<body>
<div class="main">
<div class="page">
<div class="header">
<div class="header-img">
<h1>Who Didn't Pay</h1>
<p> </p>
</div>
<div class="menu">
<ul>
  <li><a href="index.php">Home</a></li>
  <li><a href="registration.php">Register</a></li>
  <li><a href="complaint.php">Complaint</a></li>
  <li><a href="search.php">Search</a></li>
  <li><a href="#">Contact Us</a></li>
  <li><a href="login.php">Login</a></li>
  <li><a href="logout.php">Logout</a></li>
  
</ul>
</div>
</div>
<div class="content">
<div class="left-panel">
<div class="left-panel-in">
<h2 class="title">Details:</h2>

<p> </p>
<p>

</p>
<p>
 <form  method="post" action="companydetails.php?go"  id="showallform">  
        <p> </p>
		<p> </p>
		  
		<table width="600" border="1" cellpadding="1" cellspacing="1">
		<tr>

		<th>Order Number</th>
		<th>Amount Paid</th>
		<tr>
		  
 </form>


 </p>


</body></html>


 <?php

//connect to the database
$db=mysql_connect ("localhost", "root", "") or die ('I cannot connect to the database because: ' . mysql_error()); 

//-select the database to use
$mydb=mysql_select_db("whodidntpay");

//-query the database table

$company = isset($_GET['company']) ? $_GET['company'] : '';

if ($company) {

    $getnr="SELECT complaint_nr FROM complaint WHERE d_name ='company'";
	
	$sql="SELECT order_nr,amount_paid FROM complaint_details WHERE complaint_nr = $getnr";

} else {

	echo "<script>alert('No details')</script>";

}

//-run the query against the mysql query function
$result=mysql_query($sql);

//-count results

$numrows=mysql_num_rows($result);

echo "<p>" .$numrows . " results found "; 


while($debtor=mysql_fetch_array($result))
{
	echo "<tr>";
	
	echo "<td>".$complaint_details['order_nr']."</td>";
	
	echo "<td>".$complaint_details['amount_paid']."</td>";
	
       
}
mysql_close($db);


?>

Two problems with this query

 

 

$getnr="SELECT complaint_nr FROM complaint WHERE d_name ='company'";

 

1. "company" should be "$company"

2. the query never gets called.

 

You don't need the two queries, a single joined query will do the job more efficiently

$sql = "SELECT cd.order_nr, cd.amount_paid 
        FROM complaint c
        INNER JOIN complaint_details cd USING (complaint_nr)
        WHERE c.d_name = '$company' ";

Thank you. Just still one slight problem. Maybe my query is wrong. There can be more than one complaint_details of a company. I want to display all the records. In the complaint table there is the company name d_name and a complaintnr. In complaint_details there is the complaintnr and all the other details. Can you maybe assit me with the query

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.