<? $result = mysql_query("SELECT id,title,date,author,description FROM index",$link); $myrow = mysql_fetch_array ($result); do{ printf ("<table width='95%' class='game' align='center'> <tr> <th scope='row' style='background:#CCC;'>%s</th> </tr> <tr> <th scope='row'> </th> </tr> </table>", $myrow["title"]); } while($myrow = mysql_fetch_array($result)); ?> Php code тут я пытался в цыкле вывести информацыю из БД но выбивает ошибку может кто подскажет в где прокол в коде?
Первый прокол в том, что выбрал для изучения именно эти видеоуроки Какой именно текст ошибки? В приведённом коде есть запросы к б.д., но нет подключения к ней.
)Да лутше всеже по книгам учить!Но всеже надо разобратса. Подключение есть я ево просто не вложыл в код! $sdb_name = "localhost"; $user_name = "kiril"; $user_password = "12345"; $db_name = "firstbd"; // соединение с сервером базы данных $link = mysql_connect($sdb_name,$user_name,$user_password); mysql_select_db($db_name, $link); Связь с БД.
Скопируй сюда текст ошибки. Добавлено спустя 2 минуты 2 секунды: В запросе к базе данных названия полей и таблиц заключай в косые кавычки (те, которые на букве ё при английской раскладке клавиатуры): Код (PHP): $result = mysql_query("SELECT `id`, `title`, `date`, `author`, `description` FROM `index`", $link);
И в правду спасибо две ошибки убрало осталась одна! Warning: printf() [function.printf]: Too few arguments in Z:\home\site\www\game.php on line 34
Для функции printf символ % - это служебный символ. Если нужно передать этой функции строку текста, содержащую этот символ - то его нужно экранировать. Для этого перед ним нужно поставить ещё один символ %. В твоём случае это нужно вот в этой строке: Код (Text): <table width='95%' class='game' align='center'> Т.е. нужно написать так: Код (Text): <table width='95%%' class='game' align='center'>
Нет, нужно написать так: Код (PHP): echo "<table width='95%' class='game' align='center'> <tr> <th scope='row' style='background:#CCC;'>{$myrow["title"]}</th> </tr> <tr> <th scope='row'> </th> </tr> </table>";
я бы сделал так Код (Text): echo '<table width="95%" class="game" align="center"> <tr> <th scope="row" style="background:#CCC;">'.$myrow['title'].'</th> </tr> <tr> <th scope="row"> </th> </tr> </table>';
print()? Добавлено спустя 8 минут 24 секунды: Или даже так: Код (PHP): $str="<table width=\"95%\" class=\"game\" align=\"center\"> <tr> <th scope=\"row\" style=\"background:#CCC;\">".$myrow['title']."</th> </tr> <tr> <th scope=\"row\"> </th> </tr> </table>"; $str.="</body> </html>"; и куда-нить в самый низ php-файла запихнуть: Код (PHP): die($str);
По теме вроде помогли? Код (PHP): $str='<html><body>контент сайта!'; file_put_contents('temp.txt',$str); readfile('temp.txt'); //или include 'temp.txt'; //или header('Location: temp.txt'); Никаких echo и сразу кеш.