SELECT *
использовать SELECT type, lvl, country, isoc
так как лишние данные, это лишние задержки.SELECT ... FROM table WHERE uid IN(uid1, uid2, uidN)
item_id
date_day
counter
<?php
function draw($array)
{
foreach($array as $item)
{
if(isset($item['CHILD']))
{
echo '<li>'.$item['NAME'].'<ul>';
draw($item['CHILD']);
echo '</ul></li>';
}
else
{
echo '<li>'.$item['NAME'].'</li>';
}
}
}
$arr = [
'CHILD' => [
'16' => [
'NAME' => '1',
'CHILD' => [
'17' => [
'NAME' => 'a'
],
'18' => [
'NAME' => 'b'
]
]
]
]
];
echo '<ul>';
draw($arr['CHILD']);
echo '</ul>';
/*Сохранение результата в промежуточном массиве*/
$orderinfo["goods"] = $items;
/*добавление промежуточного массива в возвращаемый массив*/
$allorders[]=$ordersinfo;
case
('Промо'):
$sql = 'SELECT * FROM promo';
$result = mysqli_query($link, $sql);
$array = array();
while($row = mysqli_fetch_array($result))
{
$item['promo_name'] = $row['promo_name'];
$item['promo_descr'] = $row['promo_descr'];
$item['promo_link'] = $row['promo_link'];
$cod[] = $item;
}
$text = ''; // <---
foreach($cod as $v)
{
$new_line = $v['promo_name'].' - '.$v['promo_descr'].' <a href="'.$v['promo_link'].'">перейти к акции</a><br/>';
if(mb_strlen($text) + mb_strlen($new_line) > 4096) // <---
{
file_get_contents($GLOBALS['api'].'/sendMessage?chat_id='.$chat_id.'&reply_markup='.$keyboard.'&text='.urlencode($text));
$text = '';
}
$text .= $new_line; // <---
}
if($text != '') // <---
{
file_get_contents($GLOBALS['api'].'/sendMessage?chat_id='.$chat_id.'&reply_markup='.$keyboard.'&text='.urlencode($text));
}
// file_get_contents($GLOBALS['api'] . '/sendMessage?chat_id='.$chat_id.'&reply_markup='.$keyboard.'&text=' . urlencode("Код ".$row['promo_name']." \n ".$row['promo_descr']." \n Ссылка ".$row['promo_link']." "));
break;
func_a(3, 5); //у нас появляется функция func_arg которую теперь можем вызывать
var_dump(func_arg(7, 9));
var_dump(function_exists('func_arg')); //false
func_a(3, 5);
var_dump(function_exists('func_arg')); //true
function func_a()
{
//
}
function func_arg()
{
//
}
$inline_button = [
'text' => "Показать список команд",
'callback_data' => '/showcomands/',
];
$inline_keyboard = [[$inline_button]];
$keyboard = json_encode(["inline_keyboard" => $inline_keyboard]);
return $keyboard;
<?php
$str =
"
line 1
line 2
line 3\r
line 4
";
$str_cleared = join("\n", array_map('trim', explode("\n", $str)));
var_dump($str);
var_dump($str_cleared);
string(50) "
line 1
line 2
line 3
line 4
"
string(29) "
line 1
line 2
line 3
line 4
"
foreach ($results as $result)
{
//получаем массив со списком статусов для заказа
$statushistory = array();
foreach($result->statushistory[0] as $child)
{
$attrsStatusHistory = $child->attributes();
$status = array(
'eventstore' => (string)$attrsStatusHistory['eventstore'],
'eventtime' => (string)$attrsStatusHistory['eventtime'],
'createtimegmt' => (string)$attrsStatusHistory['createtimegmt'],
'title' => (string)$attrsStatusHistory['title']
);
$statushistory[] = $status;
}
$order = array(
// ... код как у вас был
'statushistory' => $statushistory,
);
}
use Telegram\Bot\Keyboard\Keyboard;
$buttons = [
['qqq', 'www', 'eee'],
['rrr', 'ttt', 'yyy'],
['uuu', 'iii', 'ooo'],
];
$keyboard = Keyboard::make()->setOneTimeKeyboard(false)->setResizeKeyboard(true);
foreach($buttons as $row)
{
$keyboard->row(...$row);
}
function get_post() {
global $link;
$sql = "SELECT * FROM projects WHERE categoty = 'top' ORDER BY id desc";
$result = mysqli_query($link, $sql);
$posts = array(); // <---- инициализируем posts как пустой массив
while ($row = $result->fetch_assoc()) {
$posts[] = $row; // <---- наполняем массив данными из бд
}
return $posts;
}
<?php
$posts = get_post();
?>
<?php foreach ($posts as $post) : ?>
<div class="portfolio_project wow fadeInUp">
<a href="/project.php?post_id=<?= $post['id'] ?>">
<h1><?php echo $post['title'] ?></h1>
</a>
</div>
<?php endforeach; ?>