Tri d'une requête MySQL avec la COMMANDE PAR ou avec PHP fonctions de tri

J'ai une requête que je veux trier par ordre alphabétique, mais le truc c'est que je veux le tri pour traiter les deux colonnes égales. Par exemple, si la première ligne de first_col est égal à apple et la deuxième rangée de second_col est égal à aardvark je veux la valeur de la deuxième ligne de second_col pour être listé avant la valeur dans la première ligne de first_col. Une valeur (pas NULL ou '') va toujours exister dans chaque ligne de second_col, mais la valeur en first_col peut être ''. J'espère que je l'ai expliqué assez bon. Je ne m'inquiète pas si je dois utiliser MySQL ou PHP pour cela, mais une fois triés, le tableau est lu et fait écho dans un tableau HTML. Toutes les pensées?

MODIFIER

C'est ce que j'ai pour le code de la droite maintenant. Dans ma requête MySQL j'ai besoin de b_name et l_name être égaux. La colonne b_name n'ont pas toujours une valeur. Quand j'ai mis les valeurs dans la table, il est fondé sur l'existence de b_name. Si b_name n'existe pas de f_name et l_name sont combinés pour remplacer b_name.

                $query = "SELECT * FROM customers ORDER BY b_name, l_name";
                $result = mysql_query($query);
                mysql_close($link);

                $num = mysql_num_rows($result);                         

                for ($i = 0; $i < $num; $i++){

                    $row = mysql_fetch_array($result);

                    $class = (($i % 2) == 0) ? "table_odd_row" : "table_even_row";

                    if($row[b_name]!=''){
                        echo "<tr class=".$class.">";

                            echo "<td><a href=Edit_Customer.php?c_id=".$row[c_id].">".$row[c_id]."</a></td>";
                            echo "<td><a href=Edit_Customer.php?c_id=".$row[c_id].">".$row[b_name]."</a></td>";
                            echo "<td><a href=Edit_Customer.php?c_id=".$row[c_id].">".$row[phone]."</a></td>";

                        echo "</tr>";

                    }

                    else{
                        echo "<tr class=".$class.">";

                            echo "<td><a href=Edit_Customer.php?c_id=".$row[c_id].">".$row[c_id]."</a></td>";
                            echo "<td><a href=Edit_Customer.php?c_id=".$row[c_id].">".$row[f_name]." ".$row[l_name]."</a></td>";
                            echo "<td><a href=Edit_Customer.php?c_id=".$row[c_id].">".$row[phone]."</a></td>";

                        echo "</tr>";

                    }


                }

            ?>      

        </table>
  • Si la première ligne est 'a','b' et la deuxième ligne est 'b','a' et les deux colonnes sont traités de la même façon de ces lignes devrait venir en premier et pourquoi?
  • Nous montrer la requête. En général, le seul moyen fiable de l'utilisation de deux colonnes en une seule pour le tri nécessite l'utilisation d'un SYNDICAT
InformationsquelleAutor ubiquibacon | 2010-06-29