PDA

Просмотр полной версии : PHP Post news


lomerok
10.06.2008, 14:37
помогите написать скрипт вывода всех новостей .. делаю так :

while($result_news=mysql_fetch_row($query))
{
print $result_news[$i];
$i++;
}

выводятся только ID новости :(
Структура базы :

---id---data---text---avtor
1 24 test1 lamer
2 15 test2 xaker

groundhog
10.06.2008, 14:40
while($result_news=mysql_fetch_row($query))
{
printf("%s %s %s %s<br />", $result_news[0], $result_news[1], $result_news[2], $result_news[3]);
}

lomerok
10.06.2008, 14:45
выводится только вторая новость .. надо чтоб выводилось по три

Jer1cho
10.06.2008, 14:48
Думаю, лучше сделать так:

$numrows = mysql_num_rows($result_news);
if($numrows > 0){
for($i = 0; $i < $numrows; $i++){
$row = mysql_fetch_array($result_news);
echo 'ID: '.$row['id'].' Data: '.$row['data'].' Text:'.$row['text'].' Avtor'.$row['avtor'].'<br />';
}
}

lomerok
10.06.2008, 14:57
делаю так :

$numrows = mysql_num_rows($query);
if($numrows > 0)
{
for($i = 0; $i < $numrows; $i++)
{
$row = mysql_fetch_array($query);
echo 'ID: '.$row['id'].' Date: '.$row['date'].'Time: '.$row['time'].' Caption: '.$row['caption'].' Text:'.$row['text'].' Avtor:'.$row['avtor'].'<br />';
}
}

Теперь надо чтоб выводилось ровно по две новости ... как это реализовать ?

groundhog
10.06.2008, 14:57
Ламерок, покажи полностью код... Запрос каким выгребаешь данные...

VDShark
10.06.2008, 14:57
<?
while($row = mysql_fetch_assoc($query))
echo "id:{$row['id']}, text:{$row['text']}, data:{$row['data']}, avtor:{$row['avtor']}";


А насчет по две новости - просто в запросе используй LIMIT (если я правильно понял чего ты хочешь)

lomerok
10.06.2008, 15:03
$query_news="SELECT * FROM news";
mysql_connect($sql_host,$sql_user,$sql_pass);
mysql_select_db($sql_base);
$query=mysql_query($query_news);
$i=0;
$numrows = mysql_num_rows($query);
if($numrows > 0)
{
for($i = 0; $i < $numrows; $i++)
{
$row = mysql_fetch_array($query);
echo 'ID: '.$row['id'].' Date: '.$row['date'].'Time: '.$row['time'].' Caption: '.$row['caption'].' Text:'.$row['text'].' Avtor:'.$row['avtor'].'<br />';
}
}
mysql_close();

VDShark
10.06.2008, 15:06
Замени
$query_news="SELECT * FROM news";
на $query_news="SELECT * FROM news ORDER BY `date` DESC LIMIT 0,2";
Запрос тебе вернет две последние новости.

lomerok
10.06.2008, 15:07
Делаю такой запрос SELECT * FROM news LIMIT 3 .. выводится 3 новости , а как следующие три вывести ???

VDShark
10.06.2008, 15:09
Делаю такой запрос SELECT * FROM news LIMIT 3 .. выводится 3 новости , а как следующие три вывести ???

SELECT * FROM news LIMIT 3,3
Т.е. трактуется так: вывести три записи,начиная с третьей.

lomerok
10.06.2008, 15:14
спасиба , разобрался ...

Buffalon
10.06.2008, 15:47
Делаю такой запрос SELECT * FROM news LIMIT 3 .. выводится 3 новости , а как следующие три вывести ???
SELECT * FROM news LIMIT 3,3>>>>начать с 4 и 3 новости(отсчот идёт с 0)

Тык ты просишь не это... .Тебе ужно найти книгу MySQL>А вот если что то непоймешь то ... .

lomerok
10.06.2008, 16:01
как узнать id последней новости ?

cash$$$
10.06.2008, 16:05
как узнать id последней новости ?
select max(id) from myTable

lomerok
10.06.2008, 16:42
пасиба .... как вывести дату и время в разные переменные ???

Jer1cho
10.06.2008, 16:50
Тоесть?


$date = date('d/m/Y', $row['date']);
echo $date;
— выведет дату в формате д/м/гг


$time = date('H:i', $row['date']);
echo $time;
— время в формате Ч:М

http://php.net/date

lomerok
10.06.2008, 16:59
мне надо не из скуля дата и время . мне надо реальное время и реальная дата(дата и время в данный момент) ...
и еще , делаю такой запрос "DELETE FROM news WHERE id='15'" и несрабатывает , почему ?

lomerok
10.06.2008, 17:03
с датами разобрался ... актуальный вопрос , почему несрабатывает такой запрос : $zapros="DELETE FROM news WHERE id='$id'"; $delete_news=mysql_query($zapros); print "Удалено !!!";
сообщение печатается а вот удаляться неудаляется...

Jer1cho
10.06.2008, 17:05
echo date('d/m/Y'); // date
echo date('H:i:s'); // - time

Насчет того что не удаляет попробуй news и id обрамить ` ` ковычками.

Добавлено:

Так правльно:

$zapros="DELETE FROM `news` WHERE `id`='".$id."'";
if(mysql_query($zapros)){ echo 'Удалено.'; } else {}

lomerok
10.06.2008, 17:07
разобрался .. всем спасибо

nc.STRIEM
10.06.2008, 18:17
класный ник

emik
10.06.2008, 19:07
ввобще если что-то не получается с синтаксисом запрсов Мюскула советую использовать програмку Mysql Front . там можно сделать сначала "мышкой", а потом посмотреть какой запрос строится. по началу очень помагает. А еще в комплек Денвера входит система администратирования БД phpMyAdmin так там вообще єсть заветная кнопочка "сгенерировать РНР код"