Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- mysql report from two tables
- @. You must create these TWO reports dynamicaly.
- @. You can create only ONE PHP script for these two reports.
- <?php // error_reporting(0);
- $dbhost = "localhost"; // this will ususally be 'localhost', but can sometimes differ
- $dbuser = "root"; // the username that you created, or were given, to access your database
- $dbpass = ""; // the password that you created, or were given, to access your database
- $conn=mysql_connect($dbhost, $dbuser, $dbpass) or die("MySQL Error: " . mysql_error());
- mysql_select_db('exam');
- $query=mysql_query("SELECT t_users.user_fname ,t_marks.subject,t_marks.marks FROM t_users,t_marks WHERE t_users.user_id=t_marks.user_id ORDER BY t_users.user_fname")or die(mysql_error());;
- echo '<table border="1" cellpadding="5" cellspacing="0"><thead bgcolor="#CCFF99">
- <tr>
- <td>USER NAME</td>
- <td>SUBJECT</td>
- <td>MARKS</td>
- </tr></thead>';
- //fetching results of query
- while($raw = mysql_fetch_array($query)){
- $user_fname1=$raw['user_fname'];
- $subject=$raw['subject'];
- $marks=$raw['marks'];
- echo "<tr>
- <td>$user_fname1</td>
- <td>$subject</td>
- <td>$marks</td>
- </tr>";
- }
- echo '</table><br /><br />';
- //////////////////////////////////////////////////////
- //////////////////////SECONED REPORT////////////////////////////////
- //////////////////////////////////////////////////////
- $query=mysql_query("SELECT t_users.user_fname ,t_marks.subject,t_marks.marks FROM t_users,t_marks WHERE t_users.user_id=t_marks.user_id ORDER BY t_users.user_fname")or die(mysql_error());
- echo '<table border="1" cellpadding="5"cellspacing="0" >
- <thead bgcolor="#99CCFF"><tr>
- <td rowspan="2">USER NAME</td>
- <td colspan="3">SUBJECT</td>
- <td rowspan="2">TOTAL</td>
- </tr>
- <tr>
- <td>MATHS</td>
- <td>SCIENCE</td>
- <td>GEOGRPHY</td>
- </tr></thead>';
- $i=-1;
- //fetching results of query
- while($raw = mysql_fetch_array($query)){
- $i++;
- $user_f=$raw['user_fname'];
- //storeing user_fname in to a array
- $user_fname2[]=$raw['user_fname'];
- //removing multiple values of array and resetinig array key
- $newuser_fname=array_values(array_unique($user_fname2));
- $subject=$raw['subject'];
- $marks=$raw['marks'];
- //creating new arrays marks and subjects for each user_name ,
- //array naming with user_name as prefix
- ${$user_f.'marks'}[]=$raw['marks'];
- ${$user_f.'subject'}[]=$raw['subject'];
- }
- //creating table row for each user_name
- foreach($newuser_fname as $name)
- {
- //counting num of subjects
- $num=count(${$name.'subject'});
- for($i=0;$i<$num;$i++)
- {
- //maching each mark and subject to suitable column
- switch(${$name.'subject'}[$i])
- {
- //creating uniq variable using user_name for each student's marks
- case "maths":
- ${'marks1'.$name}=${$name.'marks'}[$i];
- break;
- case "science":
- ${'marks2'.$name}=${$name.'marks'}[$i];
- break;
- case "geography":
- ${'marks3'.$name}=${$name.'marks'}[$i];
- break;
- }
- }
- echo "<tr>
- <td>$name</td>
- <td>".@${'marks1'.$name}."</td>
- <td>".@${'marks2'.$name}."</td>
- <td>".@${'marks3'.$name}."</td>
- <td>".@(${'marks1'.$name}+${'marks2'.$name}+${'marks3'.$name})."</td>
- </tr>";
- }
- echo '</table>';
- ?>
Add Comment
Please, Sign In to add comment