Андрей, вот тут не нужно на каждую запись делать таблицу в html, достаточно ячейки. Вынеси начало и конец талицы за цикл:
PHP |
if ($_GET['event'] == 'allusers') { $link=mysql_connect($DBSERVER,$DBUSER,$DBPASS) or die("fuck db"); $sql = 'SELECT * FROM `allday`.`schule`'; $q=mysql_query($sql); echo '<table border=0 bgcolor=red cellpadding=2>'; while ($sh=mysql_fetch_array($q)) { echo '<tr><td bgcolor=yellow width=25>'.$sh[0].'</td><td bgcolor=Lime width=100><br><font color=red>Pass:</font></td><td width=100 bgcolor=blue>'.$sh[1].'</td><td bgcolor=Lime width=100> <font color=red>E-Mail:</font></td><td bgcolor=blue width=100>'.$sh[2].'</td><td><a href=?event=edit&uid='.$sh[0].'>Edit</a></td></tr>'; } echo '</table>'; } |
Во втором случае так же точно с формой. Еще я не пойму, зачем ты треплешь две таблицы, у тебя как данные располагаются в базе? Зачем ты запрос сразу к двум таблицам делаешь?
А если ты хочешь одного юзера отредактировать, то цикл совсем не нужен. Попробуй без цикла:
PHP |
<?
if($_GET['event'] == 'edit') { $sql = "SELECT * FROM `allday` WHERE `id`='".(int)$_GET['uid']."' "; $q = mysql_query($sql); echo "<form action=?event=editname method=POST><input type=text value=\"".htmlspecialchars(mysql_result($q,0,1))."\" name=email> <input type=submit value=Aendern name=send></form>"; } |
И обрати внимание на стиль написания кода. Я бы тебе посоветовал несколько правил:
1. Фигурную скобку ставить прямо под выражением:
PHP |
if ($_GET['event'] == 'allusers') { |
2. Если выражение вложено, то есть находится внутри другого, сдвигать его вправо табулятором. Вот так:
PHP |
<? if ($_GET['event'] == 'allusers') { $link=mysql_connect($DBSERVER,$DBUSER,$DBPASS) or die("fuck db"); $sql = 'SELECT * FROM `allday`.`schule`'; $q=mysql_query($sql); echo '<table border=0 bgcolor=red cellpadding=2>'; while ($sh=mysql_fetch_array($q)) { |
3. Закрывающую скобку ставить точно под открывающей:
PHP |
<? if ($_GET['event'] == 'allusers') { $link = mysql_connect($DBSERVER,$DBUSER,$DBPASS) or die("fuck db"); $sql = 'SELECT * FROM `allday`.`schule`'; $q=mysql_query($sql); echo '<table border=0 bgcolor=red cellpadding=2>'; while ($sh = mysql_fetch_array($q)) { echo '<tr><td bgcolor=yellow width=25>'.$sh[0].'</td><td bgcolor=Lime width=100> <br><font color=red>Pass:</font></td><td width=100 bgcolor=blue>'.$sh[1].'</td>< td bgcolor=Lime width=100> <font color=red>E-Mail:</font></td> <td bgcolor=blue width=100>'.$sh[2].'</td><td><a href=?event=edit&uid='.$sh[0].'>Edit</a>< /td></tr>'; } echo '</table>'; } |
Операторы сравнения и присвоения выделять пробелами. Писать не так:
PHP |
<? while ($sh=mysql_fetch_array($q)) |
а так:
PHP |
<? while ($sh = mysql_fetch_array($q)) |
Тогда всем будет понятно, что ты хотел сделать, да и самому будет гораздо проще разбираться в своем коде.