Parkie02 Posted December 10, 2013 Share Posted December 10, 2013 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 Quote Link to comment https://forums.phpfreaks.com/topic/284678-click-on-record-and-then-show-details/ Share on other sites More sharing options...
Barand Posted December 10, 2013 Share Posted December 10, 2013 output the d_name as a link, passing the company in the url querystring echo "<td><a href=\"company.php?company={$debtor['d_name']}\">{$debtor['d_name']}</a></td>"; Quote Link to comment https://forums.phpfreaks.com/topic/284678-click-on-record-and-then-show-details/#findComment-1461928 Share on other sites More sharing options...
Parkie02 Posted December 10, 2013 Author Share Posted December 10, 2013 I am new to php can you maybe assist me where to put what. The link page will look the same just with another query that look something like this $sql="SELECT d_name,adress FROM details "; of the d_name that is clicked Quote Link to comment https://forums.phpfreaks.com/topic/284678-click-on-record-and-then-show-details/#findComment-1461930 Share on other sites More sharing options...
Parkie02 Posted December 10, 2013 Author Share Posted December 10, 2013 I got it right to show the name as a link. How can I now reference it in another sql query. When I click on the name I want to display a page with the details of the company Quote Link to comment https://forums.phpfreaks.com/topic/284678-click-on-record-and-then-show-details/#findComment-1461934 Share on other sites More sharing options...
Barand Posted December 10, 2013 Share Posted December 10, 2013 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 } Quote Link to comment https://forums.phpfreaks.com/topic/284678-click-on-record-and-then-show-details/#findComment-1461941 Share on other sites More sharing options...
Parkie02 Posted December 10, 2013 Author Share Posted December 10, 2013 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); ?> Quote Link to comment https://forums.phpfreaks.com/topic/284678-click-on-record-and-then-show-details/#findComment-1461943 Share on other sites More sharing options...
Barand Posted December 10, 2013 Share Posted December 10, 2013 (edited) 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 December 10, 2013 by Barand Quote Link to comment https://forums.phpfreaks.com/topic/284678-click-on-record-and-then-show-details/#findComment-1462014 Share on other sites More sharing options...
Parkie02 Posted December 11, 2013 Author Share Posted December 11, 2013 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 Quote Link to comment https://forums.phpfreaks.com/topic/284678-click-on-record-and-then-show-details/#findComment-1462044 Share on other sites More sharing options...
Parkie02 Posted December 11, 2013 Author Share Posted December 11, 2013 At the moment only one record is displayed Quote Link to comment https://forums.phpfreaks.com/topic/284678-click-on-record-and-then-show-details/#findComment-1462045 Share on other sites More sharing options...
Barand Posted December 11, 2013 Share Posted December 11, 2013 That query should find all matching records Quote Link to comment https://forums.phpfreaks.com/topic/284678-click-on-record-and-then-show-details/#findComment-1462046 Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.