Перейти к содержимому

Реферальная программа Мегаплана

Партнерская программа Kredov

Нужно вывести список (название в табличке)

#1 andrey75

andrey75
  • Пользователь
  • 27 сообщений
  • Репутация: 0
0

Отправлено 01 Октябрь 2012 - 12:22

такая проблема не получается вывести название в табличке и денвер выдает ошибку (Warning: mysql_fetch_array() expects parameter 1 to be resource)
вот код

<?php

   $result = mysql_query ("SELECT id,title,description,author,date FROM lessons ",$db);


   $myrow = mysql_fetch_array ($result);


do {

printf  ("<table  align='center' class='lesson'>
	<tr>
	<td class='lesson_title'></td>
	</tr>
	<tr>
	<td>%s</td>
	</tr>
	</table>", $myrow["title"]);
	  }

while ($myrow = mysql_fetch_array ($result));
   ?>
подскажите в чем проблема?вроде все делаю правильно

 

 

  • 0

robot

robot
  • Пользователь PRO
  • 2 652 сообщений
  • Репутация: 85
Советую обратить внимание на следующее:
  1. Нужен список блогов с PR и Тиц
  2. Вывести список программ из файла
  3. Вывод из базы в выпадающий список
  4. Вывод списка похожих статей
  5. Помогите, нужно вывести в топ запрос!

#2 matroskin8

matroskin8
  • Пользователь PRO
  • 767 сообщений
  • Репутация: 143

Отправлено 01 Октябрь 2012 - 13:23

Проблема в не совсем качественном коде и, возможно, ошибке в запросе.
1. Забудьте о цикле do-while при работе с результатом запроса. Данный цикл вообще довольно редко используется, ну а при работе с результатом - и подавно.
2. В качестве имен полей лучше не использовать зарезервированные слова типа date, ну а, если уж так хочется, то обрамляйте их в запросе обратными кавычками, явно указывая на имя поля.
3. На этапе дебага всегда проверяйте корректность выполнения запроса, добавляя or die(mysql_error()).
Гораздо правильнее будет сделать так:
<?php
$result = mysql_query("SELECT `id`,`title`,`description`,`author`,`date` FROM lessons ",$db) or die(mysql_error());
while($myrow = mysql_fetch_assoc($result)){
  echo "<table  align='center' class='lesson'>
		<tr>
		<td class='lesson_title'></td>
		</tr>
		<tr>
		<td>{$myrow['title']}</td>
		</tr>
		</table>";
}
?>

  • 1


#3 andrey75

andrey75
    Topic Starter
  • Пользователь
  • 27 сообщений
  • Репутация: 0

Отправлено 01 Октябрь 2012 - 16:46

спасибо!!!все работает теперь !!!
  • 0

#4 matroskin8

matroskin8
  • Пользователь PRO
  • 767 сообщений
  • Репутация: 143

Отправлено 01 Октябрь 2012 - 17:27

Пожалуйста.
  • 0


#5 andrey75

andrey75
    Topic Starter
  • Пользователь
  • 27 сообщений
  • Репутация: 0

Отправлено 01 Октябрь 2012 - 19:03

а скажите еще вот , корректно ли я написал код ?

<?php
$result = mysql_query("SELECT `id`,`title`,`description`,`author`,`date` FROM lessons ",$db) or die(mysql_error());
while($myrow = mysql_fetch_assoc($result)){
  echo "<table  align='center' class='lesson'>
				<tr>
				<td class='lesson_title'><p class='lesson_name'><a href='view_lesson.php?'id={$myrow['id']}>{$myrow['title']}</a></p>

<p class='lesson_adds'>Дата добавления: {$myrow['date']}</p>

<p class='lesson_adds'>Автор урока: {$myrow['author']}</p></td>
				</tr>

				<tr>
<br>
				<td> <p>{$myrow['description']} </p></td>
				</tr>
				</table><br>";
}
?>

  • 0

#6 matroskin8

matroskin8
  • Пользователь PRO
  • 767 сообщений
  • Репутация: 143

Отправлено 01 Октябрь 2012 - 20:29

Гораздо лучше было бы, если бы код был оформлен. Вообще вопрос немного смущает... если код дает ожидаемый результат - значит работает корректно, иначе - нет... логично? :D
На беглый взгляд есть неточность в выводе, в этой строке:
<td class='lesson_title'><p class='lesson_name'><a href='view_lesson.php?'id={$myrow['id']}>{$myrow['title']}</a></p>
В url ссылки закрывающая кавычка стоит не там... поставлена перед параметром id, а должна быть после него:
<td class='lesson_title'><p class='lesson_name'><a href='view_lesson.php?id={$myrow['id']}'>{$myrow['title']}</a></p>
В остальном, вроде, все правильно.
  • 0


#7 andrey75

andrey75
    Topic Starter
  • Пользователь
  • 27 сообщений
  • Репутация: 0

Отправлено 03 Октябрь 2012 - 13:18

У меня еще возник один вопрос . почему то не получается отредактировать статью , попросту не могу перейти по ссылке она просто залипает и всё. вот код, можете помочь? что бы я смог разобраться !

<?
if (!isset($id))
{
$result = mysql_query("SELECT title,id FROM lessons");	 
$myrow = mysql_fetch_array($result);
do
{
printf ("<p><a href='edit_lesson.php?id=%s'>%s</a></p>",$myrow["id"],$myrow["title"]);
}
while ($myrow = mysql_fetch_array($result));
}
else
{
$result = mysql_query("SELECT * FROM lessons WHERE id=$id");	 
$myrow = mysql_fetch_array($result);
print <<<HERE
<form name="form1" method="post" action="update_lesson.php">
		 <p>
		   <label>Введите название урока<br>
			 <input value="$myrow[title]" type="text" name="title" id="title">
			 </label>
		 </p>
		 <p>
		   <label>Введите краткое описание урока<br>
		   <input value="$myrow[meta_d]" type="text" name="meta_d" id="meta_d">
		   </label>
		 </p>
		 <p>
		   <label>Введите ключевые слова для урока<br>
		   <input value="$myrow[meta_k]" type="text" name="meta_k" id="meta_k">
		   </label>
		 </p>
		 <p>
		   <label>Введите дату добавления урока<br>
		   <input value="$myrow[date]" name="date" type="text" id="date" value="2007-01-27">
		   </label>
		 </p>
		 <p>
		   <label>Ведите краткое описание урока с тэгами абзацев
		   <textarea name="description" id="description" cols="40" rows="5">$myrow[description]</textarea>
		   </label>
		 </p>
		 <p>
		   <label>Введите полный текст урока с тэгами
		   <textarea name="text" id="text" cols="40" rows="20">$myrow[text]</textarea>
		   </label>
		 </p>
		 <p>
		   <label>Введите автора урока<br>
		   <input value="$myrow[author]" type="text" name="author" id="author">
		   </label>
		 </p>
<input name="id" type="hidden" value="$myrow[id]">
		 <p>
		   <label>
		   <input type="submit" name="submit" id="submit" value="Сохранить изменения">
		   </label>
		 </p>
	   </form>
HERE;
}

?>

  • 0


Оформление форума – IPBSkins.ru