Доброго всем времени суток, я только учусь и поэтому прошу не пенайте ногами... Имеется скрипт в который из базы mysql заводим данные для создания ссылок я использовал поля id и mail для названия ссылки всё это работает отлично но вот данные выводить не получается в поле data то есть нажимаю ссылку в url браузера id меняется но переход не происходит выдаёт ошибку, ткните пожалуйста носом где я ошибся, заранее всем Спасибо! Вот код: PHP: <?php $link=mysql_pconnect('localhost','mail','123456'); if(!$link){ print "Соединение с сервером не установлено";} $db=mysql_select_db('mail', $link); if(!$db){ print "Соединение с базой не установлено";} $result = mysql_query("SELECT id, email, data FROM mailrec"); while ($row = mysql_fetch_array($result)) { printf ('<a href=?id='.$row["id"].'>'.$row["email"].'</a>', $row["data"]);// берём из таблицы id для выборки и заголовок title для отображения в ссылке print "<br>"; // printf ($row["data"]); //проверка подключиласьли data, всё в порядке данные есть } ?><table width="200" border="1"> <tr> <td><? $arr = array("1", "2","3","4","5"); if (!isset($_GET['id'])) print "пока пусто"; //если страница открыта выдаём сообщение elseif (in_array($_GET['id'],$arr)) printf ($row["data"]); //если была выбрана ссылка выдаём данные из таблицы mysql_free_result($result); ?> </td> </tr> </table>
Сделал так всё заработало но правильно ли, дайте пожалуйста совет PHP: <?php $link=mysql_pconnect('localhost','mail','123456'); if(!$link){ print "Соединение с сервером не установлено";} $db=mysql_select_db('mail', $link); if(!$db){ print "Соединение с базой не установлено";} $result = mysql_query("SELECT id, email FROM mailrec"); while ($row = mysql_fetch_array($result)) { printf ('<a href=?id='.$row["id"].'>'.$row["email"].'</a>');// берём из таблицы id для выборки и заголовок title для отображения в ссылке print "<br>"; } mysql_free_result($result); ?><table width="200" border="0" align="center"> <tr> <td><? if (!isset($_GET['id'])) print "Добро пожаловать"; elseif ($_GET['id']>1) $anything = intval(@$_GET['id']); $query = "select * from mailrec where id='$anything'"; $result = mysql_query($query); while ($row = mysql_fetch_assoc($result)) { echo "{$row['data']}"; } ?> </td> </tr> </table>
PHP: <?php elseif (is_numeric($_GET['id']) and $_GET['id'] > 1){ $anything = intval(@$_GET['id']); // тут запрос $query = "select * from mailrec where id='$anything'"; $result = mysql_query($query); while ($row = mysql_fetch_assoc($result)) { echo "{$row['data']}"; } } Во-первых, $_GET['id'] будет больше одного, если даже будет '123sss'. Во-вторых, будет лишний запрос к базе даже, если !isset($_GET['id']).