За последние 24 часа нас посетили 131369 программистов и 2400 роботов. Сейчас ищут 1350 программистов ...

Php & MySql

Тема в разделе "PHP для новичков", создана пользователем qwertun1, 3 май 2012.

  1. qwertun1

    qwertun1 Активный пользователь

    С нами с:
    3 май 2012
    Сообщения:
    8
    Симпатии:
    0
    <?
    $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'>&nbsp;</th>
    </tr>
    </table>", $myrow["title"]);
    }
    while($myrow = mysql_fetch_array($result));
    ?>

    Php code тут я пытался в цыкле вывести информацыю из БД но выбивает ошибку может кто подскажет в где прокол в коде?
     
  2. sobachnik

    sobachnik Старожил

    С нами с:
    20 апр 2007
    Сообщения:
    3.380
    Симпатии:
    13
    Адрес:
    Дмитров, МО
    Первый прокол в том, что выбрал для изучения именно эти видеоуроки :)
    Какой именно текст ошибки?
    В приведённом коде есть запросы к б.д., но нет подключения к ней.
     
  3. qwertun1

    qwertun1 Активный пользователь

    С нами с:
    3 май 2012
    Сообщения:
    8
    Симпатии:
    0
    )Да лутше всеже по книгам учить!Но всеже надо разобратса.
    Подключение есть я ево просто не вложыл в код!
    $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);
    Связь с БД.
     
  4. sobachnik

    sobachnik Старожил

    С нами с:
    20 апр 2007
    Сообщения:
    3.380
    Симпатии:
    13
    Адрес:
    Дмитров, МО
    Скопируй сюда текст ошибки.

    Добавлено спустя 2 минуты 2 секунды:
    В запросе к базе данных названия полей и таблиц заключай в косые кавычки (те, которые на букве ё при английской раскладке клавиатуры):

    Код (PHP):
    1. $result = mysql_query("SELECT `id`, `title`, `date`, `author`, `description` FROM `index`", $link); 
     
  5. qwertun1

    qwertun1 Активный пользователь

    С нами с:
    3 май 2012
    Сообщения:
    8
    Симпатии:
    0
    И в правду спасибо две ошибки убрало осталась одна!
    Warning: printf() [function.printf]: Too few arguments in Z:\home\site\www\game.php on line 34
     
  6. sobachnik

    sobachnik Старожил

    С нами с:
    20 апр 2007
    Сообщения:
    3.380
    Симпатии:
    13
    Адрес:
    Дмитров, МО
    Для функции printf символ % - это служебный символ. Если нужно передать этой функции строку текста, содержащую этот символ - то его нужно экранировать. Для этого перед ним нужно поставить ещё один символ %.
    В твоём случае это нужно вот в этой строке:
    Код (Text):
    1. <table width='95%' class='game' align='center'>
    Т.е. нужно написать так:
    Код (Text):
    1. <table width='95%%' class='game' align='center'>
     
  7. qwertun1

    qwertun1 Активный пользователь

    С нами с:
    3 май 2012
    Сообщения:
    8
    Симпатии:
    0
    Да все исправило большое спасибо!
     
  8. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    Нет, нужно написать так:
    Код (PHP):
    1. echo "<table width='95%' class='game' align='center'>
    2.  <tr>
    3.  <th scope='row' style='background:#CCC;'>{$myrow["title"]}</th>
    4.  </tr>
    5.  <tr>
    6.  <th scope='row'> </th>
    7.  </tr>
    8.  </table>"; 
     
  9. qwert_ukg

    qwert_ukg Активный пользователь

    С нами с:
    20 июл 2010
    Сообщения:
    387
    Симпатии:
    0
    Адрес:
    Алмата
    я бы сделал так
    Код (Text):
    1. echo '<table width="95%" class="game" align="center">
    2.  <tr>
    3.  <th scope="row" style="background:#CCC;">'.$myrow['title'].'</th>
    4.  </tr>
    5.  <tr>
    6.  <th scope="row">&nbsp;</th>
    7.  </tr>
    8.  </table>';
     
  10. Your

    Your Старожил

    С нами с:
    2 июл 2011
    Сообщения:
    4.074
    Симпатии:
    7
    А я не пользуюсь echo.

    иногда просто для проверки.
     
  11. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    ну и флаг тебе в руки =)
    чем же ты пользуешься, лапочка? расскажи нам свой уникальный метод.
     
  12. html-программист

    html-программист Активный пользователь

    С нами с:
    10 фев 2012
    Сообщения:
    831
    Симпатии:
    4
    Адрес:
    Kiev
    print()?

    Добавлено спустя 8 минут 24 секунды:
    Или даже так:

    Код (PHP):
    1. $str="<table width=\"95%\" class=\"game\" align=\"center\">
    2.  <tr>
    3.  <th scope=\"row\" style=\"background:#CCC;\">".$myrow['title']."</th>
    4.  </tr>
    5.  <tr>
    6.  <th scope=\"row\"> </th>
    7.  </tr>
    8.  </table>";
    9. $str.="</body>
    10. </html>"; 
    и куда-нить в самый низ php-файла запихнуть:
    Код (PHP):
    1. die($str); 
     
  13. YSandro

    YSandro Старожил

    С нами с:
    7 апр 2011
    Сообщения:
    2.523
    Симпатии:
    2
    По теме вроде помогли?

    Код (PHP):
    1. $str='<html><body>контент сайта!';
    2. file_put_contents('temp.txt',$str);
    3. readfile('temp.txt');
    4. //или
    5. include 'temp.txt';
    6. //или
    7. header('Location: temp.txt'); 
    Никаких echo и сразу кеш.
     
  14. Your

    Your Старожил

    С нами с:
    2 июл 2011
    Сообщения:
    4.074
    Симпатии:
    7
    Казявка ты...
    Можешь себе грамоту вручить! =)