2010-04-20 65 views
0

我現在用的是選擇查詢作爲我正在使用的選擇查詢不起作用..有人可以引導我以正確的方式嗎?

SELECT id, ordering FROM `jos_menu` WHERE ordering='".$rec['ordering'] -'1' ."' AND parent = '0' 

在這裏,我需要的,其順序是所有的記錄不到1所選擇的記錄的順序($rec['ordering'] = getting from other select query)當我試圖呼應查詢,我沒有得到完整的陳述但只得到該-1' AND parent = '0'

這裏是整個片段

$where = ' WHERE (id = ' . implode(' OR id = ', $cid) . ')';//Pranav Dave Coded 
    echo $selquery = "SELECT id, ordering FROM `jos_menu`".$where;   //Pranav Dave Coded 
     $db->setQuery($selquery);//Pranav Dave Coded 
     $record = $db->loadAssocList(); //Pranav Dave Coded 

    if ($model->orderItem($id, -1)) { 
    echo "<pre>"; 
    print_r($model); 
    /*exit;*/ 

    //echo $updorderup = mysql_escape_string($model->_db->_sql);//Pranav Dave Coded 

     foreach($record as $rec)//Pranav Dave Coded 
     { 
      echo $aboverow = "SELECT id, ordering FROM `jos_menu` WHERE ordering='".$rec['ordering'] -'1' ."' AND parent = '0'"; 
      $db->setQuery($aboverow); 
     $above = $db->loadAssoc(); 
     echo "<pre>"; 
    print_r($above); 
        }//end of foreach 
       }//end of if 

請建議我在哪裏,我得到錯誤.....

+0

首先做單獨的事情。如果你有SQL查詢問題 - 帶上這裏查詢本身,而不是PHP代碼。爲什麼你打印自己的查詢,機器人不把它帶到這裏? – 2010-04-20 07:38:33

+0

或其PHP代碼無法正常工作,而不是SQL查詢?你能更清楚嗎?如果你有order =' - 1'order =''。$ rec ['ordering'] -'1'$ rec ['ordering']只是空的,是不是很明顯? – 2010-04-20 07:41:27

回答

1

看起來你可能需要從報價解開的-1

WHERE ordering='".($rec['ordering'] - 1)."' AND parent = '0'"; 
1

爲什麼你試圖把一切都內嵌?
爲什麼不先做一些準備?
爲什麼不把結果查詢與示例1進行比較?
爲什麼你不檢查每一步,如果它返回正確的結果?

$val = $rec['ordering'] - 1; 
//let's see if $cal has proper value: 
echo $val."<br>"; 
$sql = "SELECT id, ordering FROM `jos_menu` WHERE ordering = $val AND parent = 0"; 
//let's see if query looks good: 
echo $sql; 
//let's print sampe query to compare: 
echo "<br>" ; 
echo "SELECT id, ordering FROM `jos_menu` WHERE ordering = 1 AND parent = 0"; 
0

正如丹尼爾所說,你需要刪除-1左右的引號。目前它試圖減去一個字符串,它根本不會很滿意;)

+0

哦,真的嗎?聽說過PHP類型的鑄造嗎? – 2010-04-20 08:38:43

+0

當然我聽說過它,但它不會改變這樣的事實,即以這種方式取1不起作用(我剛剛運行了一系列測試來證明它) 您應該在SQL查詢Parth之外做所有的數學運算,當我嘗試刪除1(作爲一個int)內聯,就像我得到了一個T_CONSTANT_ENCAPSED_STRING錯誤。 讓我們知道這是否排序你的問題。 – Tom 2010-04-20 09:15:19

相關問題