2013-04-19 1 views
0

У меня есть текстовое поле в моей базе данных, где новый элемент, или объект отделяется с помощью «-»PHP взорваться текстом из базы данных MySQL в таблицу

Я успешно взорван текст и сделал вид в таблице где каждый элемент или объект отображается в новой строке.

Проблема заключается в том, что я хочу иметь возможность кодировать это так, чтобы независимо от того, сколько элементов в текстовом поле, скрипт будет эхо столько строк, как и в настоящее время все пустые ячейки также эхом.

Например, там текстовое поле: «- hello - my - name - is - something» Это будет заполнять только 5 верхних строк, оставив остальные отображаемыми.

благодарит заранее!

echo "<table border=1 cellpadding=5 width=60% style='border-collapse:collapse; height:auto; font-size:small; float:left;'> 
       <tr> 
        <th style='background-color:#FFFFCC';>This Weeks Objectives</th> 
       </tr>"; 
      // split data by use of "-" into seperate rows   
      while ($row3 = mysql_fetch_assoc($objective)) { 
       $str = $row3['objectives']; 
       $splitStr = explode('-', $str); 
       $int1 = intval($splitStr[0]); 
       $int2 = intval($splitStr[1]); 
       $int3 = intval($splitStr[2]); 
       $int4 = intval($splitStr[3]); 
       $int5 = intval($splitStr[4]); 
       $int6 = intval($splitStr[5]); 
       $int7 = intval($splitStr[6]); 
echo "<tr>"; 
        echo "<td style='background-color:#FFFFFF;text-align:left;'>" . $splitStr[1] . " " . $splitStr[2] . " </td>"; 
       echo "</tr>"; 
       echo "<tr>"; 
        echo "<td style='background-color:#FFFFFF;text-align:left;'>" . $splitStr[2] . "</td>"; 
       echo "</tr>"; 
       echo "<tr>"; 
        echo "<td style='background-color:#FFFFFF;text-align:left;'>" . $splitStr[3] . "</td>"; 
       echo "</tr>"; 
       echo "<tr>"; 
        echo "<td style='background-color:#FFFFFF;text-align:left;'>" . $splitStr[4] . "</td>"; 
       echo "</tr>"; 
       echo "<tr>"; 
        echo "<td style='background-color:#FFFFFF;text-align:left;'>" . $splitStr[5] . "</td>"; 
       echo "</tr>"; 
       echo "<tr>"; 
        echo "<td style='background-color:#FFFFFF;text-align:left;'>" . $splitStr[6] . "</td>"; 
       echo "</tr>"; 
echo "</table>"; 
+0

Не устанавливайте $ int1, $ int2 и т. Д .; просто зациклируйте свой массив $ splitStr и выделите свои td-строки. –

+0

Почему бы просто не перечеркнуть '$ splitStr' и вывести строки для каждого элемента? –

ответ

0

Используйте петлю. Например:

$objectives = explode('-', $str); 

foreach ($objectives as $objective) { 
    echo "<tr><td style='background-color:#FFFFFF;text-align:left;'>" . $objective . "</td></tr>\n"; 
} 

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

  • Нет связанных вопросов^_^