vendredi 4 mars 2016

PHP Mysqli query retrieves more values than it should

this is my first post here, im currently learning php at free times, im trying to develop an aplication and i got myself with an error that i cant find solution. At the code i posted, when a condition reaches this part:

elseif ($result2['ODT'] == '0'){
                            $query3 = mysqli_query($dbconfig, "SELECT po.texto, po.nextp FROM paginas p, pagsop po, usergame u WHERE u.userGID = '".$_SESSION['login_user']."' and po.id != '10' and po.id != '7' and p.np=u.uap and po.np = p.np");
                            $row1 =mysqli_fetch_assoc($query3);
                            echo '<option value="'.$row1['nextp'].'">'.$row1['texto'].'</option>';}

It gives me 2 values, 2 select options, but if i run it directly on phpmyadmin, it retrieves me only 1 row. What am i doing wrong there? The correct is the 1 row, and not 2, i presume it must be something about the while. Thanks in advance

function Select1() {
    header("Content-Type: text/html;  charset=ISO-8859-1",true);

    include 'dbconfig.php';

    $query = mysqli_query($dbconfig, "SELECT p.textop, p.np, p.ap, po.texto, po.nextp, u.uap FROM paginas p, pagsop po, usergame u WHERE u.userGID = '".$_SESSION['login_user']."' and p.np=u.uap and po.np = p.np");
    $row_cnt = mysqli_num_rows($query);

    if($row_cnt > 0){
                while($row =mysqli_fetch_assoc($query)){
                    $query1 = mysqli_query($dbconfig, "SELECT uap FROM usergame WHERE userGID = '".$_SESSION['login_user']."'");
                    $result = mysqli_fetch_assoc($query1);
                    if(($result['uap'] !== '230')and($result['uap'] !== '20')){
                    echo "<option value='".$row['nextp']."'>".$row['texto']."</option>";}

                    elseif(($result['uap'] == '230')or($result['uap'] == '20')){
                    $query2 = mysqli_query($dbconfig, "SELECT ODT FROM userencantos WHERE userEID = '".$_SESSION['login_user']."'");
                    $result2 = mysqli_fetch_assoc($query2);
                        if ($result2['ODT'] > '0'){echo '<option value="'.$row['nextp'].'">'.$row['texto'].'</option>';}
                        elseif ($result2['ODT'] == '0'){
                            $query3 = mysqli_query($dbconfig, "SELECT po.texto, po.nextp FROM paginas p, pagsop po, usergame u WHERE u.userGID = '".$_SESSION['login_user']."' and po.id != '10' and po.id != '7' and p.np=u.uap and po.np = p.np");
                            $row1 =mysqli_fetch_assoc($query3);
                            echo '<option value="'.$row1['nextp'].'">'.$row1['texto'].'</option>';}
                        }
                }
            }else{
                echo '<option value="">Nada foi encontrado na BD</option>';
            }
};

Aucun commentaire:

Enregistrer un commentaire