2012-06-25 2 views
-1

первая тема i post здесь. Я искал здесь ответы и почти всегда получал их. Но это немного другое. У меня есть это PHP фрагмент кода

<tr> 
    <td> 
<?php if (mysql_numrows($sqlstr) != 0) { //if there are records found 
while ($row = mysql_fetch_array($sqlstr)) { //do while there are rows 
    if($English==1) 
    $Title=$row["sSubCatEng"]; 
    else 
    $Title=$row["sSubCat"]; 
    echo $Title; 
    } 
} ?> 
</td> 
</tr> 
<?php 
    $NumOfItems= 9; //Number of items per page. 
    $ItemsCount=count($ItemPartID); //number of items in ItemPartID array 
    $Page = $_GET["Page"]; //puts the var in a local one 
    if(($NumOfItems*$Page) > $ItemsCount) // if it is the last page 
    { 
    $StopFor = $ItemsCount % $NumOfItems; //stop when you modulo 
    $j = ($NumOfItems*($Page - 1)); 
    $indexFor = $StopFor; 
    } 
    else 
    { 
    $StopFor = $NumOfItems * $Page; 
    $j =($NumOfItems*($Page - 1)); 
    $indexFor = $StopFor - $j; 
    } 
    ?> 
<tr> 
<?php if($English==0){ ?> 
<td dir="rtl" align="center" colspan="3"> 
<?php echo $ItemsCount; ?> <?php echo $Title; ?> <?php echo $NumOfItems; ?> 
<?php }else { ?> 
<td align="center" colspan="3"> 
Currently there are <?php echo $ItemsCount." ".$Title; ?> in the catalog.Only <?php echo $NumOfItems; ?> are displayed on each page. 
<? } ?> 

<? for($i=0;$i<$var;$i++) { 
    echo "<td style='width:30px;height:30px;border-color:black;border-style:solid;border-  width:1px;background-color: lightgray;font-weight: bold;text-align: center;"; 
    if($Page==($i+1)) 
     echo "color:red;"; 
    echo "' onmouseover=\"this.style.cursor = 'pointer';\"  onmousemove=\"this.style.backgroundColor = 'red';this.style.color='white';\"  onmouseout=\"this.style.backgroundColor='lightgray';"; 
    if($Page==($i+1)) 
     echo "this.style.color='red';"; 
    else 
     echo "this.style.color='black';"; 
    echo "\" onClick='window.location=\"Catalog.php?Cat={$Category}&Page=".($i+1)."&SubCat= {$SubCat}&lang={$Lang}\"' >".($i+1); 
    echo "</td>"; 
} 
?> 

Это немного грязный, я просто не знаю, как добавить фрагменты кода. Я сделал некоторую отладку и получил, что первая строка (строка для) является проблемой, но я не могу найти проблему. (я заменил $ var 1, и это все равно не помогло). Спасибо.

+0

'неожиданный $ end' обычно означает, что вы забыли закрывание '}' для цикла for, однако, этот код немного беспорядочен, но в конечном итоге отлично. Это код _exact_, который у вас там есть? – Wrikken

ответ

2

Вы, кажется, забыли фигурные скобки {} для операторов if/else.

EDIT: Попробуйте изменить: (. Вы пропустили начальный тег PHP <? для для цикла) <? } ?> к <? } непосредственно перед for($i=0;$i<$var;$i++) {

+0

Они одно выровнены, поэтому они не требуют {} –

+0

Хорошо, это было не очевидно перед вашим переформатированием кода :) У вас, очевидно, больше кода над этим фрагментом, и я предполагаю, что у вас есть синтаксическая ошибка выше этого заставляя вас искать неправильное место для ошибки. Можете ли вы разместить больше своего кода? – Jite

+0

@ user1467394: строго, вы не _need_ их, но вы обманули двух человек здесь, чтобы подумать об этом ... Представьте, что это коллеги. Представьте, что это коллеги, работающие отчаянно, чтобы решить проблему, возникающую в тот момент. Это не часть вашей текущей проблемы, но, пожалуйста: ясность до краткости: ваш код также должен быть понятен другим, или быть готовым к некоторым сердитым коллегам. – Wrikken

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