2017-02-27 58 views
0

下面是有問題的代碼。我試圖從兩列中獲得一個簡單的劃分,但是在已經存在的(並且正在運行)的php查詢中。無論我做什麼,我似乎無法讓它工作。無論如何,我都不是一個強大的編碼員。該代碼輸出資本S.SQL PHP分隔列雙查詢

<?php 
include("db_reader.php"); 

$data = ''; 

$query = "SELECT * FROM users WHERE team like 'Replay%'"; 
if (!$result = mysql_query($query)) { 
    exit(mysql_error()); 
} 

if(mysql_num_rows($result) > 0) 
{ 
    $number = 1; 
    while($row = mysql_fetch_assoc($result)) 
    { 
     $kdresult = "SELECT (kills/deaths) AS kdresult FROM users WHERE team like 'Replay%'"; 
     $data .= ' 
<div class="col-xs-12 col-sm-12 col-md-3"> 
    <div id="memberCard-1" class="card"> 
     <div class="face front"> 
      <div class="panel panel-default text-center" style="border: 1px solid red;"> 
       <div class="panel-heading" style="background-color:#000;color:#ff0000;"> 
       <h3 class="panel-title">'.$row['name'].'</h3> 
       </div> 
      <ul class="list-group"> 
       <li class="list-group-item">Position</li> 
       <li class="list-group-item">Info</li> 
       <li class="list-group-item"></li> 
       <li class="list-group-item">Kills: '.$row['kills'].'</li> 
       <li class="list-group-item">Deaths: '.$row['deaths'].'</li> 
       <li class="list-group-item">KD: '.$kdresult['kdresult'].'</li> 

回答

1

它看起來像你的$ kdresult是一個查詢,但它沒有被任何地方運行。

你能不能改變你的$查詢是:

$query = "SELECT kills, deaths, kills/deaths AS kdresult FROM users WHERE team like 'Replay%'"; 

這是更好的做法,指定你實際上需要在SELECT語句,而不是SELECT *列。這也意味着你的數據是在一個查詢中,而不是在兩個查詢中。

+1

因此,你給我的見解,並結合更快的過去一般的PHP/SQL學習什麼最終修復它是改變第一個pquery下面。我需要調用*,因爲我使用該表中的所有列作爲輸出。我沒有意識到的是,&kdresult沒有運行,所以我把這個部分加入了第一個查詢。 \t $ pquery =「SELECT *,殺死/死亡AS kdresult FROM用戶WHERE team LIKE'%」。$ teamname。「%'ORDER by capt DESC,name ASC」; – Neil

+0

太棒了,很高興它的工作! – bbrumm