2013-05-30 2 views
0

쿼리를 4 개 이상 사용합니다. 데이터베이스를 가져 오려면 4 개 쿼리가 제대로 실행되지만, 다른 쿼리에서는 hotel_id와이 hotel_id를 가져 오려면 하나 이상의 쿼리를 사용해야합니다. 나는 쿼리를 실행하지만 쿼리는 제대로 실행되지만 while 루프에서 출력을 얻지 못했고 코드에서 내 실수가 무엇입니까? .....이 쿼리는 제대로 작동하지만 $ query1 = "menu_master에서 menu_id를 선택하십시오." 신분증; 하지만 $ hid = $ row [ 'hotel_id']; . $의 값이 숨겨 저장할 수 없습니다 ..PHP에서 데이터베이스에서 데이터를 가져 오기 위해 mysql 쿼리를 사용합니다.

$query1 = "select hotel_id from menu_master where menu_id=".$id; 
        $res = mysql_query($query1); 
        while($row=mysql_fetch_array($res)) 
        { 
         $hid = $row['hotel_id']; 
        } 

        $query = "select set_rank from menu_master where menu_id = $row_id and hotel_id='".$_REQUEST['hotel_id']."'"; 
        //echo $query."<br/>"; 
        $result = mysql_query($query); 

        while($row=mysql_fetch_array($result)) 
        { 
         $current_rank = $row['set_rank']; 
        } 

        $current_id = $row_id; 
        $new_rank =$_REQUEST['set_rank']; 

        $sql = "select * from menu_master where set_rank = '$new_rank ' and hotel_id='".$_REQUEST['hotel_id']."'" ;  
        $rs = mysql_query($sql); 

        while($row = mysql_fetch_array($rs)) 
         { 
           $menu_id = $row['menu_id']; 
           $sql="update menu_master 
           set set_rank=$current_rank where menu_id= $menu_id and hotel_id='".$_REQUEST['hotel_id']."'"; 

           mysql_query($sql); 

         } 

            $sql="update menu_master set 
            hotel_id   = '".mysql_real_escape_string($_REQUEST['hotel_id'])."', 
            menu_name   = '".mysql_real_escape_string($_REQUEST['menu_name'])."', 
            menu_name_ar  = '".mysql_real_escape_string($_REQUEST['menu_name_ar'])."', 
            is_active   = '".$is_active."', 
            set_rank=$new_rank where menu_id= '$current_id' and hotel_id='".$_REQUEST['hotel_id']."'"; 
            mysql_query($sql); 
       } 
+2

[더 이상 사용되지 않는 mysql_ * 확장명] (http://www.php.net/en/mysql_query)은 더 이상 사용되지 않으므로 사용하지 마십시오. 대신 [PDO] (http://php.net/manual/en/book.pdo.php) 또는 [MSQLi] (http://php.net/manual/en/book.mysqli.php)를 사용하십시오. –

+0

어떻게 쿼리가 제대로 작동합니까? SQL에서 테스트 해 보셨습니까? 결과를 코드에서 검색 하나 코드에서 검색하지 않습니까? –

+0

Ivo Pereira menu_master에서 menu_id = ". $ id를 선택하십시오.이 쿼리에서는 hotel_id를 가져 오지만 while 루프는 테이블에서 출력을 가져 오지 않았습니다. – user2436007

답변

0

을보십시오이 코드

$query1 = "select hotel_id from menu_master where menu_id=".$id; 
$row = mysql_fetch_array(mysql_query($query1)); 
$hid = $row['hotel_id']; 
+0

이 코드에는 출력이 없습니다 ... – user2436007

0

$ 쿼리 1 =을 $ ID가 "menu_master menu_id =에서 hotel_id 선택";

   $res = mysql_query($query1); 

       while($row1=mysql_fetch_array($res)) 
       { 


        $hid = $row1['hotel_id']; 

       $query = "select set_rank from menu_master where menu_id = $row_id and hotel_id='".$hid."'"; 
       //echo $query."<br/>"; 
       $result = mysql_query($query); 

       while($row=mysql_fetch_array($result)) 
       { 
        $current_rank = $row['set_rank']; 
       } 

       $current_id = $row_id; 
       $new_rank =$_REQUEST['set_rank']; 

       $sql = "select * from menu_master where set_rank = '$new_rank ' and hotel_id='".$hid."'" ;  
       $rs = mysql_query($sql); 

       while($row = mysql_fetch_array($rs)) 
        { 
          $menu_id = $row['menu_id']; 
          $sql="update menu_master 
          set set_rank=$current_rank where menu_id= $menu_id and hotel_id='".$hid."'"; 

          mysql_query($sql); 

        } 

           $sql="update menu_master set 
           hotel_id   = '".mysql_real_escape_string($_REQUEST['hotel_id'])."', 
           menu_name   = '".mysql_real_escape_string($_REQUEST['menu_name'])."', 
           menu_name_ar  = '".mysql_real_escape_string($_REQUEST['menu_name_ar'])."', 
           is_active   = '".$is_active."', 
           set_rank=$new_rank where menu_id= '$current_id' and hotel_id='".$hid."'"; 
           mysql_query($sql); 
      } 
+0

$ hid 값 비어있는 모든 쿼리를 작동하지 않는 이유는 ... – user2436007

관련 문제