Jump to content

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' ";
Edited by Barand

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

This thread is more than a year old. Please don't revive it unless you have something important to add.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • 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.