2015-03-18 4 views
0

, что мне нужноесли остальное условия не работают

  • мне нужно что-то вроде, когда счетчик равен нулю, то поток управления должен переместиться в другое состояние.

PHP код

$lat = $_GET['lat']; 
$long = $_GET['lng']; 
/* new condition implemented */ 
$city=$_GET['city']; 
$country=$_GET['country']; 

if(isset($city) && isset($country)) 
{ 

     $query="SELECT city.id cityid,city.name city_name 
     FROM city 
     WHERE city.name ='$city' limit 1"; 
     $resul = mysql_query($query); 
     $num=mysql_numrows($resul); 
     $rows = mysql_fetch_row($resul); 

     /* check for the city name not matched with databse name */ 
     if($num > 0) 
     { 

     /* now check for the upcoming events */ 
      $q="SELECT * 
      FROM event 
      INNER JOIN event_edition ON event.id = event_edition.event 
      WHERE event.city =".$rows[0]." 
      AND event_edition.end_date >=NOW()"; 
      $r = mysql_query($q); 
      $nums=mysql_numrows($r); 
      $rowse = mysql_fetch_row($r); 

        /* check for count of upcoming events */ 
        if($nums!=='' && $nums!=='null' && $nums >0) 
        { 

           $query2 = "SELECT city.id,city.name,city.url,country.id,country.name,country.phonecode,country.url,country.currency FROM city,country 
           WHERE city.id = ".$rows[0]." AND country.id = city.country"; 
           $result = mysql_query($query2); 

             if($row = mysql_fetch_row($result)) 
             { 
                 $city = array(); 
                 $city['id'] = $row[0]; 
                 $city['text'] = $row[1]; 
                 $city['url'] = $row[2]; 

                 $country = array(); 
                 $country['id'] = $row[3]; 
                 $country['text'] = $row[4]; 
                 $country['phone_code'] = $row[5]; 
                 $country['country_url'] = $row[6]; 
                 $country['currency'] = $row[7]; 

                 $cityData = array(); 
                 $cityData['city'] = $city; 
                 $cityData['country'] = $country; 
                 echo json_encode($cityData); 
             } 
        } 

     } 



} 

else 
{ 

//this should be true when count if($num > 0) // 
} 

выход:

  • , когда счетчик выборки базы данных равен нулю, то было бы сместить поток управления к другому петле.
  • его должны данные в другом цикле.
+0

Не используйте устаревший API 'mysql_ *'. Использовать 'mysqli_ *' или 'PDO' – Jens

ответ

0

$num=mysql_numrows($resul); не существует, правильное название mysql_num_rows, с подчеркиванием.

$num = mysql_num_rows($resul); 
       ^

И еще ветвь за плохой кронштейну (близкий к одному if(isset($city) && isset($country)) условию).

if(isset($city) && isset($country)) { 
    ... 
    if ($num > 0) { 
     ... 
    } else { 
     // $num == 0 
    } 
} // you have ELSE branch here 
+0

все еще в состоянии if .. i want code control для перемещения в другом цикле – afeef

+0

@ user4041461: обновил мой код, вы поместили' else' в плохое место. – panther

+0

i hav такое же требование, как если бы городская страна существовала, показывают данные api else, показывают другие данные, поэтому первый цикл будет истинным всегда. Мне нужно переместить поток из первого условия в другое, используя любую другую логику. что isset country city я хочу еще быть размещен outisde, если родительский, если – afeef

0

Для того, чтобы сделать условие, вам необходимо использовать два оператора присваивания. В вашем самом внутреннем if-состоянии есть только один оператор присваивания.

if($row= =mysql_fetch_row...) 
{.........} 
+0

требование, как если бы городская страна существовала, показывают данные api else, показывают другие данные, поэтому первый цикл будет истинным всегда, мне нужно переместить поток из первого условия в другое, используя любой другая логика. В дополнение к другому, внутри родителя, если этот isset в деревенском городе я хочу, то остальное будет размещено outisde, если родительский if – afeef

Смежные вопросы