ФорумПрограммированиеPHP для идиотов → Помогите пожалуйста! Выдает ошибку которую я не пойму

Помогите пожалуйста! Выдает ошибку которую я не пойму

  • aspirins

    Сообщения: 5 Репутация: N Группа: Кто попало

    Spritz 1 января 2010 г. 4:42, спустя 17 минут 20 секунд

    Здравствуйте!

    Помогите пожалуйста решить проблему. Буду очень благодарен!!!

    Warning: printf() [function.printf]: Too few arguments in Z:\home\localhost\www\tem_php\view_article.php on line 34 - выдает ошибку на строку 34

    Коннект с базой есть и все нормально

    очень надеюсь на вашу помощь.

    Заранее спасибо!


    <? include ("blocks/db.php");
    $result = mysql_query("SELECT * FROM settings_article");
    $myrow = mysql_fetch_array($result);
    ?>
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html>
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
    <title><? echo $myrow['title']; ?></title>
    <link href="css/style.css" rel="stylesheet" type="text/css">
    </head>
    <body>
    <div id="page">
    <div id="header"><div id="logo"><span class="orange-text">Sport</span>Club</div>
    </div>
    <div class="menu">
    <? include ("blocks/top.php"); ?>
    </div>
    <div id="content"><table width="100%" border="0" cellspacing="0" cellpadding="0">
    <tr valign="top"><? echo $myrow['text']; ?>
    <?php
    $result2 = mysql_query("SELECT id,title,date,author,description FROM article",$db);
    if (mysql_num_rows ($result2) > 0){
    $myrow2 = mysql_fetch_array($result2);
    do {
    printf (" <table width='100%' border='0'>
    <tr class='stat_sb'>
    <td height='85' valign='top' class='stat_bord'><p class='stat_title' align='center'><a href='view_article.php?id=%s'>%s</a></p>
    <p class='stat_k'>Дата: %s<br>Автор: %s</p></td>
    </tr>
    <tr>
    <td valign='top' class='stat_bord'>Описание:<br>%s</td>
    </tr>
    </table>", $myrow2["id"], $myrow2["title"], $myrow2["date"], $myrow2["author"], $myrow2["description"] );

    }
    while ($myrow2 = mysql_fetch_array($result2));

    }
    else { echo "Не получилось"; }


    ?>
    </tr>
    </table>
    </div>
    <div id="footer">
    <? include ("blocks/footer.php"); ?>
    </div>
    </div>

    </body>
    </html>





    34 строка это

    </table>", $myrow2["id"], $myrow2["title"], $myrow2["date"], $myrow2["author"], $myrow2["description"] );

  • phpdude

    Сообщения: 26624 Репутация: N Группа: в ухо

    Spritz 1 января 2010 г. 3:50, спустя 23 часа 7 минут 55 секунд

    судя по переводу ошибки и громадному куску хтмла, у тебя %s больше чем аргументов, которые ты передаешь в printf

    зы: почитай про шаблонизаторы
    Сапожник без сапог
  • aspirins

    Сообщения: 5 Репутация: N Группа: Кто попало

    Spritz 1 января 2010 г. 4:00, спустя 10 минут 28 секунд

    вроде %s столько же сколько $myrow[""] 5 и 5
  • phpdude

    Сообщения: 26624 Репутация: N Группа: в ухо

    Spritz 1 января 2010 г. 4:04, спустя 3 минуты 25 секунд

    ну видимо все таки не так чтото где то, проверяй четче. и посмотри в сторону шаблонизаторов, умоляю :)

    smarty.net тебе пример неплохого
    Сапожник без сапог
  • aspirins

    Сообщения: 5 Репутация: N Группа: Кто попало

    Spritz 1 января 2010 г. 4:11, спустя 6 минут 51 секунду

    есть инструкция по этому шаблонизатору ?

    Но все же хочу помощи!!
  • Ewg777

    Сообщения: 510 Репутация: N Группа: Джедаи

    Spritz 1 января 2010 г. 4:14, спустя 3 минуты 42 секунды


    Но все же хочу помощи!!
    http://phpfaq.ru/debug
  • aspirins

    Сообщения: 5 Репутация: N Группа: Кто попало

    Spritz 1 января 2010 г. 4:16, спустя 1 минуту 25 секунд

    EWG я там читал ничего не понял.

    Пожалуйста найдите ошибку буду очень признателен, я сам и так не успеваю закончить этот сайт на php

    Очень прошу!!

    Буду благодарен очень!
  • Ewg777

    Сообщения: 510 Репутация: N Группа: Джедаи

    Spritz 1 января 2010 г. 4:25, спустя 8 минут 54 секунды


    я там читал ничего не понял.
    Ваш ник выпейтие, может опустит.
  • NRG

    Сообщения: 4761 Репутация: N Группа: в ухо

    Spritz 1 января 2010 г. 4:44, спустя 19 минут 7 секунд

    попробуй заэкранить процент в этой строке
    width='100%'
    хз, может он на него ругается
  • aspirins

    Сообщения: 5 Репутация: N Группа: Кто попало

    Spritz 1 января 2010 г. 4:48, спустя 4 минуты 36 секунд

    NRG большое спасибо!!!!

    Да. В этом виноват width='100%'

    Надо запомнить что в printf нельзя ставить ширину или высоту в процентах (%)

    Большое Вам спасибо NRG.
  • Troy

    Сообщения: 2532 Репутация: N Группа: Джедаи

    Spritz 1 января 2010 г. 4:57, спустя 9 минут 9 секунд

    aspirins, гы , он вобще-то про кавычки сказал
  • Givi

    Сообщения: 2284 Репутация: N Группа: Адекваты

    Spritz 1 января 2010 г. 9:50, спустя 4 часа 52 минуты 58 секунд

    Troy, не про кавычки, а про "заэкранивание", то есть, просто сделать вот так: " width='100\%'  "
  • rider-sx

    Сообщения: 2706 Репутация: N Группа: Адекваты

    Spritz 1 января 2010 г. 10:36, спустя 45 минут 49 секунд

    aspirins, Можно хоть в тугриках монгольских, достаточно будет понять что некоторые символы интерпретатор воспринимает по особенному :)
  • zaxar

    Сообщения: 33 Репутация: N Группа: Кто попало

    Spritz 13 января 2010 г. 9:18, спустя 11 дней 22 часа 42 минуты


    Да. В этом виноват width='100%'

    Надо запомнить что в printf нельзя ставить ширину или высоту в процентах (%)


    Нет. Лучше запомнить, что чтобы поставить ширину в процентах, надо написать 100%%. А не 100\%
  • adw0rd

    Сообщения: 22905 Репутация: N Группа: в ухо

    Spritz 13 января 2010 г. 9:23, спустя 4 минуты 52 секунды

    zaxar, с возвращением!
    Спустя 18 сек.
    "возвращение джедая" :)
    adw/0

Пожалуйста, авторизуйтесь, чтобы написать комментарий!