Я хочу выбрать несколько столбцов из TABLE, но сценарий не работает после запуска цикла while. мой код php и html:
<table border="0"> include_once $_SERVER['DOCUMENT_ROOT'].'/include/db.inc.php' ; $sql="select post_title,post_desc,post_date,course,semester,firstname,lastname FROM wbut_forum_posts left join users on post_by = email ORDER BY post_id DESC LIMIT 25"; $result = mysqli_query($link,$sql ); if (!$result) { include_once "wall.html.php"; echo'<tr><td align="center"> OOOOPPPPPSSS!!!SORRY,UNABLE TO DISPLAY LATEST 25 TOPICS</td></tr>'; exit(); } while ($row = mysqli_fetch_array($result)) { $titles[] = $row['post_title']; $descs[] = $row['post_desc']; $dates[] = $row['post_date']; $courses[] = $row['course']; $semesters[] = $row['semester']; $firstnames[] = $row['firstname']; $lastnames[] = $row['lastname']; } $cnt=0; foreach ($titles as $x) { $title[$cnt]=$x; $cnt=$cnt+1; } $cnt=0; foreach ($firstnames as $x) { $firstname[$cnt]=$x; $cnt=$cnt+1; } $cnt=0; foreach ($lastnames as $x) { $lastname[$cnt]=$x; $cnt=$cnt+1; } $cnt=0; foreach ($descs as $x) { $descs[$cnt]=$x; $cnt=$cnt+1; } $cnt=0; foreach ($dates as $x) { $date[$cnt]=$x; $cnt=$cnt+1; } $cnt=0; foreach ($courses as $x) { $courses[$cnt]=$x; $cnt=$cnt+1; } $cnt=0; foreach ($semesters as $x) { $semester[$cnt]=$x; $cnt=$cnt+1; } echo'AFTER FOREACHES'; for ($i=0;$i<$cnt;$i=$i+1) { echo'<table border="0">'; echo'<tr>'; echo '<td align="left"><span class="style1">'; echo $firstname[$i] . " " . $lastname[$i] ; echo '</span></td>'; echo '<td align="center" colspan="2">RELATED COURSE :'; echo $course[$i]; echo ' RELATED SEMESTER:'; echo $semester[$i]; echo '</td>'; echo '</tr>'; echo '<tr>'; echo '<td> </td>'; echo'<td align="left"><span class="style3">'; echo $desc[$i]; echo '</span></td>'; echo'<td valign="baseline">'; echo $date[$i]; echo '</td>'; echo '</tr>'; echo'<tr>'; echo '<td> </td>'; echo '<td align="left" background="reply_bg.gif"><span class="style3"> '; echo 'echo the replies here'; echo '</span>'; echo '</td>'; echo'<td> </td>'; echo '</tr>'; echo '<tr>'; echo '<td> </td>'; echo '<form action="reply.html.php" method="post"><td align="left" ><textarea rows="5" cols="40" name="reply" id="reply"></textarea> </td><td valign="baseline"><input type="submit" name="asd" value="REPLY" /><input type="hidden" name="reply" value="reply" /></td></form>'; echo ' </tr>'; echo '</table>'; } echo' CLOSING MAIN FOR '; ?> </table>
примечание 1: не работает. Я повторил в разных местах. Я заметил, что он точно останавливается, пока цикл while
$sql
, где $result
? $result = mysql_query($sql) **or die(mysql_error)** // to give the output error from MySQL if there is any
while
используйте var_dump($row)
или print_r($row)
. error_reporting(E_ALL);
в начале вашего сценария. Изменить: Извините, вы используете MySQLi. Используйте $mysqli->error
.
У вас нет открытого PHP-тега в первой строке вашего кода. Должен быть:
<table border="0"><?