Jump to content

Recommended Posts

Can somebody help me. With the following code, when clicking on see more details the page companydetails must be opened. This happens but no records are showing.

Here is my code:

<?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>Complaints</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">Complaints:</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>Complaints</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

$comp = $_GET['comp'];
 
$sql="SELECT complain 
        FROM complaint c
        WHERE c.d_name = '" . mysql_real_escape_string($comp) . "'";

//-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['complain']."</td>";
	
       
}

echo "<tr>";
echo "<tr>";
echo "<td><a href=\"companydetails.php?company={$debtor['d_name']}\">See more details</a></td>";
mysql_close($db);


 ?> 

And here is the code of the page that is then opened companydetails:

<?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>Order Details</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="775" border="1" cellpadding="1" cellspacing="1">
		<tr>

		<th>Order Number</th>
		<th>Order Description</th>
		<th>Order Date</th>
		<th>Invoice Date</th>
		<th>Delivery Date</th>
		<th>Delivery Number</th>
		<th>Order Amount</th>
		<th>Amount Paid</th>
		<th>Amount Outstanding</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) {

  	
	$sql = "SELECT cd.order_nr, cd.order_description, cd.order_date, cd.invoice_date, cd.delivery_date, cd.delivery_nr, cd.order_amount, cd.amount_paid, cd.amount_outstanding 
        FROM complaint c
        INNER JOIN complaint_details cd USING (complaint_nr)
        WHERE c.d_name = '$company' ";

} 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($complaint_details=mysql_fetch_array($result))
{
	echo "<tr>";
	
	echo "<td>".$complaint_details['order_nr']."</td>";
	
	echo "<td>".$complaint_details['order_description']."</td>";
	
	echo "<td>".$complaint_details['order_date']."</td>";
	
	echo "<td>".$complaint_details['invoice_date']."</td>";
	
	echo "<td>".$complaint_details['delivery_date']."</td>";
	
	echo "<td>".$complaint_details['delivery_nr']."</td>";
	
	echo "<td>".$complaint_details['order_amount']."</td>";
	
	echo "<td>".$complaint_details['amount_paid']."</td>";
	
	echo "<td>".$complaint_details['amount_outstanding']."</td>";
	
       
}
mysql_close($db);


?>

Thank you

Link to comment
https://forums.phpfreaks.com/topic/284831-click-on-text-show-another-page/
Share on other sites

It works on this code when clicking on the company name then the details is shown, but not when I click on see more details of the other code. Here is the code where it works:

<?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>All Companies</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>
		<th>Complaints</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><a href=\"companydetails.php?company={$debtor['d_name']}\">{$debtor['d_name']}</a></td>";
			
	echo "<td>".$debtor['email']."</td>";
	
	echo "<td>".$debtor['companies_not_paid']."</td>";
	
	echo "<td>".$debtor['amount_not_paid']."</td>";
	
	echo "<td><a href=\"complaints.php?comp={$debtor['d_name']}\">Details</a></td>";
       
}
mysql_close($db);


 ?> 

In the code where it works, the reference to $debtor['d_name'] is inside the while() loop.

 

In the one that fails, it isn't.

 

$debtor is set to false at the end of the loop so the reference to it after then is invalid.

 

Turn error reporting on! And as I said before, and you ignored, check the value of $_GET['company']. Had you done these you might have found what the problem was.

Also note that your query needs to be updated to get the data from the "d_name" column. Right now it only retrieves information from the "complain" column.

 

$sql="SELECT complain 
        FROM complaint c
        WHERE c.d_name = '" . mysql_real_escape_string($comp) . "'";
$sql="SELECT d_name, complain 
        FROM complaint c
        WHERE c.d_name = '" . mysql_real_escape_string($comp) . "'";

And a good place to check $_GET value would be in a page that is using it and isn't working correctly

Nothing is displayed when I type in echo $_GET['company'];. Here is another code:

<?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>All Companies</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>
		<th>Complaints</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['email']."</td>";
	
	echo "<td>".$debtor['companies_not_paid']."</td>";
	
	echo "<td>".$debtor['amount_not_paid']."</td>";
	
	echo "<td><a href=\"complaints.php?comp={$debtor['d_name']}\">Details</a></td>";
       
}
mysql_close($db);


 ?>

Here al the companies are displayed. And there is a complaints column with a details option in each row. When there is clicked on details the complaints page is shown, the first code I showed and on that page there is a see more details option that displat the second code I posted. Can someone please help me

Let's start with code I mentioned in #4 where you are using the while() loop. Here's your code - as you can see the d_name is echoed after the loop finished

$comp = $_GET['comp'];
 
$sql="SELECT complain 
        FROM complaint c
        WHERE c.d_name = '" . mysql_real_escape_string($comp) . "'";

//-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['complain']."</td>";
	
       
}

echo "<tr>";
echo "<tr>";
echo "<td><a href=\"companydetails.php?company={$debtor['d_name']}\">See more details</a></td>";
mysql_close($db);

Change to

$comp = $_GET['comp'];
 
$sql="SELECT d_name, complain 
        FROM complaint c
        WHERE c.d_name = '" . mysql_real_escape_string($comp) . "'";

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

//-count results

$numrows=mysql_num_rows($result);

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

echo "<table>";
while($debtor=mysql_fetch_array($result)
{
    echo "<tr>";        
    echo "<td>".$debtor['complain']."</td>";
    echo "<td><a href=\"companydetails.php?company={$debtor['d_name']}\">See more details</a></td>";
    echo "</tr>";   
}
echo "</table>";

mysql_close($db);

Also your HTML code is terrible (being polite here).

 

You have table rows that aren't inside <table>..</table> tags

You are not using end tags (such as </p>, </tr>

The piece of code above should be inside the html <body>..</body> tags and not after the closing </html> tag.

Why would you want it to display only once? Surely you need the link to be unique for each company, and hence allow you to view more information for that particular company...

Edited by paddyfields

Is there maybe a way to display the see more details at the end and only once, because that is why I did not put it into the while? I just want to put it under the table that is displayed

In thatcase you do not need $row['d_name'] at all. You have the company in $comp

$comp = $_GET['comp'];
 
$sql="SELECT complain 
        FROM complaint c
        WHERE c.d_name = '" . mysql_real_escape_string($comp) . "'";

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

//-count results

$numrows=mysql_num_rows($result);

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

echo "<table>";
while($debtor=mysql_fetch_array($result)
{
    echo "<tr>";        
    echo "<td>".$debtor['complain']."</td>";
    echo "</tr>";   
}
echo "</table>";
echo "<br/><a href=\"companydetails.php?company=$comp\">See more details</a>";
<?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>Complaints</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">Complaints:</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>Complaints</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

$comp = $_GET['comp'];
 
$sql="SELECT complain 
        FROM complaint c
        WHERE c.d_name = '" . mysql_real_escape_string($comp) . "'";

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

//-count results

$numrows=mysql_num_rows($result);

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

while($debtor=mysql_fetch_array($result))
{
    echo "<tr>";        
    echo "<td>".$debtor['complain']."</td>";
    echo "</tr>";   
}

echo "<br/><a href=\"companydetails.php?company=$comp\">See more details</a>";

echo "<tr>";
echo "<tr>";

mysql_close($db);


 ?> 

Sorry forfgot to post the code

Perhaps you should spend time reading the replies you have already had before we spend our time on any more

 

 


Also your HTML code is terrible (being polite here).

 

You have table rows that aren't inside <table>..</table> tags

You are not using end tags (such as </p>, </tr>

The piece of code above should be inside the html <body>..</body> tags and not after the closing </html> tag.

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.