2016-06-24 2 views
1

У меня есть таблица расписания платежей, в которой я извлекаю данные из базы данных. Результат запроса извлекает четыре записи, поскольку в моей таблице есть четыре плана платежей. Код ниже работает нормально. Единственное изменение, которое я должен здесьИзмените только одно значение массива, возвращаемое sql

<td align="left" style="padding-left:5px;"> 
    <?php echo $rr['plan_duration']?> 
    </td> 

Я изо всех сил, чтобы положить IF условие эхо заявления Я хочу, чтобы увидеть содержимое массива, а затем решить, что эхо. Если значение $rr['plan_duration'] равно 1490, тогда echo 149 else echo действительное значение $rr['plan_duration'] Я столкнулся с проблемами с микшированием html с php до синтаксиса. Пожалуйста, помогите мне выполнить это условие. Благодарю.

Вот полный рабочий код:

<?php 
$result = mysql_query("SELECT * from memship_plan where status='1' order by plan_amount DESC"); 
while($rr=mysql_fetch_array($result)) 
{ 
?>          
<tr height="30px"> 
    <td align="left" style="padding-left:5px;" class="red_text"> 
    <?php echo $rr['plan_name']?> 
    </td> 
    <td align="left" style="padding-left:5px;"> 
    <?php echo $rr['plan_contacts']?> 
    </td> 
    <td align="left" style="padding-left:5px;"> 
    Unlimited 
    </td> 
    <td align="left" style="padding-left:5px;"> 
    <?php echo $rr['video']?> 
    </td> 
    <td align="left" style="padding-left:5px;"> 
    <?php echo $rr['plan_duration']?> 
    </td> 
    <td align="left" style="padding-left:5px;"> 
    Rs. 
    <?php echo $rr['plan_amount']?> 
    </td> 
    <td align="left" style="padding-left:5px;"> 
    <a href="pay.php?plan=<?php echo $rr['plan_name']?>">Pay Now 
    </a> 
    </td> 
</tr> 

PS: Я понимаю, ограничения и недостатки MySQL и я собираюсь тайному его Mysqli

ответ

1

Я немного переписал ваш код t o немного лучше читать. Я добавил сокращенное заявление. Посмотрите:

<?php 
$result = mysql_query("SELECT * from memship_plan where status='1' order by plan_amount DESC"); 

$results = array(); 
while($record = mysql_fetch_array($result)) { 
    $results[] = $record; 
} 
?> 

<?php foreach ($results as $rr): ?> 
<tr height="30px"> 
    <td align="left" style="padding-left:5px;" class="red_text"><?= $rr['plan_name']; ?></td> 
    <td align="left" style="padding-left:5px;"><?= $rr['plan_contacts']; ?></td> 
    <td align="left" style="padding-left:5px;">Unlimited</td> 
    <td align="left" style="padding-left:5px;"><?= $rr['video']; ?></td> 
    <td align="left" style="padding-left:5px;"><?= ($rr['plan_duration'] == '1490') ? '149' : $rr['plan_duration']; ?></td> 
    <td align="left" style="padding-left:5px;">Rs. <?= $rr['plan_amount']; ?></td> 
    <td align="left" style="padding-left:5px;"><a href="pay.php?plan=<?php echo $rr['plan_name']?>">Pay Now</a></td> 
</tr> 
<?php endforeach; ?> 
+0

Большое вам спасибо – Sabha

1
<?php 
$result = mysql_query("SELECT * from memship_plan where status='1' order by plan_amount DESC"); 
while($rr=mysql_fetch_array($result)) { 
?> 
<td align="left" style="padding-left:5px;"> 
    <?php if($rr['plan_duration']=='1490') { 
     echo "149"; 
    } else { 
     echo $rr['plan_duration']; 
    } 
    ?> 
</td> 
<?php } ?> 
2

Внутри вашего while петли вы можете просто используйте if statement.

<td align="left" style="padding-left:5px;"> 
    <?php if ($rr['plan_duration'] == 1490) { 
     echo 149 ; 
    } else { 
     echo $rr['plan_duration']; 
    } ?> 
</td> 
+0

Спасибо. оцените свои усилия! – Sabha

2

Вы можете вставить весь PHP блок внутри каждого td элемента. Создайте функцию, которая делает конвертацию от 1490 до 149, давайте назовем его convert() в этом примере

<td align="left" style="padding-left:5px;"> 
    <?php 
     if($rr['plan_duration'] == 1490) 
     { 
      echo convert($rr['plan_duration']) 
     } 
     else 
     { 
      echo $rr['plan_duration']; 
     } 
    ?> 
</td> 

Вы также можете использовать ? условно, чтобы уменьшить количество кода:

<td align="left" style="padding-left:5px;"> 
    <?php echo ($rr['plan_duration'] == 1490) ? convert($rr['plan_duration']) : $rr['plan_duration']; 
</td> 

Примечание : Помимо использования mysqli вместо mysql Я настоятельно рекомендую вам также использовать подготовленные заявления

+0

Спасибо. Мне понравилось условие '?' Для сокращения строк кода и легкого понимания. – Sabha

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