反转PHP中元素展示的顺序

I want to invert the order of these elements when they are exhibited on my menu:

function buscarSubCateg($categ_id) {

    global $con;

    $buscar_subcateg = "SELECT * FROM subcateg WHERE categ_id = '$categ_id'";

    $run_subcateg = mysqli_query($con, $buscar_subcateg);

    $i=0;
    while ($row_subcateg = mysqli_fetch_array($run_subcateg)) {

        $subcateg_id = $row_subcateg['subcateg_id'];
        $subcateg_name = $row_subcateg['subcateg_name'];

        echo '<div class="sectionSub"><a class="linkSubCatergoria" href="#">'.$subcateg_name.'</a></div>'.buscarTipos($subcateg_id);
        $i++;
    }
}

function buscarTipos($subcateg_id) {

    global $con;

    $buscar_tipo = "SELECT * FROM tipoprod WHERE subcateg_id = '$subcateg_id'";

    $run_tipo = mysqli_query($con, $buscar_tipo);

    while ($row_tipo = mysqli_fetch_array($run_tipo)) {

        $tipo_id = $row_tipo['tipoprod_id'];
        $tipo_name = $row_tipo['tipoprod_name'];

        echo "<div class='sectionTipo'><a class='linkTipo' href='#'>$tipo_name</a></div>";

    }
}

In this echo:

echo '<div class="sectionSub"><a class="linkSubCatergoria" href="#">'.$subcateg_name.'</a></div>'.buscarTipos($subcateg_id);` 

I want that the function buscarTipos()'s result be shown after $subcateg_name. The way it is now is doing the opposite, first showing buscarTipos()'s result and after shwoing $subcateg_name.

Thanks.

Replace your current code with the following:

function buscarSubCateg($categ_id) {

    global $con;

    $buscar_subcateg = "SELECT * FROM subcateg WHERE categ_id = '$categ_id'";

    $run_subcateg = mysqli_query($con, $buscar_subcateg);

    $i=0;
    while ($row_subcateg = mysqli_fetch_array($run_subcateg)) {

        $subcateg_id = $row_subcateg['subcateg_id'];
        $subcateg_name = $row_subcateg['subcateg_name'];
        $tip = buscarTipos($subcateg_id);
        echo $tip;
        echo '<div class="sectionSub"><a class="linkSubCatergoria" href="#">'.$subcateg_name.'</a></div>';
        $i++;
    }
}

function buscarTipos($subcateg_id) {

    global $con;

    $buscar_tipo = "SELECT * FROM tipoprod WHERE subcateg_id = '$subcateg_id'";

    $run_tipo = mysqli_query($con, $buscar_tipo);
    $str = '';
    while ($row_tipo = mysqli_fetch_array($run_tipo)) {

        $tipo_id = $row_tipo['tipoprod_id'];
        $tipo_name = $row_tipo['tipoprod_name'];

        $str = $str."<div class='sectionTipo'><a class='linkTipo' href='#'>$tipo_name</a></div>";

    }
    return $str;
}

Try changing line #34

echo "<div class='sectionTipo'><a class='linkTipo' href='#'>$tipo_name</a></div>";

into

return "<div class='sectionTipo'><a class='linkTipo' href='#'>$tipo_name</a></div>";

Then the calling function will echo sectionSub before echoing sectionTipo

Or change your SQL to

$sql = 'select a.categ_id, a.subcateg_id, b.tipoprod_id, b.tipoprod_name
from subcateg as a, tipoprod as b where categ_id='$categ_id' 
and a.subcateg_id = b.subcateg_id';

and lose the secondary function completely. That gets MySQL to do the join between your two tables and is an order of magnitude easier to work with.