PHP . SU
Программирование на PHP, MySQL и другие веб-технологии
Страниц (1): [1]
Найдено сообщений: 15
EuRusik
Отправлено: 08 Декабря, 2016 - 15:11:43 • Тема: Создание многомерного массива • Форум: Вопросы новичков
Ответов: 2 Просмотров: 154
Масив дублируеться всеравно
PHP:
скопировать код в буфер обмена
(
(
(
[ title] => Заголовок 1
[ img] => http: //ссылка1.jpg
[ text] => Текст 1
)
)
(
(
[ title] => Заголовок 1
[ img] => http: //ссылка1.jpg
[ text] => Текст 1
)
)
Единственное это когда все загуржаеться если ставить или
Но там сразу пачка title потом пачка img и т.д. А мне надо title,img,text потом следющий title,img,text!
EuRusik
Отправлено: 08 Декабря, 2016 - 14:09:15 • Тема: Создание многомерного массива • Форум: Вопросы новичков
Ответов: 2 Просмотров: 154
Есть 3 foreach цикла
PHP:
скопировать код в буфер обмена
for ( $i = 0 ; $i < 2 ; $i ++ )
{
foreach ( $this -> objDom -> find ( $this -> title ) as $title )
{
$article [ 'title' ] = $title -> plaintext ;
}
foreach ( $this -> objDom -> find ( $this -> imgTitle ) as $imgTitle )
{
$article [ 'img' ] = $imgTitle -> url ;
}
foreach ( $this -> objDom -> find ( $this -> text ) as $text )
{
$article [ 'text' ] = $text -> innertext ;
}
$arrayNews [ ] = $article ;
}
Получаю 2 дублирующих массива.
PHP:
скопировать код в буфер обмена
(
(
[ title] => Заголовок 1
[ img] => http: //site.com/img1.png
[ text] => Текст 1
)
(
[ title] => Заголовок 1
[ img] => http: //site.com/img1.png
[ text] => Текст 1
)
Я понимаю что каждый раз foreach перезаписывает данные и в массив попадает только последнее, но как сделать чтобы попадало в массив arrayNews все данные а не последние?
PHP:
скопировать код в буфер обмена
(
(
[ title] => Заголовок 1
[ img] => http: //site.com/img1.png
[ text] => Текст 1
)
(
[ title] => Заголовок 2
[ img] => http: //site.com/img2.png
[ text] => Текст 2
)
EuRusik
Отправлено: 07 Декабря, 2016 - 15:38:16 • Тема: Помогите с алгоритмом парсинга xml • Форум: Вопросы новичков
Ответов: 1 Просмотров: 120
Суть проблеммы такова, немогу придумать как записывать в базу данных спарсенные данные по частям.
Есть к примеру ссылка на xml данные, там огромная простыня данных вида:
CODE (
htmlphp ):
скопировать код в буфер обмена
< title> Заголовок 1</ title>
< link> http://ссылка1</ link>
< content> Контент бла бла бла 1</ content>
< title> Заголовок 2</ title>
< link> http://ссылка2</ link>
< content> Контент бла бла бла 2</ content>
И т .д. мне нужно записывать в базу данных по частям, тобишь до следующего
Как это реализовать?
EuRusik
Отправлено: 08 Июля, 2016 - 15:03:20 • Тема: Помогите разобратся к классом • Форум: Вопросы новичков
Ответов: 1 Просмотров: 104
Читаю книгу - объекты шаблоны и методики программирования и там есть такой пример
PHP:
скопировать код в буфер обмена
class Account
{
public $balance ;
public function __construct( $balance )
{
$this -> balance = $balance ;
}
}
class Person
{
private $name ;
private $age ;
private $id ;
public $account ;
public function __construct( $name , $age , Account $account )
{
$this -> name = $name ;
$this -> age = $age ;
$this -> account = $account ;
}
public function setID( $id )
{
$this -> id = $id ;
}
}
Кто знаком с ООП, обьясните мне что означеат Account $account в конструкторе класса Person?
EuRusik
Отправлено: 27 Мая, 2016 - 14:40:40 • Тема: Вывод записей из mysql по месяцам • Форум: Вопросы новичков
Ответов: 1 Просмотров: 248
Есть записи в базе данных к примеру размещенные по дате: 02.01.2016, 15.01.2016 и 26.05.2016
И мне нужно вывести только за январь. Решил написать с моей точки зрения логичный запрос:
CODE (
SQL ):
скопировать код в буфер обмена
SELECT * FROM `$this->tablename` WHERE `user_id` = '$_SESSION[id]' AND `date` >= '$date[start]' AND `date` <= '$date[end]' ;
К моему удивлению оказалось что mysql может выдать мне записи только конечным числом в январе месяце и ниже:
Если я укажу что мне нужно с 01.01.2016 по 31.01.2016 mysql выдаст вообще все что есть из колонки date
Вопрос, как решить мою задачу?
UPD: Оказалось все просто SELECT * FROM `$this->tablename` WHERE `user_id` = '$_SESSION[id]' AND MONTH(`date`) = 1
EuRusik
Отправлено: 19 Мая, 2016 - 13:05:54 • Тема: Как записать в переменную масив в одной функции и перебрать в другой функции • Форум: Вопросы новичков
Ответов: 2 Просмотров: 194
and_07 пишет:
так вы добавляете в массив элементы с ошибками??
может так нужно
или через push
У меня проблема в том что в первой функции у меня при выводе 2D масив, а когда я пытаюсь вывести во второй функции его, то там оказывается только последня запись масива из первой фукнции ;(
Вобщем разобрался, нужно было в одном foreach запустить еще foreach т.к. это 2D массив
EuRusik
Отправлено: 19 Мая, 2016 - 12:34:33 • Тема: Как записать в переменную масив в одной функции и перебрать в другой функции • Форум: Вопросы новичков
Ответов: 2 Просмотров: 194
Бьюсь уже второй день, есть функция Message которая получает 2D масив:
Вот результат print_r:
CODE (
htmlphp ):
скопировать код в буфер обмена
(
(
[ error] => Ви не ввели дату замовлення!
)
)
(
(
[ error] => Ви не ввели назву виробника!
)
)
(
(
[ error] => Ви не ввели адрес виробника!
)
)
(
(
[ error] => Ви не ввели № замовлення!
)
)
(
(
[ error] => Ви не ввели К- сть вiкон!
)
)
Мне нужно записать 2D масив $array['error'] в глобальную переменную $data, для последующего перебора его чере foreach в функции MessageRender.
Я пишу в функции Message что глобальная переменная $data[] = $array['error'];
После в функции MessageRender:
Но мне выводит только последний массив:
А мне нужно весь список, как это сделать?
EuRusik
Отправлено: 17 Мая, 2016 - 16:02:48 • Тема: Как передать данные из одной функции в другую? • Форум: Вопросы новичков
Ответов: 1 Просмотров: 124
Есть функция
PHP:
скопировать код в буфер обмена
public function Message( $status , $content )
{
public $status ;
public $content ;
public function Message( $status , $content )
{
$this -> status = $status ;
$this -> content = $content ;
if ( $this -> status == "error" )
{
$_SESSION [ 'message' ] = array ( $this -> status => $this -> content ) ;
foreach ( $_SESSION [ 'message' ] as $key => $value )
{
$_SESSION [ 'message' ] = "<span class='glyphicon glyphicon-remove'></span><p><b>$key </b>: $value </p>" ;
$data = $_SESSION [ 'message' ] ;
}
return $data ;
}
Есть 2я функция
PHP:
скопировать код в буфер обмена
public function MessageRender( )
{
if ( $this -> Message ( $this -> status , $this -> content ) )
{
$message = $this -> Message ( $this -> status , $this -> content ) ;
$script = '
(function Notification() {
var notification = new NotificationFx({
message : "' . $message . '",
layout : "bar",
effect : "slidetop",
type : "notice", // notice, warning, error or success
});
notification.show();
})();
' ;
echo '<script>' . $script . '</script>' ;
}
Как передать результат $data из первой функции в 2ю? Пробовал обьявлять $data глобальной, ничего не получается ( Пробывал в 2й функцию передавать просто $_SESSION['message'], результат выводится только один
PHP:
скопировать код в буфер обмена
if ( isset ( $_SESSION [ 'message' ] ) )
{
$message = $_SESSION [ 'message' ] ;
$script = '
(function Notification() {
var notification = new NotificationFx({
message : "' . $message . '",
layout : "bar",
effect : "slidetop",
type : "notice", // notice, warning, error or success
});
notification.show();
})();
' ;
echo '<script>' . $script . '</script>' ;
unset ( $_SESSION [ 'message' ] ) ;
, а мне нужно несколько, как это было бы еслиб я просто вывел в первой функции
PHP:
скопировать код в буфер обмена
foreach ( $_SESSION [ 'message' ] as $key => $value )
{
echo "<span class='glyphicon glyphicon-remove'></span><p><b>$key </b>: $value </p>" ;
}
EuRusik
Отправлено: 13 Мая, 2016 - 11:59:44 • Тема: Вывод нескольких сообщений при заполнении полей в форме • Форум: Вопросы новичков
Ответов: 2 Просмотров: 162
Вопрос в следующем, как реализовать вывод сообщений об ошибках сразу нескольких условий если поля к примеру Дата, и Возраст не указаны?
Делаю проверку к примеру:
Так вот этот код выводит только одно сообщение об ошибке, даже если оба поля не заполнены. Умом я понимаю что это нужно сделать в цикле , но как это реализовать пока не додумался
EuRusik
Отправлено: 13 Апреля, 2016 - 17:43:06 • Тема: Вопрос по mysqli_query • Форум: Вопросы новичков
Ответов: 1 Просмотров: 119
Есть класс: DbConnectClass
PHP:
скопировать код в буфер обмена
class DbConnectClass
{
private $host = "localhost" ;
private $user = "user" ;
private $pass = "password" ;
private $db = "name_db" ;
public function ConnectDB( )
{
$mysqli = mysqli_connect ( $this -> host , $this -> user , $this -> pass , $this -> db ) ;
if ( $mysqli )
{
echo "Connected to Database: OK" ;
}
{
}
}
}
Есть файл который наследует его Database:
PHP:
скопировать код в буфер обмена
class DatabaseClass extends DbConnectClass
{
private $tablename ;
public function __construct( $tablename )
{
$this -> tablename = $tablename ;
}
public function getRecordByID( $id )
{
$connect = new DbConnectClass( ) ;
$db_con = $connect -> ConnectDB ( ) ;
$query = "SELECT * FROM `$this->tablename ` WHERE id = '$id '" ;
{
}
return $data ;
}
}
Вывожу:
В итоге ошибка:
mysqli_query() expects parameter 1 to be mysqli, null given in
P.S. Когда создаю локально $mysqli = mysqli_connect... в файле Database то все работет, а как сделать чтобы подлючалось все это дело из класса DbConnectClass?
EuRusik
Отправлено: 04 Марта, 2016 - 11:02:58 • Тема: Вывод ошибки если была нажата кнопка submit и поле было пустое • Форум: Вопросы новичков
Ответов: 0 Просмотров: 97
Есть форма:
CODE (
html ):
скопировать код в буфер обмена
<html >
<meta charset = "UTF-8" >
<title > Форма проверки</ title >
<body >
<? echo( $error_message) ; ?>
<form name = "filter" action = "valid.php" method = "post" >
<input type = "number" name = "number" >
<input type = "submit" name = "enter" value = "Отправить" >
</ form >
</ body >
</ html >
И php код:
PHP:
скопировать код в буфер обмена
$error_message = "" ;
if ( isset ( $_POST [ 'enter' ] ) ) { if ( ! isset ( $_POST [ 'number' ] ) ) { $error_message = "Поле не заполнено" ;
}
else {
$num = ( $_POST [ 'number' ] ) ;
echo $num ;
}
}
Яж вроде не тупой, но ошибка о том что - если поле number пустое вывести "Поле не заполнено не могу"
UPD: нужно было вместо !isset поставить empty
EuRusik
Отправлено: 09 Октября, 2015 - 13:25:24 • Тема: Не могу понять как работает этот код • Форум: Вопросы новичков
Ответов: 4 Просмотров: 1210
Я новичек в php, и пытаюсь разобраться в одном примере, который нашел на просторах интернета. Пытаюсь понять что делает этот код, уже всю голову сломал , буду очень признателен если кто-то из форумчан опишет принцип работы этого примера.
PHP:
скопировать код в буфер обмена
if ( $_SERVER [ 'REQUEST_URI' ] == '/' ) {
$Page = 'index' ;
$Module = 'index' ;
} else {
$URL_Path = parse_url ( $_SERVER [ 'REQUEST_URI' ] , PHP_URL_PATH
) ;
for ( $i = 0 ; $i < count ( $URL_Parts ) ; $i ++ ) { $Param [ $URL_Parts [ $i ] ] = $URL_Parts [ ++ $i ] ;
}
}
}
Все что я смог понять это то, что вот эта часть
Если мы набрали домен test.ru то сервер добавляет test.ru/index для переменных $Page и $Module, а дальше после else непонятно что происходит
Страниц (1): [1]
Powered by ExBB FM 1.0 RC1. InvisionExBB