2014-04-21 4 views
-2

У меня есть этот фрагмент кода, который не работает, не знаю, что я делаю неправильно, получаю контент из базы данных MYSQL и используя инструкцию if else с циклом while для эха содержимого.Хотя цикл внутри, если инструкция else не работает

<?php 

       if ($row_item['cat_item_id'] == ''){ 
         echo '<div class="col-sm-6 col-md-3""> 

         </p> 
         <p> 
          No Item To Show 
         </p> 
         </div> 
        </div>'; 
        } 

       else {      
        while ($row_item = mysql_fetch_assoc($item)){ 
         echo 
        ' 
       <div class="col-sm-6 col-md-3" style="'.$row_item['display'].'"> 
         <div class="thumbnail"> 
         <img src="myaccount/user_data/'.$row_item['file_name'].'" /> 
         </div> 
         <div class="caption"> 
         <h3>'.$row_item['item_name'].'</h3> 
              <p> 
          <a href="item_detail.php?item='.$row_item['cat_item_id'].'" class="btn btn-primary" role="button"> 
          View Item 
          </a> 
          <a href="contact_seller.php?contact='.$row_item['cat_item_id'].'" class="btn btn-default" role="button"> 
          Contact Owner 
          </a> 
         </p> 
         </div> 
        </div>'; 
        } 

       } 

        ?> 

Помогите мне разобраться, что не так.

+0

вы уверены $ пункт является ресурсом и не удалось запроса? Кроме того, переключитесь на mysqli или pdo. mysql_ устарел –

+0

добавьте немного любви к вашему коду, мне больно видеть ваше форматирование/недействительный html –

+0

Не ответ, но (как упоминалось в @KaiQing) используйте расширение _mysqli_, потому что в конце концов расширение _mysql_ будет устаревать. См. Здесь http://www.php.net/manual/en/faq.databases.php#faq.databases.mysql.deprecated – Nis

ответ

1

Вы должны вызвать While ($ row_item = mysql_fetch_assoc ($ пункт)) первое место.

В противном случае строка $ row_items не будет инициализирована должным образом.

Так вы положили все в

while ($row_item = mysql_fetch_assoc($item)) 

И проверить КРП-то еще условия внутри время:

if ($row_item['cat_item_id'] == '') // this goes inside the while. Otherwise $row_item is not initialized properly 
1

Вы проверяете, если

if ($row_item['cat_item_id'] == ''){ 

, прежде чем вы на самом деле назвать

while ($row_item = mysql_fetch_assoc($item)){ 

Чтобы получить $row_item


Попробуйте изменить его на что-то вроде этого:

while ($row_item = mysql_fetch_assoc($item)){ 
    if ($row_item['cat_item_id'] == ''){ 

     echo '<div class="col-sm-6 col-md-3""> 
       </p> 
       <p>No Item To Show</p></div></div>'; 

    }else { 

     echo 
        ' 
       <div class="col-sm-6 col-md-3" style="'.$row_item['display'].'"> 
         <div class="thumbnail"> 
         <img src="myaccount/user_data/'.$row_item['file_name'].'" /> 
         </div> 
         <div class="caption"> 
         <h3>'.$row_item['item_name'].'</h3> 
              <p> 
          <a href="item_detail.php?item='.$row_item['cat_item_id'].'" class="btn btn-primary" role="button"> 
          View Item 
          </a> 
          <a href="contact_seller.php?contact='.$row_item['cat_item_id'].'" class="btn btn-default" role="button"> 
          Contact Owner 
          </a> 
         </p> 
         </div> 
        </div>'; 
    } 
} 
+0

@McDonaldEgesaDonatius, если это сработало, рассмотрите [принятие ответа, нажав на галочку] (http://meta.stackexchange.com/questions/5234/how-does-accepting-an-answer-work). Тогда будущие пользователи увидят, что на этот вопрос был дан ответ. – Chris

0

Попробуйте mysql_fetch_array

while ($row_item = mysql_fetch_array($item)){ 
        echo 
       ' 
      <div class="col-sm-6 col-md-3" style="'.$row_item['display'].'"> 
        <div class="thumbnail"> 
        <img src="myaccount/user_data/'.$row_item['file_name'].'" /> 
        </div> 
        <div class="caption"> 
        <h3>'.$row_item['item_name'].'</h3> 
             <p> 
         <a href="item_detail.php?item='.$row_item['cat_item_id'].'" class="btn btn-primary" role="button"> 
         View Item 
         </a> 
         <a href="contact_seller.php?contact='.$row_item['cat_item_id'].'" class="btn btn-default" role="button"> 
         Contact Owner 
         </a> 
        </p> 
        </div> 
       </div>'; 
       } 
Смежные вопросы