Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Помогите с таблицой в printf()

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (2): [1] 2 »   

> Без описания
Мужик
Отправлено: 27 Декабря, 2011 - 12:57:12
Post Id



Гость


Покинул форум
Сообщений всего: 70
Дата рег-ции: Июль 2011  
Откуда: Болгария


Помог: 0 раз(а)




Приветствую, одним словом уже замахался эту чертову таблицу бадяжить, других слов нет, все вроде как казалось легко, но в конце нервы не выдержали, не все уж так легко как казалось!

Собственно что я хотел попросить вас, нужно сделать табличку с 3 колонок
-------------------------------
ID l страница l действие
-------------------------------
а дальше чтоб выводились по id страницы

Вот этот кусок кода в printf();

PHP:
скопировать код в буфер обмена
  1. <?
  2. if (!isset($id))
  3. {
  4. $result = mysql_query("SELECT id,title FROM settings");      
  5. $myrow = mysql_fetch_array($result);
  6.  
  7. do
  8. {
  9. printf ("<p><a href='edit_text.php?id=%s'>%s</a></p>",$myrow["id"],$myrow["title"]);
  10. }
  11.  
  12. while ($myrow = mysql_fetch_array($result));
  13. }
  14. else
  15. {
  16. $result = mysql_query("SELECT * FROM settings WHERE id=$id");      
  17. $myrow = mysql_fetch_array($result);
  18.  
  19. print <<<HERE
  20. <form name="form1" method="post" action="update_text.php">
  21.          <p>
  22.            <label>Введите название страницы (title)<br>
  23.              <input value="$myrow[title]" type="text" name="title" id="title">
  24.              </label>
  25.          </p>
  26.          <p>
  27.            <label>Введите краткое описание страницы<br>
  28.            <input value="$myrow[meta_d]" type="text" name="meta_d" id="meta_d">
  29.            </label>
  30.          </p>
  31.          <p>
  32.            <label>Введите ключевые слова для страницы<br>
  33.            <input value="$myrow[meta_k]" type="text" name="meta_k" id="meta_k">
  34.            </label>
  35.          </p>
  36.        
  37.          <p>
  38.            <label>Введите полный текст страницы с тэгами
  39.            <textarea name="text" id="text" cols="40" rows="20">$myrow[text]</textarea>
  40.            </label>
  41.          </p>
  42.          
  43.                  <input name="id" type="hidden" value="$myrow[id]">
  44.                  
  45.          <p>
  46.            <label>
  47.            <input type="submit" name="submit" id="submit" value="Сохранить изменения">
  48.            </label>
  49.          </p>
  50.        </form>
  51. HERE;
  52. }
  53. ?>


Благодарю за помощь


-----
icq 00000
 
 Top
lamozavrik
Отправлено: 27 Декабря, 2011 - 13:12:37
Post Id



Частый гость


Покинул форум
Сообщений всего: 161
Дата рег-ции: Дек. 2011  


Помог: 4 раз(а)




Мужик пишет:
do
{
printf ("<p><a href='edit_text.php?id=%s'>%s</a></p>",$myrow["id"],$myrow["title"]);
}

while ($myrow = mysql_fetch_array($result));


А зачем собственно такое городить? ) Не легче сделать так?

PHP:
скопировать код в буфер обмена
  1.  
  2. $result = mysql_query("SELECT id,title FROM settings");      
  3.  
  4. while($myrow = mysql_fetch_array($result)){
  5.     echo "<p><a href='edit_text.php?id=".$myrow["id"]."'>".$myrow["title"]."</a></p>";
  6. }
  7.  


Это во первых, а во вторых на месте подстановки id в printf ("<p><a href='edit_text.php?id=%s'>%s</a></p>",$myrow["id"],$myrow["title"]);
правильнее былобы помоему подставить %d, так, как id имеет числовой тип.

(Отредактировано автором: 27 Декабря, 2011 - 13:34:00)



-----
Ударим крепким сном по мукам совести!
 
 Top
Мужик
Отправлено: 27 Декабря, 2011 - 13:19:01
Post Id



Гость


Покинул форум
Сообщений всего: 70
Дата рег-ции: Июль 2011  
Откуда: Болгария


Помог: 0 раз(а)




lamozavrik извините поповичи разные так учат, приходиться по мануалу учить все но не все выходит


-----
icq 00000
 
 Top
lamozavrik
Отправлено: 27 Декабря, 2011 - 13:30:55
Post Id



Частый гость


Покинул форум
Сообщений всего: 161
Дата рег-ции: Дек. 2011  


Помог: 4 раз(а)




Мужик пишет:
lamozavrik извините поповичи разные так учат, приходиться по мануалу учить все но не все выходит


Да видел я мельком тот курс поповича... Вот это его do{}while() и printf() всем новичкам мозги пудрит.

(Отредактировано автором: 27 Декабря, 2011 - 13:33:43)



-----
Ударим крепким сном по мукам совести!
 
 Top
Мужик
Отправлено: 27 Декабря, 2011 - 13:39:29
Post Id



Гость


Покинул форум
Сообщений всего: 70
Дата рег-ции: Июль 2011  
Откуда: Болгария


Помог: 0 раз(а)




lamozavrik спасибо за поправку, на будущие забуду про эти функции


-----
icq 00000
 
 Top
lamozavrik
Отправлено: 27 Декабря, 2011 - 13:52:26
Post Id



Частый гость


Покинул форум
Сообщений всего: 161
Дата рег-ции: Дек. 2011  


Помог: 4 раз(а)




Мужик пишет:
lamozavrik спасибо за поправку, на будущие забуду про эти функции

Забывать про них не надо! Просто применяются они немного в других случаях. Например цикл do{}while() применяется в том случае, когда не зависимо от условия один проход цикла должен быть по любому. То есть сначала проходит один цикл, а потом проверяет условие, а цикл while(){} сначала проверяет условие, а потом, если условие истина, то проходит цикл.
(Добавление)
Вот тут можете почитать о printf()


-----
Ударим крепким сном по мукам совести!
 
 Top
etoYA
Отправлено: 27 Декабря, 2011 - 14:11:28
Post Id



Участник


Покинул форум
Сообщений всего: 1859
Дата рег-ции: Июль 2011  
Откуда: Крым


Помог: 21 раз(а)




Мужик, забудьте про видео уроки)
 
 Top
lamozavrik
Отправлено: 27 Декабря, 2011 - 14:15:17
Post Id



Частый гость


Покинул форум
Сообщений всего: 161
Дата рег-ции: Дек. 2011  


Помог: 4 раз(а)




etoYA пишет:
Мужик, забудьте про видео уроки)

Особенно про поповщину )


-----
Ударим крепким сном по мукам совести!
 
 Top
Мужик
Отправлено: 27 Декабря, 2011 - 14:35:56
Post Id



Гость


Покинул форум
Сообщений всего: 70
Дата рег-ции: Июль 2011  
Откуда: Болгария


Помог: 0 раз(а)




etoYA уже забыл, просто уже начитан про его опыт в PHP


-----
icq 00000
 
 Top
Мужик
Отправлено: 27 Декабря, 2011 - 16:53:04
Post Id



Гость


Покинул форум
Сообщений всего: 70
Дата рег-ции: Июль 2011  
Откуда: Болгария


Помог: 0 раз(а)




А кто может сделать форму в 3 колонки?
PHP:
скопировать код в буфер обмена
  1.  
  2. $result = mysql_query("SELECT id,title FROM settings");      
  3.  
  4. while($myrow = mysql_fetch_array($result)){
  5.  
  6.   echo "
  7.  <tr>
  8.         <td class=tabledata>$myrow[id]</td>
  9.         <td class=tabledata>$myrow[title]</td>
  10.         <td class=tabledata>
  11.                 <a href= ><img style=\"border: 0px solid ; width: 17px; height: 17px;\" alt=\"Добавить страницу\" src=\"templates/images/transaction.png\"></a>&nbsp;</a>
  12.                 <a href= ><img style=\"border: 0px solid ; width: 17px; height: 17px;\" alt=\"Редактировать\" src=\"templates/images/key.png\"></a>&nbsp;</a>
  13.                 <a href= ><img style=\"border: 0px solid ; width: 17px; height: 17px;\" alt=\"Удалить страницу\" src=\"templates/images/delete.png\"></a>&nbsp;</a>
  14.         </td>
  15.   </tr>";
  16.    
  17.  
  18.  
  19. }
  20.  

Я не знаю что я сделал, но у меня почти получилось все данные извлеклись только вот дизайн покривило до ужаса

CODE (html):
скопировать код в буфер обмена
  1. <TABLE cellSpacing=1 cellPadding=2 width="100%" border=0>
  2.  <TBODY>
  3.   <TR class=colheader >
  4.       <TD width="3%"><div align="center">ID</div></TD>
  5.       <TD width="10%"><div align="center">Страница сайта</div></TD>
  6.       <TD width="10%"><div align="center">Действие</div></TD>
  7.   </TR>
  8.  </TBODY>
  9. </TABLE>



В общем я не хаваю как html в php внедрять таким образом чтоб четко все било, помогите если можно порешать эту табличку, а то я все это время сижу уже голова вообще не работает

(Отредактировано автором: 27 Декабря, 2011 - 16:54:55)



-----
icq 00000
 
 Top
armancho7777777 Супермодератор
Отправлено: 27 Декабря, 2011 - 17:09:03
Post Id



Активный участник


Покинул форум
Сообщений всего: 4526
Дата рег-ции: Февр. 2011  
Откуда: Москва


Помог: 221 раз(а)




Выкиньте ото позорище - говнокод поповский.
Если хотите учить язык именно по видео-урокам(многие лучше понимают, когда им наглядно объясняют), то вот Вам ссылка на видеоуроки
"Специалист" | "PHP. Уровень 1, 2, 3 и 4":
http://nnm-club[dot]ru/forum/viewtopic.php?t=290401
От основ до ООП. Мужих очень хорошо всё объясняет, доходчиво. Хотя голос сам (не звук) может не понравиться Радость

(Отредактировано автором: 27 Декабря, 2011 - 17:09:28)

 
 Top
Мужик
Отправлено: 27 Декабря, 2011 - 17:31:49
Post Id



Гость


Покинул форум
Сообщений всего: 70
Дата рег-ции: Июль 2011  
Откуда: Болгария


Помог: 0 раз(а)




armancho7777777 мне говнокод не помеха, не бросать же все, столько времени потратил!


-----
icq 00000
 
 Top
armancho7777777 Супермодератор
Отправлено: 27 Декабря, 2011 - 18:18:21
Post Id



Активный участник


Покинул форум
Сообщений всего: 4526
Дата рег-ции: Февр. 2011  
Откуда: Москва


Помог: 221 раз(а)




Я бы бросил и начал всё заново.
Что и сделал когда-то)
Сам начинал с поповского говнокода)
Потом, когда увидел, как кодить надо, был в шоке от того, чему он там учит.
(Добавление)
Плю в коде "аля попов" много уязвимостей.
(Добавление)
Вот, сравните:

аля попов:
PHP:
скопировать код в буфер обмена
  1.  
  2. $result = mysql_query("SELECT id,title FROM settings");      
  3.  
  4.  
  5.  
  6. while($myrow = mysql_fetch_array($result)){
  7.  
  8.   echo "
  9.  
  10.  <tr>
  11.  
  12.        <td class=tabledata>$myrow[id]</td>
  13.  
  14.        <td class=tabledata>$myrow[title]</td>
  15.  
  16.        <td class=tabledata>
  17.  
  18.                <a href= ><img style=\"border: 0px solid ; width: 17px; height: 17px;\" alt=\"Добавить страницу\" src=\"templates/images/transaction.png\"></a>&nbsp;</a>
  19.  
  20.                <a href= ><img style=\"border: 0px solid ; width: 17px; height: 17px;\" alt=\"Редактировать\" src=\"templates/images/key.png\"></a>&nbsp;</a>
  21.  
  22.                <a href= ><img style=\"border: 0px solid ; width: 17px; height: 17px;\" alt=\"Удалить страницу\" src=\"templates/images/delete.png\"></a>&nbsp;</a>
  23.  
  24.        </td>
  25.  
  26.   </tr>";
  27.  
  28. }
  29.  
  30.  
  31.  


и, хотя бы так:

style.css

CODE (htmlphp):
скопировать код в буфер обмена
  1.  
  2.  
  3. .img1 {
  4.         border:0;
  5.         width: 17px;
  6.         height: 17px;
  7.         }
  8.  
  9.  


PHP:
скопировать код в буфер обмена
  1.  
  2. $result = mysql_query("SELECT `id`, `title` FROM `settings`");      
  3. while($myrow = mysql_fetch_assoc($result)){
  4.  include "file.html";
  5. }
  6.  



... фаил file.php:

CODE (html):
скопировать код в буфер обмена
  1.  
  2.   <tr>
  3.  
  4.     <td class="tabledata"><?=htmlspecialchars($myrow[id])?></td>
  5.  
  6.     <td class="tabledata"><?=htmlspecialchars($myrow[title])?></td>
  7.  
  8.       <td class="tabledata">
  9.      
  10.          <a href="#">
  11.          <img class="img1" alt="Добавить страницу" src="templates/images/transaction.png">
  12.          </a>
  13.          
  14.          <a href="#">&nbsp;</a>
  15.  
  16.           <a href="#">
  17.           <img class="img1" alt="Редактировать" src="templates/images/key.png">
  18.           </a>
  19.          
  20.           <a href="#">&nbsp;</a>
  21.  
  22.           <a href="#">
  23.           <img class="img1" alt="Удалить страницу" src="templates/images/delete.png">
  24.           </a>
  25.          
  26.           <a href="#">&nbsp;</a>
  27.          
  28.         </td>
  29.        
  30.    </tr>
  31.  

(Отредактировано автором: 27 Декабря, 2011 - 18:52:21)

 
 Top
Мужик
Отправлено: 27 Декабря, 2011 - 18:37:57
Post Id



Гость


Покинул форум
Сообщений всего: 70
Дата рег-ции: Июль 2011  
Откуда: Болгария


Помог: 0 раз(а)




Аля я сделал что хотел сорь Язычок

Мозги включил и сделал так


PHP:
скопировать код в буфер обмена
  1. <TABLE cellSpacing=1 cellPadding=2 width="100%" border=0>
  2.  
  3.   <TR class=colheader >
  4.       <TD width="2%"><div align="center">ID</div></TD>
  5.       <TD width="10%"><div align="center">Страница сайта</div></TD>
  6.       <TD width="2%"><div align="center">Действие</div></TD>
  7.   </TR>
  8.  
  9. <?PHP
  10. if (!isset($id))
  11. {
  12. $result = mysql_query("SELECT id,title FROM settings");      
  13.  
  14. while($myrow = mysql_fetch_array($result)){
  15.  
  16.   echo "<tr>\n";
  17.   echo "<td class=tabledata><center>".$myrow['id']."</td>\n";
  18.   echo "<td class=tabledata>".$myrow['title']."</td>\n";
  19.   /*Генерируем ссылку на управление*/
  20.   echo "<td class=tabledata><a href='edit_text.php?id=".$myrow["id"]."'><img style=\"border: 0px solid ; width: 17px; height: 17px;\" alt=\"Изменить данные\" src=\"templates/images/edit.png\"></a></td>\n";
  21.   echo "</tr>\n";
  22. }
  23. echo ("</table>\n");
  24. }


мне стыдно за нубство, все таки качну те уроки, по отзывам говорят поповичи отдыхают

(Отредактировано автором: 27 Декабря, 2011 - 18:39:39)



-----
icq 00000
 
 Top
armancho7777777 Супермодератор
Отправлено: 27 Декабря, 2011 - 18:45:59
Post Id



Активный участник


Покинул форум
Сообщений всего: 4526
Дата рег-ции: Февр. 2011  
Откуда: Москва


Помог: 221 раз(а)




Не мешало бы HTML разметку поучить.
(Добавление)
Мужик пишет:
все таки качну те уроки
И мануал читайте обязательно.
Здесь, на сайте, мануал хороший.

(Отредактировано автором: 27 Декабря, 2011 - 18:53:29)

 
 Top
Страниц (2): [1] 2 »
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Напишите за меня, пожалуйста »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB