Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум (новые сообщения вниз) Структурный форум

тема: Работа с файлами

Сообщения:  [1-5] 

 
 автор: sim5   (14.05.2010 в 19:42)   письмо автору
 
   для: V@ldem@r   (14.05.2010 в 19:27)
 

Это вам надо ознакомиться, для начала, с функциями работы со сессией, с массивами, чтобы хоть некое представление иметь, иначе....

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

  Ответить  
 
 автор: Tonik992   (14.05.2010 в 19:31)   письмо автору
 
   для: V@ldem@r   (14.05.2010 в 18:43)
 

$file_array = file("file.txt");
if(!$file_array)
{
echo("Ошибка открытия файла");
}
else
{
$file_array = implode('',$file_array);
$www = strstr($file_array,"ИМ");
}

преобразуй массив в строку, и работай с помощью функции строк.. как ты задумывал

sim5...
функция file() как раз и помещает содержимое file.txt в массив

  Ответить  
 
 автор: V@ldem@r   (14.05.2010 в 19:27)   письмо автору
 
   для: sim5   (14.05.2010 в 18:58)
 

Спасибо!
А не могли бы Вы продемонстрировать пример как это сделать?

  Ответить  
 
 автор: sim5   (14.05.2010 в 18:58)   письмо автору
 
   для: V@ldem@r   (14.05.2010 в 18:43)
 

Лучше работать с массивом, проще будет получать необходимое, а в файл записывать сериализованный массив. Для работы с ним помещать массив в сессию из файла.

  Ответить  
 
 автор: V@ldem@r   (14.05.2010 в 18:43)   письмо автору
 
 

Необходимо сделать следующее:

1) С помощью формы занести в файл определенные данные по студентам (ФИО, номер группы, успеваемость по 5-ти дисциплинам);

2) осуществить вывод списка конкретной группы в алфавитном порядке (по фамилиям) с указанием названий дисциплин и оценок;

3) осуществить вывод списка неуспевающих студентов (с указанием дисциплин, по которым нет аттестации или получена оценка 2).

файл index.php


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251" />
<link href="style.css" rel="stylesheet" type="text/css" />
<title>Лабораторная №3</title>
</head>

<body>

<table align="center" cellpadding="5" cellspacing="5" bgcolor="#FFFFFF">
<tr>
<td>
<form action="select.php" method="post" name="formochka">
<table bgcolor="#FFFFFF" border="0" cellpadding="0" cellspacing="0">
<tr>
<td>Выборка по номеру группы:</td>
<td>
<select name="gp">
<option value="1">ИТ</option>
<option value="2">ВС</option>
<option value="3">ИМ</option>
<option value="4">ЗИ</option>
</select>
</td>
<td><input name="search" type="submit" value="Показать" /></td>
</tr>
</table>
</form>
<a href="select.php">Вывести данные из файла</a>
<form name="forma" action="formadd.php" method="post">
<p>Введите фамилию и инициалы студента: <input name="fio" type="text" size="15" /></p>
<p>Введите номер группы студента: <select name="gp">
<option value="1">ИТ</option>
<option value="2">ВС</option>
<option value="3">ИМ</option>
<option value="4">ЗИ</option>
</select>
</p>
<p>Успеваемость в баллах</p>
<p>Экономика: <input name="ekonom" type="text" size="3" /></p>
<p>Физика: <input name="fiz" type="text" size="3" /></p>
<p>Математика: <input name="mat" type="text" size="3" /></p>
<p>БЖД: <input name="bjd" type="text" size="3" /></p>
<p>Русский язык и Культура речи: <input name="rus" type="text" size="3" /></p>
<input name="sub" type="submit" value="Занести" />
</form>
</td>
</tr>
</table>
</body>
</html>


файл formadd.php (обработчик файла index.php)


<?php
if (isset($_POST['fio'])) {$fio=$_POST['fio']; if($fio == ''){unset ($fio);}}
if (isset(
$_POST['gp'])) {$gp=$_POST['gp']; if($gp == ''){unset ($gp);}}
if (isset(
$_POST['ekonom'])) {$ekonom=$_POST['ekonom']; if($ekonom == ''){unset ($ekonom);}}
if (isset(
$_POST['fiz'])) {$fiz=$_POST['fiz']; if($fiz == ''){unset ($fiz);}}
if (isset(
$_POST['mat'])) {$mat=$_POST['mat']; if($mat == ''){unset ($mat);}}
if (isset(
$_POST['bjd'])) {$bjd=$_POST['bjd']; if($bjd == ''){unset ($bjd);}}
if (isset(
$_POST['rus'])) {$rus=$_POST['rus']; if($rus == ''){unset ($rus);}}

switch (
$gp)
{
case 
1$gp="ИТ";
break;

case 
2$gp="ВС";
break;

case 
3$gp="ИМ";
break;

case 
4$gp="ЗИ";
break;
}



$file_open=fopen("file.txt""a+");
fwrite($file_open$fio."||");
fwrite($file_open" Номер группы: ".$gp."||");
fwrite($file_open" Экономика: ".$ekonom."||");
fwrite($file_open" Физика: ".$fiz."||");
fwrite($file_open" Математика: ".$mat."||");
fwrite($file_open" БЖД: ".$bjd."||");
fwrite($file_open" Русский язык: ".$rus."||");
fwrite($file_open" "."\n");

//закрываем файл
fclose($file_open);

?>


файл select.php (выборка по определенным критериям)
[code]
<?php
if (isset($_POST['gp'])) {$gp=$_POST['gp']; if($gp == ''){unset ($gp);}}

switch (
$gp)
{
case 
1$gp="ИТ";
break;

case 
2$gp="ВС";
break;

case 
3$gp="ИМ";
break;

case 
4$gp="ЗИ";
break;
}

$file_array file("file.txt");
  if(!
$file_array)
  {
    echo(
"Ошибка открытия файла");
  }
  else
  {
    
    
      
      
$www strstr($file_array,"ИМ");
      echo (
$www);
}
?>


Пока я просто пытаюсь вывести из файла список студентов по определенной группе.


Что я делаю не так?

Помогите пожалуйста!!!

  Ответить  

Сообщения:  [1-5] 

Форум разработан IT-студией SoftTime
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования