ver.0.4
This commit is contained in:
parent
987effd67f
commit
2714dad7ce
@ -1,11 +1,10 @@
|
|||||||
last_id=19;table_name=user_info
|
autoincrement=id;last_id=19;table_name=user_info
|
||||||
id;surname;name;patronymic;dateOfBirth;gender;countryCode;phoneNumber;email;status
|
id;surname;name;patronymic;dateOfBirth;gender;countryCode;phoneNumber;email;status
|
||||||
id;Фамилия;Имя;Отчество;Дата рождения;Пол;Код страны;Номер телефона;Email;Статус
|
|
||||||
3;Билай;Станислав;Романович;2002-03-11;Мужчина;+7;9493761924;stasbilay02@yandex.ru;0
|
3;Билай;Станислав;Романович;2002-03-11;Мужчина;+7;9493761924;stasbilay02@yandex.ru;0
|
||||||
4;Иванова;Мария;Сергеевна;2002-04-05;Женжина;+38;2222222222;sdguhnlnoih@gmail.com;1
|
4;Иванова;Мария;Сергеевна;2002-04-05;Женщина;+38;2222222222;sdguhnlnoih@gmail.com;1
|
||||||
5;Иванов;Иван;Иванович;2002-03-11;Мужчина;+7;1111111111;dsjgbdskgb@yandex.ru;1
|
5;Иванов;Иван;Иванович;2002-03-11;Мужчина;+7;1111111111;dsjgbdskgb@yandex.ru;1
|
||||||
6;Плешкова;Анастасия;Денисовна;2006-11-10;Женжина;+7;3333333333;ple.anastasiya@gmail.com;0
|
6;Плешкова;Анастасия;Денисовна;2006-11-10;Женщина;+7;3333333333;ple.anastasiya@gmail.com;0
|
||||||
7;Зайцева;Анжела;Игоревна;1998-12-12;Женжина;+7;4444444444;aksjfhfka@mail.ru;0
|
7;Зайцева;Анжела;Игоревна;1998-12-12;Женщина;+7;4444444444;aksjfhfka@mail.ru;0
|
||||||
8;Петров;Петр;Петрович;1987-03-02;Мужчина;+7;7777777777;jksghhsdkj@gmail.com;1
|
8;Петров;Петр;Петрович;1987-03-02;Мужчина;+7;7777777777;jksghhsdkj@gmail.com;1
|
||||||
9;Зайцев;Федор;Александрович;2014-12-22;Мужчина;+7;6667774441;asert@mail.ru;1
|
9;Зайцев;Федор;Александрович;2014-12-22;Мужчина;+7;6667774441;asert@mail.ru;1
|
||||||
10;Иванов;Петр;Михайлович;2002-03-11;Мужчина;+7;1111111111;asert@mail.ru;1
|
10;Иванов;Петр;Михайлович;2002-03-11;Мужчина;+7;1111111111;asert@mail.ru;1
|
||||||
@ -14,7 +13,7 @@ id;Фамилия;Имя;Отчество;Дата рождения;Пол;Ко
|
|||||||
13;Билай;Станислав;Романович;4444-04-04;Мужчина;+7;9493761924;stasbilay02@yandex.ru;1
|
13;Билай;Станислав;Романович;4444-04-04;Мужчина;+7;9493761924;stasbilay02@yandex.ru;1
|
||||||
14;Билай;Станислав;Романович;4444-04-04;Мужчина;+7;9493761924;stasbilay02@yandex.ru;0
|
14;Билай;Станислав;Романович;4444-04-04;Мужчина;+7;9493761924;stasbilay02@yandex.ru;0
|
||||||
15;Билай;Станислав;Романович;4444-04-04;Мужчина;+7;9493761924;stasbilay02@yandex.ru;0
|
15;Билай;Станислав;Романович;4444-04-04;Мужчина;+7;9493761924;stasbilay02@yandex.ru;0
|
||||||
16;Билай;Станислав;Романович;4444-04-04;Женщина;+38;9493761924;stasbilay02@yandex.ru;1
|
16;Билай;Станислав;Романович;4444-04-04;Женщина;+38;9493761924;stasbilay02@yandex.ru;0
|
||||||
17;Зайцева;Анжела;Игоревна;7777-07-07;Мужчина;+7;4444444444;aksjfhfka@mail.ru;1
|
17;Зайцева;Анжела;Игоревна;7777-07-07;Женщина;+7;4444444444;aksjfhfka@mail.ru;0
|
||||||
18;Зайцева;Анжела;Игоревна;7777-07-07;Мужчина;+7;4444444444;aksjfhfka@mail.ru;1
|
18;Зайцева;Анжела;Игоревна;7777-07-07;Женщина;+7;4444444444;aksjfhfka@mail.ru;1
|
||||||
19;Зайцева;Анжела;Игоревна;7777-07-07;Мужчина;+7;4444444444;aksjfhfka@mail.ru;1
|
19;Зайцева;Анжела;Игоревна;7777-07-07;Женщина;+7;4444444444;aksjfhfka@mail.ru;1
|
||||||
|
11
index.php
11
index.php
@ -1,18 +1,7 @@
|
|||||||
<?php
|
<?php
|
||||||
|
|
||||||
//require_once "form.php";
|
|
||||||
|
|
||||||
namespace src;
|
namespace src;
|
||||||
|
|
||||||
//use src\Forms;
|
|
||||||
|
|
||||||
require_once "vendor/autoload.php";
|
require_once "vendor/autoload.php";
|
||||||
|
|
||||||
require "views/form.php";
|
require "views/form.php";
|
||||||
|
|
||||||
//require_once "src/Information.php";
|
|
||||||
//require_once "src/FullName.php";
|
|
||||||
//require_once "src/Contacts.php";
|
|
||||||
//require_once "src/AdditionallyInfo.php";
|
|
||||||
//require_once "info.php";
|
|
||||||
//require_once "table.php";
|
|
6
info.php
6
info.php
@ -5,12 +5,11 @@ namespace src;
|
|||||||
use src\debug\Debug;
|
use src\debug\Debug;
|
||||||
use src\file_db_driver\FileDatabaseDriver;
|
use src\file_db_driver\FileDatabaseDriver;
|
||||||
use src\Information;
|
use src\Information;
|
||||||
use src\Forms;
|
|
||||||
|
|
||||||
require_once "vendor/autoload.php";
|
require_once "vendor/autoload.php";
|
||||||
|
|
||||||
$fileName = "Information.txt";
|
//$fileName = "Information.txt";
|
||||||
$fileModeOpen = "a";
|
//$fileModeOpen = "a";
|
||||||
|
|
||||||
$fullInformation = new Information();
|
$fullInformation = new Information();
|
||||||
$fullInformation->load($_REQUEST);
|
$fullInformation->load($_REQUEST);
|
||||||
@ -19,6 +18,7 @@ $string = $fullInformation->toString();
|
|||||||
|
|
||||||
$obj = new FileDatabaseDriver();
|
$obj = new FileDatabaseDriver();
|
||||||
$obj->connect(__DIR__ . "/Information.txt");
|
$obj->connect(__DIR__ . "/Information.txt");
|
||||||
|
//$obj->updateServiceInfo($string);
|
||||||
$obj->save($string);
|
$obj->save($string);
|
||||||
$obj->close();
|
$obj->close();
|
||||||
|
|
||||||
|
14
search.php
14
search.php
@ -10,19 +10,15 @@ $rep = new \src\file_db_driver\FileDatabaseDriver();
|
|||||||
$rep->connect(__DIR__ . "/Information.txt");
|
$rep->connect(__DIR__ . "/Information.txt");
|
||||||
|
|
||||||
$columnKeys = $rep->getHeadKeys();
|
$columnKeys = $rep->getHeadKeys();
|
||||||
$columnValues = $rep->getHeadValues();
|
//$columnValues = $rep->getHeadValues();
|
||||||
|
$columnValues = ['id','Фамилия','Имя','Отчество','Дата рождения','Пол','Код страны','Номер телефона','Email','Статус'];
|
||||||
|
|
||||||
$columns = array_combine($columnKeys, $columnValues);
|
$columns = array_combine($columnKeys, $columnValues);
|
||||||
|
|
||||||
//$res = $rep->find([$_REQUEST['key'] => $_REQUEST['result_search']])->limit(7)->all();
|
//$res = $rep->find([$_REQUEST['key'] => $_REQUEST['result_search']])->limit(7)->all();
|
||||||
//$fooArr = [
|
|
||||||
// 'surname' => 'Билай',
|
//$res = $rep->find($_REQUEST)->limit(10)->all();
|
||||||
// 'dateOfBirth' => '4444-04-04',
|
$res = $rep->find(['name' => ['Станислав', 'Анастасия', 'Анжела'], 'status' => ['0']])->limit(10)->all();
|
||||||
// 'status' => '1',
|
|
||||||
// 'gender' => 'Мужчина'
|
|
||||||
//];
|
|
||||||
//Debug::dd($_REQUEST);
|
|
||||||
$res = $rep->find($_REQUEST)->limit(10)->all();
|
|
||||||
|
|
||||||
$rep->close();
|
$rep->close();
|
||||||
|
|
||||||
|
@ -1,71 +0,0 @@
|
|||||||
<?php
|
|
||||||
//
|
|
||||||
//namespace src;
|
|
||||||
//
|
|
||||||
//class Forms
|
|
||||||
//{
|
|
||||||
// public string $infoForm;
|
|
||||||
// public string $forSearchForm;
|
|
||||||
//
|
|
||||||
// public function __construct()
|
|
||||||
// {
|
|
||||||
// $this->infoForm = '
|
|
||||||
// <form action="../info.php" target="_blank" method="post">
|
|
||||||
// Фамилия:<br>
|
|
||||||
// <input type = "text" name = "surname" required size="50" autofocus placeholder="Фамилия"> <br> <br>
|
|
||||||
//
|
|
||||||
// Имя:<br>
|
|
||||||
// <input type = "text" name = "name" required size="50" placeholder="Имя"> <br> <br>
|
|
||||||
//
|
|
||||||
// Отчество (если есть):<br>
|
|
||||||
// <input type = "text" name = "patronymic" size="50" placeholder="Отчество"> <br> <br>
|
|
||||||
//
|
|
||||||
// Дата Рождения: <br>
|
|
||||||
// <input type="date" name="dateOfBirth" required> <br> <br>
|
|
||||||
//
|
|
||||||
// Ваш пол: <br>
|
|
||||||
// <input type="radio" name="gender" value="Мужчина" checked> Мужчина
|
|
||||||
// <input type="radio" name="gender" value="Женжина"> Женжина<br> <br>
|
|
||||||
//
|
|
||||||
// Номер телефона (Например 1234567890): <br>
|
|
||||||
// <select name="countryCode">
|
|
||||||
// <option value="+7" >Russia +7</option>
|
|
||||||
// <option value="+38">Ukraine +38</option>
|
|
||||||
// </select>
|
|
||||||
// <input type="tel" name="phoneNumber" pattern="[0-9]{10}" maxlength="10" required placeholder="1234567890"> <br> <br>
|
|
||||||
//
|
|
||||||
// Email адрес: <br>
|
|
||||||
// <input type="Email" name="email" required> <br><br>
|
|
||||||
//
|
|
||||||
// <input type = "submit" value="Подтвердить">
|
|
||||||
// <input type="reset">
|
|
||||||
// </form>';
|
|
||||||
//
|
|
||||||
// $this->forSearchForm = '
|
|
||||||
// <form action="../search.php" target="_blank" method="post">
|
|
||||||
// <input type="search" placeholder="Поиск" name="result_search"> <br> <br>
|
|
||||||
// Среди чего найти? <br>
|
|
||||||
// <select name="key">
|
|
||||||
// <option value="surname">Фамилия</option>
|
|
||||||
// <option value="name">Имя</option>
|
|
||||||
// <option value="patronymic">Отчество</option>
|
|
||||||
// <option value="dateOfBirth">Дата рождения</option>
|
|
||||||
// <option value="gender">Пол</option>
|
|
||||||
// <option value="countryCode">Код страны</option>
|
|
||||||
// <option value="phoneNumber">Номер телефона</option>
|
|
||||||
// <option value="email">Email</option>
|
|
||||||
// </select> <br><br>
|
|
||||||
// <input type="submit" value="Поиск">
|
|
||||||
// </form>';
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// public function getInfoForm(): string
|
|
||||||
// {
|
|
||||||
// return $this->infoForm;
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// public function getForSearchForm(): string
|
|
||||||
// {
|
|
||||||
// return $this->forSearchForm;
|
|
||||||
// }
|
|
||||||
//}
|
|
@ -11,11 +11,9 @@ class FileDatabaseDriver
|
|||||||
public $file;
|
public $file;
|
||||||
public array $headKeys = [];
|
public array $headKeys = [];
|
||||||
public array $headValues = [];
|
public array $headValues = [];
|
||||||
|
|
||||||
private array $resArr = [];
|
private array $resArr = [];
|
||||||
private array $query = [];
|
private array $query = [];
|
||||||
private int $limitInt = 10;
|
private int $limitInt = 10;
|
||||||
|
|
||||||
public array $serviceInfo = [];
|
public array $serviceInfo = [];
|
||||||
|
|
||||||
public function connect(string $filePath): bool
|
public function connect(string $filePath): bool
|
||||||
@ -26,7 +24,7 @@ class FileDatabaseDriver
|
|||||||
if ($this->file) {
|
if ($this->file) {
|
||||||
$this->getServiceInfo();
|
$this->getServiceInfo();
|
||||||
$this->setHeadKeys();
|
$this->setHeadKeys();
|
||||||
$this->setHeadValues();
|
// $this->setHeadValues();
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -62,31 +60,26 @@ class FileDatabaseDriver
|
|||||||
return $this->headKeys;
|
return $this->headKeys;
|
||||||
}
|
}
|
||||||
|
|
||||||
public function setHeadValues(): void
|
// public function setHeadValues(): void
|
||||||
{
|
// {
|
||||||
$headArr = explode(';', fgets($this->file));
|
// $headArr = explode(';', fgets($this->file));
|
||||||
foreach ($headArr as $item){
|
// foreach ($headArr as $item){
|
||||||
$item = str_replace("\n", "", $item);
|
// $item = str_replace("\n", "", $item);
|
||||||
$item = str_replace("\r", "", $item);
|
// $item = str_replace("\r", "", $item);
|
||||||
$this->headValues[] = $item;
|
// $this->headValues[] = $item;
|
||||||
}
|
// }
|
||||||
// $this->head = explode(';', fgets($this->file));
|
//// $this->head = explode(';', fgets($this->file));
|
||||||
}
|
// }
|
||||||
|
//
|
||||||
public function getHeadValues(): array
|
// public function getHeadValues(): array
|
||||||
{
|
// {
|
||||||
return $this->headValues;
|
// return $this->headValues;
|
||||||
}
|
// }
|
||||||
|
|
||||||
public function find(array $query): self
|
public function find(array $query): self
|
||||||
{
|
{
|
||||||
$j = 0;
|
|
||||||
foreach ($query as $key => $value) {
|
foreach ($query as $key => $value) {
|
||||||
if(strlen($value) > 0) {
|
$this->query[$key] = $value;
|
||||||
$this->query['column'][$j] = $key;
|
|
||||||
$this->query['value'][$j] = $value;
|
|
||||||
$j++;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
return $this;
|
return $this;
|
||||||
}
|
}
|
||||||
@ -103,33 +96,35 @@ class FileDatabaseDriver
|
|||||||
$resArr = [];
|
$resArr = [];
|
||||||
$i = 1;
|
$i = 1;
|
||||||
while (!feof($this->file)) {
|
while (!feof($this->file)) {
|
||||||
if ($i > $this->limitInt){
|
if ($i > $this->limitInt) {
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
$str = fgets($this->file);
|
$str = fgets($this->file);
|
||||||
if (!empty($str)){
|
if (!empty($str)) {
|
||||||
$str = str_replace("\n", "", $str);
|
$str = str_replace("\n", "", $str);
|
||||||
$str = str_replace("\r", "", $str);
|
$str = str_replace("\r", "", $str);
|
||||||
|
|
||||||
$item = explode(";", $str);
|
$item = explode(";", $str);
|
||||||
$item = array_combine($this->headKeys, $item);
|
$item = array_combine($this->headKeys, $item);
|
||||||
|
|
||||||
$cnt = count($this->query['column']);
|
$flag = false;
|
||||||
for ($j = 0; $j < $cnt; $j++) {
|
foreach ($this->query as $key => $value) {
|
||||||
if (strlen($this->searchInStr($this->query['value'][$j], $item, $this->query['column'][$j])) > 0) {
|
foreach ($this->query[$key] as $k => $v) {
|
||||||
|
if (strlen($this->searchInStr($v, $item, $key)) > 0) {
|
||||||
$flag = true;
|
$flag = true;
|
||||||
|
break;
|
||||||
} else {
|
} else {
|
||||||
$flag = false;
|
$flag = false;
|
||||||
break;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if ($flag){
|
if(!$flag) break;
|
||||||
|
}
|
||||||
|
if ($flag) {
|
||||||
$resArr[] = $item;
|
$resArr[] = $item;
|
||||||
$i++;
|
$i++;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return $resArr;
|
return $resArr;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -155,10 +150,38 @@ class FileDatabaseDriver
|
|||||||
fclose($this->file);
|
fclose($this->file);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// public function updateServiceInfo(string $string): void
|
||||||
|
// {
|
||||||
|
// $id = $this->serviceInfo['last_id'];
|
||||||
|
// $this->serviceInfo['last_id'] = ++$id;
|
||||||
|
// foreach ($this->serviceInfo as $key => $value) {
|
||||||
|
// $arr[] = $key . '=' . $value;
|
||||||
|
// }
|
||||||
|
// $fileArr = file($this->filePath);
|
||||||
|
// if (isset($arr)) {
|
||||||
|
// $serviceStr = implode(';', $arr) . "\n";
|
||||||
|
// }
|
||||||
|
// $fileArr[0] = $serviceStr;
|
||||||
|
// file_put_contents($this->filePath, $fileArr);
|
||||||
|
//
|
||||||
|
// $str = $id . ';' . $string;
|
||||||
|
// $this->save($str);
|
||||||
|
// }
|
||||||
|
|
||||||
public function save(string $string): void
|
public function save(string $string): void
|
||||||
{
|
{
|
||||||
// $file = fopen($fileName, "a");
|
$this->serviceInfo['last_id']++;
|
||||||
fwrite($this->file, $string);
|
foreach ($this->serviceInfo as $key => $value) {
|
||||||
// fclose($file);
|
$arr[] = $key . '=' . $value;
|
||||||
|
}
|
||||||
|
$fileArr = file($this->filePath);
|
||||||
|
if (isset($arr)) {
|
||||||
|
$serviceStr = implode(';', $arr) . "\n";
|
||||||
|
}
|
||||||
|
$fileArr[0] = $serviceStr;
|
||||||
|
file_put_contents($this->filePath, $fileArr);
|
||||||
|
|
||||||
|
$str = $this->serviceInfo['last_id'] . ';' . $string;
|
||||||
|
fwrite($this->file, $str);
|
||||||
}
|
}
|
||||||
}
|
}
|
@ -24,7 +24,7 @@
|
|||||||
<input type="radio" name="gender" value="Мужчина" checked>
|
<input type="radio" name="gender" value="Мужчина" checked>
|
||||||
</label> Мужчина
|
</label> Мужчина
|
||||||
<label>
|
<label>
|
||||||
<input type="radio" name="gender" value="Женжина">
|
<input type="radio" name="gender" value="Женщина">
|
||||||
</label> Женжина<br> <br>
|
</label> Женжина<br> <br>
|
||||||
|
|
||||||
Номер телефона (Например 1234567890): <br>
|
Номер телефона (Например 1234567890): <br>
|
||||||
|
Loading…
Reference in New Issue
Block a user