Ich habe hoch und niedrig für eine Antwort oder sogar Tutorial, wie dies zu tun.PHP Highlight Tabelle Reihen von doppelten Werten von MySQL
Ich habe eine Tabelle, die einige Daten enthält. Die Daten werden in einer HTML-Tabelle angezeigt.
Was ich tun möchte, ist markieren Sie Zeilen, die doppelte Werte haben.
Unten sind die tatsächlichen Daten in meiner Tabelle. Einige davon enthalten Duplikate.
Alpha Tag Frequency Country Usage Programmed
WILD 3 151.50500 USA No
WILD 2 151.51500 USA No
PKALT1 151.57000 USA No
QAP 151.59500 USA No
LKJ 2 151.68500 USA No
WILD 4 151.74000 USA No
SUMMIT 151.77500 USA No
ALYE 6 151.80500 USA No
PKALT2 151.82000 USA No
MURS 151.82 151.82000 USA No
ALYE 5 151.83500 USA No
PNALT1 151.88000 USA No
MURS 151.88 151.88000 USA No
H ROAD 151.92500 USA No
PNALT2 151.94000 USA No
MURS 151.94 151.94000 USA No
MBCON2 151.95500 USA No
ALYE 4 152.30000 USA No
WBI K 152.91500 USA No
MBCON1 152.93000 USA No
WILD 1 152.99000 USA No
ALCHWY 153.03500 USA No
ALYE 7 153.05000 USA No
WBI A2 153.15500 USA No
AMB 2 154.05000 USA No
LADD 1 154.10000 CA No
AK RL2 154.31500 USA No
LADD 3 154.32500 CA No
AMB 1 154.38500 USA No
WLD EQ 154.54000 USA No
MURS 154.57 - Blue Dot 154.57000 USA No
MURS 154.60 - Green Dot 154.60000 USA No
B SHIT 154.60000 USA No
KPD 154.72500 USA No
FPD 155.01000 USA No
AROW 1 155.19000 USA No
WPD 155.37000 USA No
MOA 155.82000 USA No
DOT 2 156.12000 USA No
ALYE 1 157.43000 USA No
LKJ 1 157.66500 USA No
ALYE 2 158.28000 USA No
ALYE 3 158.33500 USA No
LADD 2 158.94000 CA No
DOT 1 159.13000 USA No
LTIHNS 159.63000 USA No
LTIFBX 159.84000 USA No
AK WST 159.90000 USA No
LTIPBY 159.96000 USA No
C CAKE 160.08000 USA No
SLEP 1 160.09500 USA No
WBI A1 160.20000 USA No
AROW 2 162.27000 USA No
AK RL1 164.62500 USA No
SLEP 2 170.50000 USA No
LADD 4 173.37000 CA No
Meine PHP-Funktion MySQL zum Lesen ist:
function getFrequencies() {
$conn = getConnected("websiteData");
$frequencyQuery = "SELECT * FROM frequencies ORDER BY Frequency";
$frequencyResult = mysqli_query($conn, $frequencyQuery);
while ($frequencyRow = mysqli_fetch_assoc($frequencyResult))
{
echo "<tr>" . PHP_EOL .
"<td>" . $frequencyRow['Name'] . "</td>" . PHP_EOL .
"<td>" . $frequencyRow['Frequency'] . "</td>" . PHP_EOL .
"<td>" . $frequencyRow['Country'] . "</td>" . PHP_EOL .
"<td>" . $frequencyRow['Programmed'] . "</td>" . PHP_EOL .
"</tr>" . PHP_EOL;
}
}
Ich weiß, dass dies nicht ein Website-Code zu bekommen gebaut, ohne selbst etwas zu versuchen, aber die Wahrheit ist, ich weiß nicht, wo anfangen. Ich fordere nicht, dass jemand 100% für mich macht, aber ich suche Führung.
Ich habe viele Antworten auf die Verwendung von MySQL JOIN
gesehen, aber ich möchte dies nicht tun. Ich möchte einfach nur diese spezifischen Zeilen markieren, damit ich hineingehen und die Datensätze ändern oder löschen kann.
habe ich diesen Q & A finden, aber es gab mir Kopfschmerzen, weil ich verstehe nicht, wie die akzeptierte Antwort ins Spiel kommt: How to highlight rows if they contain duplicate data?
Auch gibt es nur zwei Spalten ich nach Duplikaten überprüfen möchten. Die Alpha Tag
Spalte und die Frequency
Spalte.
Nun, da eine Antwort mich in die richtige Richtung hat, ist es das, was ich ohne Glück bisher versucht haben, aber es ist ein Anfang:
function getFrequencies() {
$conn = getConnected("websiteData");
//$frequencyQuery = "SELECT Name, Frequency, Country, Programmed, count(*) FROM frequencies GROUP BY Frequency ORDER BY Name";
$frequencyQuery = "SELECT Name, Frequency, Country, Programmed, count(*) FROM frequencies GROUP BY Frequency ORDER BY Name";
$frequencyResult = mysqli_query($conn, $frequencyQuery);
while ($frequencyRow = mysqli_fetch_assoc($frequencyResult))
{
if ($frequencyRow['count'] > 1) { echo '<tr class="danger">' . PHP_EOL; } else { echo '<tr>' . PHP_EOL; }
echo "<td>" . $frequencyRow['Name'] . "</td>" . PHP_EOL .
"<td>" . $frequencyRow['Frequency'] . "</td>" . PHP_EOL .
"<td>" . $frequencyRow['Country'] . "</td>" . PHP_EOL .
"<td>" . $frequencyRow['Programmed'] . "</td>" . PHP_EOL .
"</tr>" . PHP_EOL;
}
}
vielleicht sollten Sie gerade Gruppe Ihre Daten? 'SELECT, count (*) FROM Frequenzen GROUP BY ORDER BY Frequency' Sie können keine Auswahl * beim Gruppieren nach vornehmen. Alles, was Sie auswählen, muss Teil Ihrer Gruppe sein, sofern es sich nicht um eine Aggregatfunktion handelt, wie z. B. count, avg, sum usw. –
Augwa