Выборка из Mysql и распечатка в Php

Статус
Закрыто для дальнейших ответов.

ZitosS_32

Совесть
Регистрация
12.03.2006
Сообщения
852
Уважаемые умельцы! :cool:
1. Как можно осуществить выборку из Mysql и распечатку в php
Вот у меня есть (админпанель->Добавить новость)
Здесь я ввожу данные и заношу в Mysql Данные полученные из форм!
Автора темы, название темы, сообщение, дату, время.
mysql_query("INSERT INTO clan_news SET title='$title',author='$author',msg='$msg',date='$date',time='$time'");

И все новости надо распечатать позже на главной страничке!
Как это осуществить??? :blink:

2.как сделать перенос строки в распечатке новости,
Не ставя br в сообщении(т.е. когда пишешь сообщение, то нажатие интер будет как br)
 

R1S

Well-Known Member
Регистрация
11.01.2006
Сообщения
160
Ну на главной странице делаим выборку из БД, выводим и все, если я правильно понял :)
 

ZitosS_32

Совесть
Регистрация
12.03.2006
Сообщения
852
Мне бы помочь в создании кода!
чтобы он выбирал по значениям построчно и выставлял их
Мне кажется это можно сделать с помощью foreach, но как? :huh:
 

R1S

Well-Known Member
Регистрация
11.01.2006
Сообщения
160
эм... делаим примерно так
Код:
  $query="SELECT * FROM clan_news";
	   $news=mysql_query($query);
	   if ($news)
	   {
		while ($blabla=mysql_fetch_array($news))
		{
		 //  здесь буим выводить новасти
		 echo 'название'.$blabla['title'].'<br> аффтор'.$blabla['author'].'<br> новасть'.$blabla['msg'].'<br> дата и время'.$blabla['date'].$blabla['time'];
		// фродь таг :)
		}
	   }
	   else
	   {
		$error='мускул еррор';
	   }
 

ZitosS_32

Совесть
Регистрация
12.03.2006
Сообщения
852
Вот сделал самую простенькую!
А она всё равно не прёт(синтаксис типа где-то не правильный):
Код:
<?

error_reporting (E_ALL);

include "mysql_connect.php";

include "config.php";

include "top.php";
  
	 $query="SELECT * FROM clan_news";
	   $news=mysql_query($query);
	   if ($news){
		while ($news_add=mysql_fetch_array($news)){
	   function news(){
	   global $now;
	   $now="";
	   $now .=<<<EOF
	   <table border='1' bgcolor='#EAEAD9' width='100%'>
		<tr><td align=center>{$news_add['title']}</td></tr>
	  <tr><td align=center>{$news_add['author']}</td></tr>
		<tr><td>{$news_add['msg']}</td></tr>
 	  <tr><td align=center>Дата и время: {$news_add['date']} в {$news_add['time']}</td></tr>
		 </table><br><br>
		 EOF;
	  echo $now;
	  return $now;
	   }
	   news();
	   }
	   }else{
		$error='мускул еррор';
	   }



include "foother.php";


?>
Не могу понять в чём проблема(ищу ищу, а найти не могу :cool: )
Ссылается на строку которой вовсе нет(которая должна идти после последней)

Вот ошибка:
Parse error: parse error, unexpected $end in k:\home\localhost\www\proect\index.php on line 41

Кто знает, скажите!
 

R1S

Well-Known Member
Регистрация
11.01.2006
Сообщения
160
ну ошибки находить удобно коментируя блоки кода, от большего к меньшему.
 

ZitosS_32

Совесть
Регистрация
12.03.2006
Сообщения
852
Всё получилось вот при таком раскладе :cool:

Код:
<?
global $blabla;
$news=mysql_query("SELECT * FROM clan_news");
	   if ($news){
		while ($blabla=mysql_fetch_array($news)){
	   global $now;
	   $now ="
	  <tr>
		<td width=10 background='images/hr.gif'></td>		
   <td width=730 bgcolor=#E4E4CF>	
	   <table align=center border='1' bgcolor='#EAEAD9' width='90%'>
		<tr><td align=center>".$blabla['title']."</td></tr>
	  <tr><td align=center>".$blabla['author']."</td></tr>
		<tr><td>".$blabla['msg']."</td></tr>
 	  <tr><td align=center>Дата и время: ".$blabla['date']." в ".$blabla['time']."</td></tr>
		 </table><br><br>
   </td>
		<td width=10 background='images/hr.gif'></td>
		 ";
	  echo $now;
	   
	   }
	   }else{
		$error='мускул еррор';
		echo $error;
	   }

?>
Но ответь те мне на второй вопрос плз! :blush:
 

medwoodu

Злобный модер
Регистрация
22.12.2005
Сообщения
1 418
1) первый косяк кода был <<<EOF необходимо закрывать и закрывать не ";
2) :blink: В смысле не ставя br? есть теги которые заменяют все \n на <br>, вам это? или поставьте
<pre></pre>
 

RollingStone

Member
Регистрация
24.09.2006
Сообщения
13
Мне бы помочь в создании кода!
чтобы он выбирал по значениям построчно и выставлял их
Мне кажется это можно сделать с помощью foreach, но как? :huh:
если хочешь сделать с foreach можно так (это удобно когда нужно просто вывести данные из базы, не задумываясь от том, какие собственно поля там есть... а иногда и узнать какие поля там есть...):

$result = mysql_query ("SELECT * FROM clan_news");
if ($result) {

while ($newsArray=mysql_fetch_array($result)) {
foreach ($newsArray as $key => $value) {
echo "$key = $value ";
}
echo "\n";
}

} else die (mysql_error());

+ насчет EOF... или вернее heredoc синтаксиса присваивания значения строкам
в закрывающей строке не должно быть никаких символов перед закрывающим идентификатором ( в данном случае - EOF)... да что я - вот выдержка из PHP Man'a..

Очень важно отметить, что строка с закрывающим идентификатором не содержит других символов, за исключением, возможно, точки с запятой (;). Это означает, что идентификатор не должен вводиться с отступом и что не может быть никаких пробелов или знаков табуляции до или после точки с запятой. Важно также понимать, что первым символом перед закрывающим идентификатором должен быть символ новой строки, определенный в вашей операционной системе. Например, на Macintosh это \r.

Если это правило нарушено и закрывающий идентификатор не является "чистым", считается, что закрывающий идентификатор отсутствует и PHP продолжит его поиск дальше. Если в этом случае верный закрывающий идентификатор так и не будет найден, то это вызовет ошибку в обработке с номером строки в конце скрипта.




2.как сделать перенос строки в распечатке новости,
Не ставя br в сообщении(т.е. когда пишешь сообщение, то нажатие интер будет как br)
я слышал использования параграфов (<p>) для форматирования абзацев - неплохой способ //
 
Статус
Закрыто для дальнейших ответов.
Верх Низ