PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи

Страниц (29): В начало « ... 6 7 8 9 [10] 11 12 13 14 ... » В конец

> Найдено сообщений: 425
exlant Отправлено: 29 Апреля, 2015 - 20:14:33 • Тема: Вопрос по проверки БД • Форум: Вопросы новичков

Ответов: 15
Просмотров: 487
file.shreder хотел сказать, что API mysql_* в php устарела, а не сама MySQL!
И сейчас используют mysqli или pdo! И лучше с них начинать!

http://php.net/manual/ru/functio...ysql-connect.php
exlant Отправлено: 29 Апреля, 2015 - 20:11:15 • Тема: Промодерировать все посты одним кликом • Форум: Вопросы новичков

Ответов: 25
Просмотров: 654
leshiy а ошибки какие то пишет?
возьми выведи запрос на экран
exlant Отправлено: 29 Апреля, 2015 - 19:59:59 • Тема: Промодерировать все посты одним кликом • Форум: Вопросы новичков

Ответов: 25
Просмотров: 654
Цитата:
Тогда и айди бы нужны были

а там есть id!
(Добавление)
file.shreder и вообще не понимаю, какого ты ко мне вообще прицепился??? Иди радуйся простоте своего кода!
exlant Отправлено: 29 Апреля, 2015 - 19:58:21 • Тема: Промодерировать все посты одним кликом • Форум: Вопросы новичков

Ответов: 25
Просмотров: 654
Цитата:
Выводятся все посты и все больше ничего не происходит.

после этого вывода, отмечаешь те которые нужно "отмодерировать", и кнопку send!

Если это не то, то вариант file.shreder, как раз то что тебе и требовалось!
exlant Отправлено: 29 Апреля, 2015 - 19:55:11 • Тема: Промодерировать все посты одним кликом • Форум: Вопросы новичков

Ответов: 25
Просмотров: 654
Цитата:
ну так а он о чем?

я уже написал, то как я понял вопрос!
В другом случаи не понимаю зачем, автор тогда чекбоксы приводил в примере
exlant Отправлено: 29 Апреля, 2015 - 19:51:41 • Тема: Промодерировать все посты одним кликом • Форум: Вопросы новичков

Ответов: 25
Просмотров: 654
mysqli, а у него mysql - скорей всего от туда ошибка!
exlant Отправлено: 29 Апреля, 2015 - 19:50:19 • Тема: Промодерировать все посты одним кликом • Форум: Вопросы новичков

Ответов: 25
Просмотров: 654
file.shreder какая такая??? мои пару строчек вообще программой стыдно назвать..
Я понял задачу, как с начало отметить нужные посты чекбоксом, а отмеченные потом проапдейтить в базе!


и с таким успехом можно просто
CODE (SQL):
скопировать код в буфер обмена
  1. UPDATE `date` SET  moderation=1 WHERE moderation=0
в phpmyadmin, как запрос втулить, и все...
exlant Отправлено: 29 Апреля, 2015 - 19:40:02 • Тема: Промодерировать все посты одним кликом • Форум: Вопросы новичков

Ответов: 25
Просмотров: 654
PHP:
скопировать код в буфер обмена
  1. $result = mysql_query("SELECT title,id FROM date WHERE moderation=0 ORDER BY id");
  2.     echo '<form action="" method="post">';
  3.     while ($myrow = mysql_fetch_array($result))
  4.     {
  5.         echo  '<p><input name="id[]" type="checkbox" value="'.$myrow["id"].'"><label>'.$myrow["title"].'</label></p>';
  6.     }
  7.     echo '<input type="submit" value="send">'
  8.             . '</form>';
  9.     if(isset($_POST['id'])){
  10.         $attr = array();
  11.         foreach($_POST['id'] as $val)
  12.             $attr[] = (int)$val;
  13.        
  14.         $str = implode(',',$attr);
  15.        
  16.         $query = 'UPDATE date SET moderation = 1 WHERE id IN('.$str.')';
  17.         $result = mysql_query($query);
  18.     }
exlant Отправлено: 29 Апреля, 2015 - 15:13:38 • Тема: Denwer и PostgreSQL • Форум: Прочее

Ответов: 2
Просмотров: 37
а база данных корректно указана?
(Добавление)
а то ругается на ее несуществование!
exlant Отправлено: 27 Апреля, 2015 - 19:11:04 • Тема: Поиск элементов строк и столбцов в двумерном массиве • Форум: Вопросы новичков

Ответов: 34
Просмотров: 1803
dcc0 спасибо) так и планировалось!
exlant Отправлено: 27 Апреля, 2015 - 13:44:00 • Тема: Поиск элементов строк и столбцов в двумерном массиве • Форум: Вопросы новичков

Ответов: 34
Просмотров: 1803
м-да, пропустил! только заметил, что ошибки у меня были не все включены!
вот так переделайте:
PHP:
скопировать код в буфер обмена
  1.  
  2. if(isset($array[$y][$a]) and $array[$y][$a] === -1){
  3.                 $stack['x']++;
  4.             }
  5.             if(isset($array[$a][$x]) and $array[$a][$x] === -1){
  6.                 $stack['y']++;
  7.             }
  8.  

а это вообще удалить
PHP:
скопировать код в буфер обмена
  1.  
  2. function counting($val,&$num){
  3.         if($val){
  4.             if($val === -1){
  5.                 $num++;
  6.             }
  7.         }
  8.     }
  9.  
exlant Отправлено: 27 Апреля, 2015 - 12:12:07 • Тема: Поиск элементов строк и столбцов в двумерном массиве • Форум: Вопросы новичков

Ответов: 34
Просмотров: 1803
Цитата:
Только если матрица не квадратная, то выскакивает ошибка

Скиньте, но массив где вылазит ошибка!
Я изначально планировал, что б все работало с прямоугольными матрицами! Ошибок у меня не было..
(Добавление)
И я пошел другим путем, мой алгоритм не запоминает числа, когда в ряду есть -1, но их не хватает, что бы поменять число на -1!

В моем варианте, если была хоть одна замена на -1, то запускаем цикл проверки по массиву еще раз. А для сокращения итераций, запоминаем x или y, столбца или строки в которых все -1, и в итерации пропускаем их! Я посчитал, что такой алгоритм лучше, чем запоминать числа, когда в ряду не все -1!
exlant Отправлено: 27 Апреля, 2015 - 06:02:08 • Тема: Поиск элементов строк и столбцов в двумерном массиве • Форум: Вопросы новичков

Ответов: 34
Просмотров: 1803
вроде работает так как надо...
хотя все это лучше бы в класс запихнуть!
PHP:
скопировать код в буфер обмена
  1.  
  2. $X = array(
  3.        array(1,-1,3,10,3),
  4.        array(4,-1,-1,10,-1),
  5.        array(-1,-1,-1,10,-1),
  6.        array(-1,-1,1,10,-1),
  7.        array(1,2,3,10,-1),
  8.        array(4,-1,-1,10,-1),
  9.        array(-1,-1,-1,-1,10),
  10.        array(-1,-1,1,-1,-1)
  11.        
  12.    );
  13.    
  14.     echo "<table border=1>";
  15.     foreach ($X as $y => $array){
  16.             echo "<tr>";
  17.             foreach($array as $x => $val){
  18.                 $style = '';
  19.                 if($val === -1) {$val = '<b>'.$val.'</b>'; $style = ';background-color:green';}
  20.                 echo "<td style='width:30px;text-align:center",$style,"'>",$val,"</td>";
  21.             }
  22.             echo "</tr>";
  23.     }
  24.     echo "</table>";
  25.    
  26.    $count_row = count($X);  // считаем сколько рядов
  27.    $count_column = count($X[0]); //считаем сколько столбцов
  28.    $count = ($count_row > $count_column) ? $count_row : $count_column; // выбираем, то чего у нас само больше
  29.    
  30.    $column = array();  // массив куда будем записывать столбцы, где все -1
  31.    $row = array();  // массив куда будем записывать колонки, где все -1
  32.    
  33.     function counting($val,&$num){
  34.         if($val){
  35.             if($val === -1){
  36.                 $num++;
  37.             }
  38.         }
  39.     }
  40.    
  41.     function search($array, $count, $x, $y){
  42.         $stack = array('x' => 0, 'y' => 0); //сюда записываем количество чисел с -1 в столбце и ряду
  43.         $success = FALSE;
  44.         global $count_row;
  45.         global $count_column;
  46.         global $column;
  47.         global $row;
  48.         for($a = 0; $a < $count; $a++){
  49.             counting($array[$y][$a],$stack['x']);
  50.             counting($array[$a][$x],$stack['y']);
  51.         }
  52.         if($count_column === $stack['x']+1){
  53.             $row[] = $y; // номер ряда со всеми -1
  54.             $success = TRUE;
  55.         }
  56.            
  57.         if($count_row === $stack['y']+1){
  58.             $column[] = $x;// номер столбца со всеми -1
  59.             $success = TRUE;
  60.         }
  61.         if($success)
  62.             return TRUE;
  63.         return FALSE;
  64.    }
  65.    
  66.     for($num = 0;;$num = 0){   // цикл работает пока хоть раз была замена числа на -1
  67.         foreach ($X as $y => $array){
  68.             if(in_array($y, $row)) continue; // если столбец со всеми -1, выходим с итерации
  69.                    
  70.             foreach($array as $x => $val){
  71.                 if(in_array($x, $column)) continue; // если ряд со всеми -1, выходим с итерации
  72.                      
  73.                 if($val!==-1){
  74.                     if(search($X, $count, $x, $y)){ // если в ряду, или столбце все числа -1, кроме этого
  75.                         $X[$y][$x] = -1;
  76.                         $num++;
  77.                     }
  78.                 }
  79.             }
  80.         }
  81.         if($num == 0) break; // обрываем цикл, если не было замены на -1
  82.     }
  83.    
  84.     echo "<br><table border=1>";
  85.     foreach ($X as $y => $array){
  86.             echo "<tr>";
  87.             foreach($array as $x => $val){
  88.                 $style = '';
  89.                 if($val === -1) {$val = '<b>'.$val.'</b>'; $style = ';background-color:green';}
  90.                 echo "<td style='width:30px;text-align:center",$style,"'>",$val,"</td>";
  91.             }
  92.             echo "</tr>";
  93.     }
  94.     echo "</table>";
  95.  
exlant Отправлено: 27 Апреля, 2015 - 02:48:43 • Тема: Поиск элементов строк и столбцов в двумерном массиве • Форум: Вопросы новичков

Ответов: 34
Просмотров: 1803
значит все таки если хотя бы в строке, ИЛИ столбце все -1, кроме проверяемого числа, то его приравниваем к -1!
exlant Отправлено: 27 Апреля, 2015 - 02:35:16 • Тема: Поиск элементов строк и столбцов в двумерном массиве • Форум: Вопросы новичков

Ответов: 34
Просмотров: 1803
все-равно не понял!
ладно, возьмем самый первый пример
(90,-1,-1),
(-1,300,100),
(-1,-1,60)
здесь 90 не трогаем, так как первое число?
300 не трогаем, так как есть 100
100 не трогаем, так как есть 300, и 60
60 не трогаем так как есть 100?
(Добавление)
или же мы просто именно 20 не трогаем?
тогда в данном случаи меняется только 90 на -1?

Страниц (29): В начало « ... 6 7 8 9 [10] 11 12 13 14 ... » В конец
Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB