#php #html #mysql #mysqli
#php #HTML #mysql #mysqli
Вопрос:
У меня есть форма, в которой пользователь может вводить свои записи об образовании один за другим. На стороне администратора я хочу проверить разницу всех созданных им строк друг с другом.
Структура таблицы
CREATE TABLE `personal_educational_record` (
`Personal_Educational_Id` int(11) NOT NULL AUTO_INCREMENT,
`Personal_Educational_Institute` varchar(5000) NOT NULL,
`Personal_Educational_Level` varchar(5000) DEFAULT NULL,
`Personal_Educational_Subject` varchar(100) NOT NULL,
`Personal_Educational_From` varchar(5000) DEFAULT NULL,
`Personal_Educational_To` varchar(5000) DEFAULT NULL,
`Personal_Educational_Roll_No` varchar(5000) DEFAULT NULL,
`Personal_GPA_Percentage` varchar(255) NOT NULL,
`Persoanl_Educational_CGPA` varchar(5000) DEFAULT NULL,
`Personal_Educational_Filled` int(11) NOT NULL,
`Is_changed` int(11) NOT NULL DEFAULT 1,
`Date` varchar(5000) DEFAULT NULL,
`User_Id` varchar(500) NOT NULL,
`Request_Id` int(11) NOT NULL DEFAULT 0,
PRIMARY KEY (`Personal_Educational_Id`),
KEY `User_Id` (`User_Id`)
) ENGINE=InnoDB AUTO_INCREMENT=213 DEFAULT CHARSET=latin1
Я извлек запись с помощью php, как показано ниже:
<table width="100%" border="1" style=" border: 1px solid black;border-collapse: collapse; text-align:left ; font-size:11px; overflow:wrap; ">
<tr style="background-color: lightblue; " >
<th style=" border: 1px solid black;border-collapse: collapse; text-align:left ; font-size:11px; text-align:left ; font-size:11px;">Sr #</th>
<th style=" border: 1px solid black;border-collapse: collapse; text-align:left ; font-size:11px; text-align:left ; font-size:11px;">Level</th>
<th style=" border: 1px solid black;border-collapse: collapse; text-align:left ; font-size:11px; text-align:left ; font-size:11px;">Subject</th>
<th style=" border: 1px solid black;border-collapse: collapse; text-align:left ; font-size:11px; text-align:left ; font-size:11px;">Educational Institute</th>
<th style=" border: 1px solid black;border-collapse: collapse; text-align:left ; font-size:11px; text-align:left ; font-size:11px;">Roll No (New entrants to indicate Roll No of exams passed)</th>
<th style=" border: 1px solid black;border-collapse: collapse; text-align:left ; font-size:11px; text-align:left ; font-size:11px;">From</th>
<th style=" border: 1px solid black;border-collapse: collapse; text-align:left ; font-size:11px; text-align:left ; font-size:11px;">To</th>
<th style=" border: 1px solid black;border-collapse: collapse; text-align:left ; font-size:11px; text-align:left ; font-size:11px;">GPA / Percentage</th>
</tr>
<tr >
<td style=" border: 0px solid black;border-collapse: collapse; " colspan=8>
<div style="text-align: center"><u><b>ORIGINAL DATA</b></u></div>
</td>
</tr>
<tbody>
<?php
SELECT * from personal_educational_record where User_Id = '5692' and Request_Id='117' ORDER BY Personal_Educational_Id
$res_cus = mysqli_query($connection, $query);
$count_row= mysqli_num_rows($res_cus);
while ($row = mysqli_fetch_array($res_cus)) {
?>
<tr>
<td style=" border: 1px solid black;border-collapse: collapse; text-align:left ; font-size:11px;">'
.$count.
'</td>
<td style=" border: 1px solid black;border-collapse: collapse; text-align:left ; font-size:11px;">'
.strtoupper($row['Personal_Educational_Level']).
'</td>
<td style=" border: 1px solid black;border-collapse: collapse; text-align:left ; font-size:11px;">'
.strtoupper($row['Personal_Educational_Subject']).
'</td>
<td style=" border: 1px solid black;border-collapse: collapse; text-align:left ; font-size:11px;">'
.strtoupper($row['Personal_Educational_Institute']).
'</td>
<td style=" border: 1px solid black;border-collapse: collapse; text-align:left ; font-size:11px;">'
.strtoupper($row['Personal_Educational_Roll_No']).
'</td>
<td style=" border: 1px solid black;border-collapse: collapse; text-align:left ; font-size:11px;">'
.strtoupper($Personal_Educational_From).
'</td>
<td style=" border: 1px solid black;border-collapse: collapse; text-align:left ; font-size:11px;">'
.strtoupper($Personal_Educational_To).
'</td>
<td style=" border: 1px solid black;border-collapse: collapse; text-align:left ; font-size:11px;">'
.strtoupper($row['Persoanl_Educational_CGPA']).'amp;nbsp;'.strtoupper($row['Personal_GPA_Percentage']).
'</td>
</tr>
<?php
$count ; }
?>
Вывод:
sr# Level Subject Institute Name Roll # FROM TO Percentage / CGPA / GRADE
1 SSC/EQV SCIENCE MUSLIM TOWN 0000 22-10-2008 22-10-2009 52 %
2 SSC/EQV SCIENCE MUSLIM TOWN 123 22-10-2008 22-10-2009 52 %
3 HSSC/EQV SCIENCE IDEAL CAMBRIDGE 88888 22-11-2010 22-11-2012 A GRADE
4 HSSC/EQV MATHS IDEAL CAMBRIDGE 88888 22-11-2010 22-11-2012 B GRADE
5 BACHELORS SOFTWARE FUUAST 7654567 22-02-2222 11-11-1111 3.01 CGPA
Теперь в приведенном выше выводе sr # 1 и sr # 2 имеют разные записи для столбца #, а sr # 3 и sr # 4 имеют разные записи для темы столбца.
Теперь я хочу выделить столбец или строку, в которых есть разные данные из другой строки
мои усилия
SELECT * from personal_educational_record INNER JOIN (SELECT * FROM personal_educational_record GROUP BY Personal_Educational_Id HAVING COUNT(Personal_Educational_Id) >1 )temp ON personal_educational_record.Personal_Educational_Id=temp.Personal_Educational_Idwhere personal_educational_record.User_Id = '5692' and personal_educational_record.Request_Id='117'
Комментарии:
1. Теперь я хочу выделить столбец или строку, в которых есть разные данные из другой строки , просто представьте, что у вас есть ТРИ строки, которые отличаются только в одном столбце… что вы хотите выделить? То же самое, когда две строки идентичны, но третья отличается… И вы должны определить комбинацию столбцов или столбцов, равенство которых означает, что эта пара строк должна сравниваться (например, нужно ли сравнивать строки 3 и 4 в ваших образцах данных?).
2. Привет, Акина, спасибо за ваш комментарий, я хочу найти и выделить все не совпадающие столбцы, такие как первая строка со второй строкой, затем вторая строка с третьей строкой, затем третья строка с четвертой строкой и так далее .. и выделить непревзойденный столбец
3. Вы хотите сравнить каждую строку с предыдущей строкой и выделить разницу между текущей и предыдущей? т.Е. строка 2 сравнивается со строкой 1 и
Roll #
выделяется в строке 2, затем строка 3 сравнивается со строкой 2 и выделяет все поля, кромеSubject
, и так далее?4. да, вы правы
5. Если это так, извлеките строку и сохраните ее в массиве / переменных, затем, при извлечении и отображении следующей строки, сравните и выделите, когда предыдущие и текущие значения отличаются.