Treat mysql query when ids are repeated

Asked

Viewed 43 times

0

How can I proceed when lines with equal ids in a query in mysql do something,

I need... if lines have the same id they get one color, if not another.

as in the example below

$cmd = " SELECT *FROM cotacao ";
    $produtos = mysql_query($cmd);
    $total = mysql_num_rows($produtos);
    while ($linha = mysql_fetch_array($produtos)) {

$id_grupo = $linha['id_grupo'];


//se linha com mesmo id_grupos iguais
<tr style = 'background-color: yellow'>$id_grupos</tr>
//  senão 
<tr style = 'background-color: blue'>$id_grupos</tr>

 }

inserir a descrição da imagem aqui

  • It didn’t work out, buddy...

  • All the lines are in blue. my query returned me 5 lines and between the 5, two with equal ids, so only those with equal ids should stay with the same color , and yes it is integer

  • Managed to solve the problem ?

1 answer

1

//INDEX.PHP

<?php

$array = [
    "one",
    "two",
    "three",
    "three",
    "four",
    "five",
    "five"
];

foreach ($array as $value) {
    echo "<p>$value</p>";
}
?>

//JAVASCRIPT

<script type="text/javascript">
    var elements         = document.getElementsByTagName("p"); //pego todos as tags "p" no meu caso
    var alreadyStylized  = []; //lista daqueles que já foram utilizados

    Array.from(elements).forEach((elem) => {
        //todos os que não se repetem ficam azul
        elem.style.background = "dodgerblue";

        //pego o texto/id do elemento atual
        var id = elem.textContent;
        //verifico se já foi estilizado
        if (alreadyStylized.indexOf(id) != -1) {
            //itero sobre todos novamente
            Array.from(elements).forEach((elem2) => {
                //porém verifico se o id confere
                if (elem2.textContent == id) {
                    //adiciona yellow para todos que tem o mesmo
                    //id/texto
                    elem2.style.background = "yellow";
                }
            })
        }
        //no final coloca o id daqueles que ja foram estilizados
        alreadyStylized = id;
    });
</script>

I wonder if I could be using PHP for everything, but it is preferable to style the content of a page with javascript.

If you put all this inside a file called index.php and run it will appear this:

inserir a descrição da imagem aqui

Support by browsers Array.from()

inserir a descrição da imagem aqui

Support by browsers Array.forEach()

inserir a descrição da imagem aqui

Source images: https://developer.mozilla.org/en-US/

  • Partner of giving syntax error

  • Friend is right around.... but I can’t and change the color of the table row this way...

Browser other questions tagged

You are not signed in. Login or sign up in order to post.