2012-06-08 3 views
0

Извините за такой вопрос nOOb, но я работал над этим некоторое время и не могу понять, как вломиться и выйти из php - особенно когда он добирается до дела в то время как цикл ниже. Кна кому-нибудь помочь, пожалуйста?Перерыв в и из php

if (!$_POST){ 
$display .= '<div class="aptitle"> 
      <h2>Add Product</h2> 
      </div><!-- aptitle --> 

      <div class="apsubtitle"> 
      <h3>Step 1 of 6</h3> 
      </div><!-- apsubtitle --> 

      <div class="selectcategorytitle">Please select a category for your item</div><!--selectcategorytitle--> 
      <div class="selectcategory"> 
      <form action="addproducts2.php" method="post" enctype="multipart/form-data" name="step1"> 
      <div class="selected">Category: <select name="category" class="addproductselect" value=" ' . $selectedcategory . ' " id="select"> 
       <option value="0">Select a Category</option> 
       <?php do { ?> 

       <option value="<?php echo $categorylist['pk_cat_id'];?>"> 
       <?php echo $categorylist['category']; ?> </option> 
       <?php } while ($categorylist = mysql_fetch_assoc($category_query)); ?> 
      </select> 
      <input name="submit" class="submitbtn" type="submit" value="Next Step" /></div><!--selected --> 
      </form> 

      </div><!--selectcategory-->'; 
} 
+0

Откуда взялась $ selectedcategory? – baptme

+0

Вы действительно хотите использовать 'do ... while' здесь вместо простого' while'? Если массив '$ categoryList' не задан при первом запуске, то будет вызвано предупреждение. –

ответ

1

Вы уже находитесь в PHP, когда вы вставляете строку в переменную. Вам не нужно больше <?php тегов, вам просто нужно закрыть цитату и ;.

<?php 
if (!$_POST){ 
$display .= '<div class="aptitle"> 
       <h2>Add Product</h2> 
      </div><!-- aptitle --> 

      <div class="apsubtitle"> 
       <h3>Step 1 of 6</h3> 
      </div><!-- apsubtitle --> 

      <div class="selectcategorytitle">Please select a category for your item</div><!--selectcategorytitle--> 
      <div class="selectcategory"> 
       <form action="addproducts2.php" method="post" enctype="multipart/form-data" name="step1"> 
        <div class="selected">Category: 
         <select name="category" class="addproductselect" value=" ' . $selectedcategory . ' " id="select"> 
          <option value="0">Select a Category</option>'; 

do { 
    $display .= '<option value="' . $categorylist['pk_cat_id'] . '">' . $categorylist['category']; . '</option>'; 
} while ($categorylist = mysql_fetch_assoc($category_query)); 


$display .= '</select> 
<input name="submit" class="submitbtn" type="submit" value="Next Step" /></div><!--selected --> 
      </form> 

      </div><!--selectcategory-->'; 
} 
?> 
+0

Удивительный - спасибо! – user1224032

0

Используйте HEREDOC, так что не будет никакой необходимости в кавычках или запуске PHP/конечных тэгов при размещении переменного. Таким образом, ваш код будет выглядеть так:

if (!$_POST){ 

do { 
    $more_options = '<option value="' . $categorylist['pk_cat_id'] . '">' . $categorylist['category'] . '</option>'; 
} while ($categorylist = mysql_fetch_assoc($category_query)); 


$display .= <<<HEREDOC 
     <div class="aptitle"> 
      <h2>Add Product</h2> 
      </div><!-- aptitle --> 

      <div class="apsubtitle"> 
      <h3>Step 1 of 6</h3> 
      </div><!-- apsubtitle --> 

      <div class="selectcategorytitle">Please select a category for your item</div><!--selectcategorytitle--> 
      <div class="selectcategory"> 
      <form action="addproducts2.php" method="post" enctype="multipart/form-data" name="step1"> 
      <div class="selected">Category: <select name="category" class="addproductselect" value="$selectedcategory" id="select"> 
       <option value="0">Select a Category</option> 
       $more_options 
      </select> 
      <input name="submit" class="submitbtn" type="submit" value="Next Step" /></div><!--selected --> 
      </form> 

     </div><!--selectcategory-->'; 

HEREDOC; 
} 
0

Это может сработать, вы можете добавить тег PHP, который может быть причиной.

<?php 

if (!$_POST) { 
    $display .= '<div class="aptitle"> 
      <h2>Add Product</h2> 
      </div><!-- aptitle --> 

      <div class="apsubtitle"> 
      <h3>Step 1 of 6</h3> 
      </div><!-- apsubtitle --> 

      <div class="selectcategorytitle">Please select a category for your item</div><!--selectcategorytitle--> 
      <div class="selectcategory"> 
      <form action="addproducts2.php" method="post" enctype="multipart/form-data" name="step1"> 
      <div class="selected">Category: <select name="category" class="addproductselect" value=" ' . $selectedcategory . ' " id="select"> 
       <option value="0">Select a Category</option>'; 
    do { 
     $display .= '<option value=" ' . $categorylist['pk_cat_id'] . '"> 
    ' . $categorylist['category'] . ' </option>'; 
    } while ($categorylist = mysql_fetch_assoc($category_query)); 
    $display .= '</select> 
    <input name="submit" class="submitbtn" type="submit" value="Next Step" /></div> 
</form> 
</div>'; 
} 
?>