Кстати, а можно ли считывать файл с конца и....

Yuriy_S

-=PHP-Club=-
Кстати, а можно ли считывать файл с конца и....

А можно ли считывать файл с конца и выводить его на страницу тоже с конца?
НУ у меня гостевая, хочется что бы записи были выведены самые новые на пепрвых страницах!!!
Или может сортировать как то моно файл?
 

BlackDiamond

Guest
А почему бы Гостивуху не переписать на MySQL и тогда все проще сталобы.
 

Yuriy_S

-=PHP-Club=-
я понимаю, но я в Скюэле ваше ноль полный, я просто новичок ещё, изучил пару книг по php, могу писать всякую фигню, а вот БД, это сложно. мне бы с такими файлами разобраться :)
 

Апокалипсис

Guest
Вот юзал я файлы юзал... потом поставил мускул.. и сразу легче стало ты сам поймёшь.
У MySQL токо название сложное, а так там всё проще пареной репы по сравнению с файлами.
А выводить так

PHP:
$p=count($file);
for($i=0;$i<=$p;$i++){
$array=explode("|",$data[$p-$i]){
 

Макс

Старожил PHPClub
я просто новичок ещё
изучил пару книг по php
плохо изучал или книги плохие
Считай файл в массив и для массива реверс сделай:
PHP:
$arr = file('cool_guest_book.txt');
$arr = array_reverse($arr);

PS
но лучше формируй файл так как тебе надо при добавлении записи
 

Апокалипсис

Guest
PS
но лучше формируй файл так как тебе надо при добавлении записи [/QUOTE]
При добавлении,это иммется ввиду писать не в конец а в начало я так понримаю?
Не с этим тогда тормозов будет больше!
 

BlackDiamond

Guest
Супер простой пример

Зоздай для началу базу
CREATE TABLE doska
(
id int NOT NULL AUTO_INCREMENT,
name varchar(25),
email varchar(35),
icq varchar(10),
messag varchar(250),
salary int,
PRIMARY KEY (id),
UNIQUE id (id)
);


Это добавление записей
<?
if($submit){
$db = mysql_connect("$dbhost", "$dbuname", "$dbpass");
mysql_select_db("$dbname",$db);
$sql = "INSERT INTO doska (name, email, icq, messag) VALUES ('$name','$email','$icq','$messag')";
$result = mysql_query($sql);
echo "Запись добавлена!\n";
}
else
{
?>
<form method="post" action="add.php">
<input type="text" name="name" size="20">
<input type="text" name="email" size="20">
<input type="text" name="icq" size="20">
<textarea rows="3" name="messag" cols="31"></textarea>
<input type="submit" name="submit" value="Добавить"> <input type="reset" value="Сброс"></from>
<?
}
?>


А теперь читай ее
<?
$db = mysql_connect("$dbhost", "$dbuname", "$dbpass");
mysql_select_db("$dbname",$db);
$result = mysql_query("SELECT * FROM $dbtable ORDER BY id DESC",$db);
while ($myrow = mysql_fetch_array($result))
{
echo "Имя".$myrow["name"];
echo "Mail".$myrow["email"];
echo "Ася".$myrow["icq"];
echo "сообщение".$myrow["messag"];
}
?>
 

Апокалипсис

Guest
Maxim Matyukhin
Почему?

Если файл большой будет!
 

BlackDiamond

Guest
Автор оригинала: Апокалипсис
Для человека незнакомого с БД это пример суперсложный!
Один програмист подходит к другому.
И видет что тот чтото пишет. Ну он у него спросил ты че пишешь?
Да незнаю давай запустим посмотрим :))
 

Макс

Старожил PHPClub
2 Апокалипсис
Если файл большой будет!
ну да, по твоему гораздо лучше при каждом показе заново его сортировать?

Добавление происходит на порядок реже чем вывод, поэтому скрипт, выводящий информацию (в данном случае записи гостевой) должен оптимизироваться в первую очередь (в большинстве случаев)
 

Макс

Старожил PHPClub
2 BlackDiamond
первичный ключ уникален по определению поэтому строка:
UNIQUE id (id)
лишняя
 

aloner

Guest
> Кашу маслом не испотишь !

В данном случае - испортишь. Индекс - он ведь еще и место на диске жрет.
 

Yuriy_S

-=PHP-Club=-
дабавление и вывод это я понимаю, а вот писатьь Create teble doska {........... где писать??? В отдельном любом файле что ли?
Или мне нада ещё саму прогу сервер скюэль мучать?
 

wanderer

PHP - rulez!...
фалй читается также:
PHP:
$file =file("myfile.dat");
for ($c = count($file); $c >= 0; $c--) {
  echo $file[$c];
}
 

BlackDiamond

Guest
Автор оригинала: Yuriy_S
дабавление и вывод это я понимаю, а вот писатьь Create teble doska {........... где писать??? В отдельном любом файле что ли?
Или мне нада ещё саму прогу сервер скюэль мучать?
создаешь файл gb.sql
и содержимое его
Create teble GuestBook
{...........
}

Уже разными способами вставляешь в сервер :) типо PhpMyAdmin или прилозение 32Win например MySQL-Front

MySQL-Front_2.4_Setup.exe свободна лежит на www.filesearch.ru задай поик по имени файлу.
 

Yuriy_S

-=PHP-Club=-
блин, народ, а че в самом сервере Mysql нада писать что бы например создать БД и именем forum, пользователь - fclient, а пароль- 1234567nntty ?
Напишите плиз, как создать новую БД, и примеры таблиц тоже.
У меня просто свой сервер, а вот как оно и что.....
 

Апокалипсис

Guest
В начале,коннет к ДБ:
PHP:
@mysql_connect("$dbhost","$dbuser","$dbpass") or die(mysql_error());
@mysql_select_db("$dbname") or die(mysql_error());
потом создаёшь
PHP:
$query="CREATE TABLE nametable (name CHAR(50),eml CHAR(50),msg TEXT)";
Mysql_query($query) or die(mYSQL_ERROR());
echo"Таблица создана!";
 
Сверху