1

(3 відповідей, залишених у Бази даних)

Всім привіт! Є необхідність на рівні SQL зробити вибірку 3х останніх коментарів до кожного запису krok_questions

SELECT *,
    (
        SELECT GROUP_CONCAT(concat(`c_message`, ' \n------------', `users`.`u_id`) SEPARATOR '==')
        FROM `comments`
        LEFT JOIN `users` ON `users`.`u_id` = `comments`.`c_user`
        WHERE `comments`.`c_group` = 1 AND `comments`.`c_val` = `krok_questions`.`kq_id`
        ORDER BY `comments`.`c_date` DESC
        LIMIT 3
    ) as `arrayComment`
FROM `krok_questions`
WHERE ..........
LIMIT ..........
Все працює, але в результаті в arrayComment закидаються ВСІ результати з таблиці comments де `comments`.`c_group` = 1 AND `comments`.`c_val` = `krok_questions`.`kq_id`
А LIMIT 3 Не працює
Підкажіть, як виправити?

2

(6 відповідей, залишених у PHP)

koala написав:
savelikan написав:

Чому в такому випадку в класі someController доступна інформація про кількість запитів до бд $this->model->countQuery, а в $this->countQuery результат пустий?

Бо запит виконується в $this->model->countQuery, а не в $this.

Як це можна виправити?

Виконувати запит в $this, а не в $this->model, очевидно.
І ви точно певні, що хочете наслідувати someModel від SystemController? extends краще за все перекладати як "це такий": someController - це такий SystemController, що має властивості {...}. someModel - це точно такий SystemController?

дякую за відповідь.
Вирішив все наслідувати, щоб брати з SystemController функції роботи з базою даних, обробки GET POST, і т.д

3

(6 відповідей, залишених у PHP)

Всім привіт!
Пробую писати ООП:

системний клас

class SystemController{
    public $db;
    function __construct(){
        $this->db = new systemDatabase();
    }
}

клас бази даних

class systemDatabase extends PDO {
    protected $connection = null;
    public $countQuery;
    
    public function __construct() {
        parent::__construct(....);
    }
    
    public function query($sql){
      $this->countQuery++;
      return parent::query($sql);
    }
}

контролер

class someController extends SystemController{
    function __construct(){
        $this->model = new someModel();
    }

    function actionPage(){
        $this->model->getListBooks();
    }
}

модель

class someModel extends SystemController{
    function getListBooks(){
        $this->db->query(.....);
    }
}

Чому в такому випадку в класі someController доступна інформація про кількість запитів до бд $this->model->countQuery, а в $this->countQuery результат пустий?
Як це можна виправити?

4

(13 відповідей, залишених у PHP)

дякую)

5

(13 відповідей, залишених у PHP)

Betterthanyou написав:

Взагалі то в вас останнії символ не завжди "*"
наприклад тут останній двокрапка ":"
1.    Де частіше застосовують затискач Мікуліча:

IF(substr($value,(strlen($value)-1),1)=="*")

тобто ця умова не правильна

По ідеї зірочка позначає вірну відповідь і мені її треба перемістити на початок і замінити на знак дорівнює)

6

(13 відповідей, залишених у PHP)

Всім привіт! От стараюся перемістити останній символ на початок рядка і замінити його на знак "=".
Ось, що в мене в коді:

$text_tp = explode("\n",$text);
FOREACH($text_tp AS $value){
    IF(substr($value,(strlen($value)-1),1)=="*"){
        $res[] = "=".substr($value,0,(strlen($value)-1));
    } else {
        $res[] = $value;
    }
}
$text = implode("\n",$res);        

І текст, який я редагую:

1.    Де частіше застосовують затискач Мікуліча:
A.    для накладання на судини;
B.    для захоплення м’язів;
C.    для захоплення підшкірної жирової клітковини;
D.    для фіксації стерильного матеріалу при ізоляції черевної порожнини; *
E.    для фіксації сухожиль.
2.    Що вивчає топографічна анатомія:
A.    системи органів;
B.    варіанти будови органів;
C.    морфологічну будову окремих ділянок організму; *
D.    іннервацію кровопостачання органів;
E.    вікові зміни органів.
3.    Що таке скелетотопія:
A.    відношення анатомічних утворів до ділянок тіла;
B.    відношення анатомічних утворів до кісток скелета; *
C.    відношення анатомічних утворів областей організму;
D.    варіанти кровопостачання органів;
E.    відношення між органами.

Підкажіть будь ласка, в чому помилка?

7

(3 відповідей, залишених у JavaScript, TypeScript, ECMAScript)

Дякую)

8

(3 відповідей, залишених у JavaScript, TypeScript, ECMAScript)

Привіт всім) така проблема...
Отримую я числа з інпут

res_true = document.getElementById(\'correct_all\').value;
res_false = document.getElementById(\'false_all\').value;

І мені їх треба додати. Коли додаю - то воно не додає, а ставить їх поруч.
Наприклад, res_true=1, res_false=2 то разом виходить 12
Я знаю, що не дуже розуміюся в цій мові програмування, але допоможіть)

9

(2 відповідей, залишених у PHP)

Дякую

10

(2 відповідей, залишених у PHP)

Привіт всім) Поставив собі задачу викачати тести з сайту http://moz.org.ua/index.php?file=subjec … ;tema_id=1
Там по одному запитанню на сторінку, а я намагаюся черех PHP викачати їх щоб не просто копіювати)
Для цього я одержую сторінку і намагаюся одержати всі URL тестових питань:

$text = file_get_contents("http://moz.org.ua/index.php?file=answer&spec_id=1&tema_id=1&aid=1");
preg_match_all("/Акушерство та гінекологія[.]{0,}/",$text,$result);
print_r($result);

І тут preg_match_all не працює =( Він повинен шукати посилання в такому тексті (уривок)

<BR><H2><A HREF='index.php?file=subject&spec_id=1'>1. Акушерство і гінекологія</A></H2><H3>1. <U><A HREF='index.php?file=subject&spec_id=1&tema_id=1'>"Акушерство та гінекологія"</A></U></H3><BR><U><B>Антенатальна смерть плоду означає смерть</B></U><BR> - плід масою 1000 г і менше [0]<BR>
- немовля вагою 2500 г і менше [0]<BR>
- плід при будь-якому терміні вагітності до пологів [0]<BR>
- плід масою 1000 г і більш до пологів [100]<BR>

<br />
           
<br />
    <pre>Атестація  лікарів  проводиться   з   метою   підвищення
відповідальності  за ефективність і якість роботи,  раціональнішої
розстановки  кадрів   фахівців   з   урахуванням   їх  професійної
майстерності, досвіду та складності виконуваних робіт. Атестація є
важливою  формою   морального   та   матеріального   стимулювання,
спрямована  на  удосконалення діяльності закладів охорони здоров'я
щодо подальшого поліпшення надання медичної допомоги населенню.

<div id="DIV_DA_10883">Загружается, подождите...</div>

Чи могли б ви допомогти у формуванні регулярного виразу для пошуку запитань?

Тобто, звідси треба витягнути

<B>Антенатальна смерть плоду означає смерть</B></U><BR> - плід масою 1000 г і менше [0]<BR>
- немовля вагою 2500 г і менше [0]<BR>
- плід при будь-якому терміні вагітності до пологів [0]<BR>
- плід масою 1000 г і більш до пологів [100]<BR>

11

(6 відповідей, залишених у PHP)

Vo_Vik написав:

Так руки сверблять туди інжекшн засунути коли побачив ото $GET_ , але воно певно все ж таки десь санітазоване.

там же $GET_ а не $_GET =)

12

(6 відповідей, залишених у PHP)

Привіт всім!
Допоможіть розібратися)
Є код:

$SQLyear = mysql_query("SELECT * FROM `krok_subject` WHERE `ks_group` = '".$GET_group."' GROUP BY `ks_year` ORDER BY `ks_year` DESC");
WHILE($TSTyear = mysql_fetch_array($SQLyear)){
    $CONTENT .= '<A CLASS="a_block" HREF="'.$CONFIG['site_url'].'krok/group(1)_year('.$TSTyear['ks_year'].').html">'.$TSTyear['ks_year'].' рік</A>';
}

Як можна додати код, який буде виконуватися, якщо не знайдено жодного результату?

13

(15 відповідей, залишених у PHP)

ой. вибачте, знайшов помилку. проста неуважність

14

(15 відповідей, залишених у PHP)

Ось, я написав такий код:

CREATE TABLE IF NOT EXISTS `users_online` (
  `users_online-id` int(11) NOT NULL AUTO_INCREMENT,
  `users_online-identif` varchar(200) NOT NULL,
  `users_online-ip` varchar(50) NOT NULL,
  `users_online-guest` int(1) NOT NULL,
  `users_online-user` int(11) NOT NULL,
  `users_online-browser` varchar(200) NOT NULL,
  `users_online-date` datetime NOT NULL,
  `users_online-url` varchar(200) NOT NULL,
  `users_online-href` varchar(200) NOT NULL,
  `users_online-ref` varchar(200) NOT NULL,
  PRIMARY KEY (`users_online-id`),
  UNIQUE KEY `users_online-identif` (`users_online-identif`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;


і код:

    $mysql->query("
            INSERT INTO `users_online` (
                `users_online-id`,
                `users_online-identif`,
                `users_online-ip`,
                `users_online-user`,
                `users_online-browser`,
                `users_online-date`,
                `users_online-url`,
                `users_online-href`,
                `users_online-ref`
            ) VALUES (
                NULL,
                '".func_getIP()."_".$session."'
                '".func_getIP()."',
                '".$GLOBAL_user['users_id']."',
                '".$agent."',
                NOW(),
                '".$GLOBAL_online_save."',
                '".$_SERVER['REQUEST_URI']."',
                '".$_SERVER['HTTP_REFERER']."'
            )
            ON DUPLICATE KEY 
                UPDATE `users_online-user` = '".$GLOBAL_user['users_id']."',`users_online-date` = NOW(),`users_online-url` = '".$_SERVER['REQUEST_URI']."';
        ");

а тут помилка: Column count doesn't match value count at row

15

(15 відповідей, залишених у PHP)

Доброго дня! Скажіть будь ласка, чи правильною буде конструкція?

mysql_query(......) OR mysql_query(......);

16

(7 відповідей, залишених у Робота)

українська банерка не виплачує гроші) там тільки обмін на покази

Які інші способи монетизації?

17

(7 відповідей, залишених у Робота)

Більшість з них вимагає 500 хостів, а в мене тільки 200-300

18

(7 відповідей, залишених у Робота)

Djalin написав:

реклама якого формату цікавить? банери тізери? і саме на показах?

будь-яка) Цікавлять всі варіанти)

19

(11 відповідей, залишених у Бази даних)

Хоча в такому випадку воно взагалі не дозволяє зробити два записи в таблиці Б з однаковими ключами(
А якщо RESTRICT - тоді нічого не видаляється

20

(7 відповідей, залишених у Робота)

Підкажіть будь ласка сайт, де можна заробити на показах реклами вебмайстру?
такі, щоб не писали "только для россии")
Крім гугла і яндекса