2016-03-04 50 views
1

這是我的第一篇文章在這裏,在空閒時間IM目前學習PHP,即時通訊試圖開發一種aplication我得到了我與我不能找到解決辦法的錯誤。在代碼我張貼,當條件達到此部分:PHP mysqli的查詢檢索更多的價值比它應該

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>';} 

它給了我2個值,2個選擇選項,但如果我直接在phpmyadmin的運行它,它會檢索我只有1行。我在那裏做錯了什麼? 正確的是1行,而不是2,我認爲它必須是關於時間的東西。在此先感謝

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>'; 
      } 
}; 
+0

請重新格式化你的問題。 –

+0

raveenanigan reformatted,thx mate ...對不起格式的問題 –

+0

'$ row_cnt'的值是什麼? –

回答

0

對不起你們,但我解決它自己:)我改變了代碼,它現在的作品完美。

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

include 'dbconfig.php'; 

$query = mysqli_query($dbconfig, "SELECT uap FROM usergame WHERE userGID  = '".$_SESSION['login_user']."'"); 
$result = mysqli_fetch_assoc($query); 

if(($result['uap'] !== '230')and($result['uap'] !== '20')){ 
$query1 = 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($query1); 
      while($row =mysqli_fetch_assoc($query1)){ 
       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'){ 
     $query3 = 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_cnt1 = mysqli_num_rows($query3); 
      while($row1 =mysqli_fetch_assoc($query3)){ 
       echo "<option value='".$row1['nextp']."'>".$row1['texto']."</option>";} 
     } 
    elseif ($result2['ODT'] == '0'){ 
     $query4 = 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"); 
     $row_cnt2 = mysqli_num_rows($query4); 
      while($row2 =mysqli_fetch_assoc($query4)){ 
       echo "<option value='".$row2['nextp']."'>".$row2['texto']."</option>";} 
     } 
} 

}; 
0

您是否嘗試將此部分從「或」更改爲「和」?

elseif(($result['uap'] == '230')or($result['uap'] == '20')){ 

elseif(($result['uap'] == '230')and($result['uap'] == '20')){ 
+0

是的,但是有一個和那裏我有2個空的選擇,但是再一次,2個選擇 –