PHP.SU

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

Страниц (2): [1] 2 »

> Найдено сообщений: 19
sergoVL Отправлено: 18 Сентября, 2016 - 13:22:19 • Тема: запись в БД циклом • Форум: Работа с СУБД

Ответов: 7
Просмотров: 1793
Denkill пишет:
PHP:
скопировать код в буфер обмена
  1. <?$l = array(
  2.  
  3.     1 => "",
  4.     2 => "25 ррарркр",
  5.     3 => "32 ттьтт",
  6.     4 => "44 ььроппа",
  7.     5 => "",
  8.     6 => "новая 25 строка",
  9.     7 => "ваапм 32 строка",
  10.     8 => "аааа 44  строка",
  11.     9 => "",
  12.     10 => "аааа 25 вторую строку",
  13.     11 => "новая строка 32 ",
  14.     12 => "новая строка 44 ",
  15.     13 => "",
  16.     14 => "аааа 25 гггггг",
  17.     15 => "новая ввсвс 32 строка",
  18.     16 => "уккк 44 выв строка",
  19.     17 => "",
  20.     18 => "новая 25 строка",
  21.     19 => "ссвсс 32 строка",
  22.     20=>  "ыраав 44 строка",
  23.     21 => "",
  24.     22 => "новая 25 ыыыыы строка",
  25.     23 => "уцкв 32 строка",
  26.     24 => "двдвл 44  строка",
  27. );
  28.  
  29. // Подключение к базе данных
  30.             'localhost',  //Хост, к которому мы подключаемся
  31.             'root',       // Имя пользователя
  32.             'west10795',   // Используемый пароль
  33.             'TEST1')OR DIE("Не могу создать соединение ");     //База данных для запросов по умолчанию
  34.            
  35. //необходимо выбрать собственно саму базу, с которой мы будем работать
  36. mysqli_select_db($link,"TEST1");
  37.  
  38. // Установка кодировки соединения
  39. mysqli_set_charset($link,"utf8");
  40.  
  41. //Вывод ошибки
  42. if (!$link) {
  43.     die('Connect Error: ' . mysqli_connect_errno());
  44. }
  45.  
  46. //записываем в БД 1-й вариант - не получается
  47. for ($n = 0; $n < count($l); $n++) {
  48.     mysqli_query($link, "INSERT INTO `mytable` (`name`, `time`)
  49.   VALUES ('" . $l[$n] . "','" . $u[$n] . "')");
  50. }
  51.  
  52.  


И для чего нужен массив $u?


Создаю таблицу таких ячеек будет несколько.
(Добавление)
Denkill пишет:
PHP:
скопировать код в буфер обмена
  1. <?$l = array(
  2.  
  3.     1 => "",
  4.     2 => "25 ррарркр",
  5.     3 => "32 ттьтт",
  6.     4 => "44 ььроппа",
  7.     5 => "",
  8.     6 => "новая 25 строка",
  9.     7 => "ваапм 32 строка",
  10.     8 => "аааа 44  строка",
  11.     9 => "",
  12.     10 => "аааа 25 вторую строку",
  13.     11 => "новая строка 32 ",
  14.     12 => "новая строка 44 ",
  15.     13 => "",
  16.     14 => "аааа 25 гггггг",
  17.     15 => "новая ввсвс 32 строка",
  18.     16 => "уккк 44 выв строка",
  19.     17 => "",
  20.     18 => "новая 25 строка",
  21.     19 => "ссвсс 32 строка",
  22.     20=>  "ыраав 44 строка",
  23.     21 => "",
  24.     22 => "новая 25 ыыыыы строка",
  25.     23 => "уцкв 32 строка",
  26.     24 => "двдвл 44  строка",
  27. );
  28.  
  29. // Подключение к базе данных
  30.             'localhost',  //Хост, к которому мы подключаемся
  31.             'root',       // Имя пользователя
  32.             'west10795',   // Используемый пароль
  33.             'TEST1')OR DIE("Не могу создать соединение ");     //База данных для запросов по умолчанию
  34.            
  35. //необходимо выбрать собственно саму базу, с которой мы будем работать
  36. mysqli_select_db($link,"TEST1");
  37.  
  38. // Установка кодировки соединения
  39. mysqli_set_charset($link,"utf8");
  40.  
  41. //Вывод ошибки
  42. if (!$link) {
  43.     die('Connect Error: ' . mysqli_connect_errno());
  44. }
  45.  
  46. //записываем в БД 1-й вариант - не получается
  47. for ($n = 0; $n < count($l); $n++) {
  48.     mysqli_query($link, "INSERT INTO `mytable` (`name`, `time`)
  49.   VALUES ('" . $l[$n] . "','" . $l[$n] . "')");
  50. }
  51.  
  52.  


И для чего нужен массив $u?


Может вместо count($l) поставить count($newmassiv)?
sergoVL Отправлено: 18 Сентября, 2016 - 13:08:25 • Тема: запись в БД циклом • Форум: Работа с СУБД

Ответов: 7
Просмотров: 1793
Denkill пишет:
sergoVL пишет:
Перебираешь массив с помощью циклов (foreach, for, while), и для каждого значения делаешь mysql_query
$array = array('Яблоко','Банан','Виноград');
foreach($array as $key => $value){
mysql_query("INSERT INTO `table`(`id`,`value`) VALUES('".$key."','".$value."')");
}

Так а если у меня выводит лишь последнее значение массива - это к чему?


Покажи код.


PHP:
скопировать код в буфер обмена
  1.  
  2. $newmassiv = array(
  3.  
  4.     1 => "",
  5.     2 => "25 ррарркр",
  6.     3 => "32 ттьтт",
  7.     4 => "44 ььроппа",
  8.     5 => "",
  9.     6 => "новая 25 строка",
  10.     7 => "ваапм 32 строка",
  11.     8 => "аааа 44  строка",
  12.     9 => "",
  13.     10 => "аааа 25 вторую строку",
  14.     11 => "новая строка 32 ",
  15.     12 => "новая строка 44 ",
  16.     13 => "",
  17.     14 => "аааа 25 гггггг",
  18.     15 => "новая ввсвс 32 строка",
  19.     16 => "уккк 44 выв строка",
  20.     17 => "",
  21.     18 => "новая 25 строка",
  22.     19 => "ссвсс 32 строка",
  23.     20=>  "ыраав 44 строка",
  24.     21 => "",
  25.     22 => "новая 25 ыыыыы строка",
  26.     23 => "уцкв 32 строка",
  27.     24 => "двдвл 44  строка",
  28. );
  29.  

К примеру определили, что
PHP:
скопировать код в буфер обмена
  1.  
  2. $count_massiv=count($output);
  3. foreach ($output as $count_massiv){
  4.  
  5. if ($t = strstr($count_massiv, 'аааа')) {
  6.     echo '<td>';
  7.     $l = substr($t,0,2);
  8.    echo $l;
  9.    
  10.     echo '</td>';
  11.     }
  12.  
  13.  
  14. if ($y = strstr($count_massiv, 'новая')) {
  15.    
  16.    echo '<td>';
  17.     $u = substr($y,0,3);
  18.    echo $u;
  19.    
  20.     echo '</td>';
  21.  
  22. }
  23. }
  24.  


Записываю в БД

PHP:
скопировать код в буфер обмена
  1.  
  2. $l = array();
  3. $u = array();
  4.  
  5. // Подключение к базе данных
  6. $link = mysqli_connect(
  7.             'localhost',  //Хост, к которому мы подключаемся
  8.             'root',       // Имя пользователя
  9.             'west10795',   // Используемый пароль
  10.             'TEST1')OR DIE("Не могу создать соединение ");     //База данных для запросов по умолчанию
  11.            
  12. //необходимо выбрать собственно саму базу, с которой мы будем работать
  13. mysqli_select_db($link,"TEST1");
  14.  
  15. // Установка кодировки соединения
  16. mysqli_set_charset($link,"utf8");
  17.  
  18. //Вывод ошибки
  19. if (!$link) {
  20.     die('Connect Error: ' . mysqli_connect_errno());
  21. }
  22.  
  23. //записываем в БД 1-й вариант - не получается
  24. for ($n = 0; $n < max(count($u), count($l)); $n++) {
  25.     mysqli_query($link, "INSERT INTO `mytable` (`name`, `time`)
  26.    VALUES ('" . $l[$n] . "','" . $u[$n] . "')");
  27. }
  28.  
  29. ////записываем в БД 2-й вариант - заносит лишь только последнее значение массива, но это понятно, что нужен цикл. Но я не понимаю как его сотворить.
  30. mysqli_query ($link,"INSERT INTO `mytable` (`name`,`time`) VALUES ('$u','$l')");
  31.  

(Добавление)
Denkill пишет:
sergoVL пишет:
Перебираешь массив с помощью циклов (foreach, for, while), и для каждого значения делаешь mysql_query
$array = array('Яблоко','Банан','Виноград');
foreach($array as $key => $value){
mysql_query("INSERT INTO `table`(`id`,`value`) VALUES('".$key."','".$value."')");
}

Так а если у меня выводит лишь последнее значение массива - это к чему?


Покажи код.


$count_massiv=count($output); - лишнее
sergoVL Отправлено: 18 Сентября, 2016 - 12:32:26 • Тема: запись в БД циклом • Форум: Работа с СУБД

Ответов: 7
Просмотров: 1793
Denkill пишет:
Перебираешь массив с помощью циклов (foreach, for, while), и для каждого значения делаешь mysql_query
PHP:
скопировать код в буфер обмена
  1. $array = array('Яблоко','Банан','Виноград');
  2. foreach($array as $key => $value){
  3.  mysql_query("INSERT INTO `table`(`id`,`value`) VALUES('".$key."','".$value."')");
  4. }


Так а если у меня выводит лишь последнее значение массива - это к чему?
sergoVL Отправлено: 17 Сентября, 2016 - 14:06:01 • Тема: запись в БД циклом • Форум: Работа с СУБД

Ответов: 7
Просмотров: 1793
Доброе время суток. Бьюсь уже долгое время. Не могу понять как записать весь массив в БД. Понятно, что для этого нужен цикл. У меня не получается его сделать.
Без цикла пробовал записывать, все работает. Записывается последнее значение массива.

Можете показать схематично,как он должен выглядеть?
sergoVL Отправлено: 04 Сентября, 2016 - 18:50:22 • Тема: как прикрутить кнопки для сортировки • Форум: Вопросы новичков

Ответов: 0
Просмотров: 90
как прикрутить кнопки, чтобы выбрать для сортировки нужный столбец БД. В данном примере столбец time

PHP:
скопировать код в буфер обмена
  1.  
  2. $newmassiv = array(
  3.  
  4.     1 => "foo",
  5.     2 => "25 ррарркр",
  6.     3 => "32 ттьтт",
  7.     4 => "44 ььроппа",
  8.     5 => "",
  9.     6 => "32 новая строка",
  10.     7 => "44 ваапм строка",
  11.     8 => "25 аааав строка",
  12.     9 => "",
  13.     10 => "44 хочу вторую строку",
  14.     11 => "32 новая строка",
  15.     12 => "25 новая строка",
  16.     13 => "",
  17.     14 => "25 ыыыыы гггггг",
  18.     15 => "44 новая ввсвс строка",
  19.     16 => "32 уккк выв строка",
  20.     17 => "",
  21.     18 => "44 новая строка",
  22.     19 => "32 ссвсс fhhhjjj строка",
  23.     20=>  "25 ыраа hrhhreeeee строка",
  24.     21 => "",
  25.     22 => "25 нова ыыыыы строка",
  26.     23 => "32 уцкв строка",
  27.     24 => "44 двдвл строка",
  28. );
  29.  
  30. $count_massiv = count($newmassiv); //счетчик массива
  31.  
  32. $key = array_search('foo', $newmassiv);
  33. $output = array_slice($newmassiv, $key);
  34.            
  35. foreach ($output as $count_massiv){
  36.    
  37. if($count_massiv=="foo") {
  38.    
  39.     continue;
  40.  
  41. }
  42.  
  43.  if($count_massiv=="") {
  44.    
  45.     echo('<tr></tr>');
  46. }
  47.  
  48. if ($gggg = strstr($count_massiv, '25')) {;
  49.     echo '<td>';
  50.     $rr = substr($gggg,0);
  51.    
  52.    //$Mass1 = compact('rr');//создал из переменной,значения которой будем сортировать в переменную  
  53. echo '</td>';
  54. }
  55.  
  56. if ($w = strstr($count_massiv, '32')) {;
  57.     echo '<td>';
  58.     $rer = substr($w,0);
  59.    //echo $rer;
  60.     echo '</td>';
  61. }
  62.  
  63. if ($ww = strstr($count_massiv, '44')) {;
  64.     echo '<td>';
  65.     $rtr = substr($ww,0);
  66.    //echo $rtr;
  67.     echo '</td>';
  68. }
  69.  
  70. }
  71.  
  72.  
  73. // Подключение к базе данных
  74. $link = mysqli_connect(
  75.             'localhost',  //Хост, к которому мы подключаемся
  76.             'root',       // Имя пользователя
  77.             'west10795',   // Используемый пароль
  78.             'TEST1')OR DIE("Не могу создать соединение ");     //База данных для запросов по умолчанию
  79.            
  80. //необходимо выбрать собственно саму базу, с которой мы будем работать
  81. mysqli_select_db($link,"TEST1");
  82.  
  83. // Установка кодировки соединения
  84. mysqli_set_charset($link,"utf8");
  85.  
  86. if (!$link) {
  87.     die('Connect Error: ' . mysqli_connect_errno());
  88. }
  89.  
  90. //Запись в БД
  91. $result = mysqli_query ($link,"INSERT INTO `mytable` (`name`,`time`,`critical`) VALUES ('$rr','$rer','$rtr')");
  92.  
  93. echo "<table widht=300 border=1>";
  94. echo '<thead>';
  95.     echo '<tr>';
  96.     echo '<th>1 колонка</TH>';
  97.      echo '<TH>2 колонка</TH>';
  98.      echo '<TH>3 колонка</TH>';
  99.     echo '</tr>';
  100. echo '</thead>';
  101. echo '<TBody>';
  102.  
  103. //Сортировка
  104. $result = mysqli_query($link,"SELECT * FROM `mytable` ORDER BY (`time`) DESC");
  105. //извлечение ассоциативного массива
  106. $result = mysqli_query($link,"SELECT * FROM `mytable`");
  107.  
  108.     while($row = mysqli_fetch_assoc($result)) {
  109.         //выводим как надо
  110.         echo '<pre>';
  111.             print_r($row);
  112.             echo '</pre>';
  113.            
  114.               /*extract($row);
  115.              
  116.  echo '<tr>';
  117.  
  118.   echo '<td>';
  119.     echo "$id";
  120.   echo '</td>';
  121.  
  122.   echo '<td>';
  123.     echo "$name";
  124.   echo '</td>';
  125.  
  126.  echo '<td>';
  127.     echo "$time";
  128.   echo '</td>';
  129.  
  130.  echo '</tr>';
  131.    
  132.     }
  133.     echo '</tbody>';
  134. echo '</table>';*/
  135. }
  136.     mysqli_free_result($result); //очищаем занятую память
  137.    //mysqli_query($link,"TRUNCATE TABLE `mytable`"); //очистить содержимое таблицы
  138.     mysqli_close($link);
  139.  
sergoVL Отправлено: 11 Августа, 2016 - 14:07:28 • Тема: записать в БД все значения • Форум: Вопросы новичков

Ответов: 2
Просмотров: 225
Подскажите, просто ума не приложу, как записать в БД все значения переменных $rr, $rer, $rtr. У меня записывается только последнее значение массива.

22 => "25 нова ыыыыы строка",
23 => "32 уцкв строка",
24 => "44 двдвл строка",

То есть понятно, что нужен цикл, но не понятно как его написать.

PHP:
скопировать код в буфер обмена
  1.  
  2. $newmassiv = array(
  3.  
  4.     1 => "foo",
  5.     2 => "25 ррарркр",
  6.     3 => "32 ттьтт",
  7.     4 => "44 ььроппа",
  8.     5 => "",
  9.     6 => "32 новая строка",
  10.     7 => "44 ваапм строка",
  11.     8 => "25 аааав строка",
  12.     9 => "",
  13.     10 => "44 хочу вторую строку",
  14.     11 => "32 новая строка",
  15.     12 => "25 новая строка",
  16.     13 => "",
  17.     14 => "25 ыыыыы гггггг",
  18.     15 => "44 новая ввсвс строка",
  19.     16 => "32 уккк выв строка",
  20.     17 => "",
  21.     18 => "44 новая строка",
  22.     19 => "32 ссвсс fhhhjjj строка",
  23.     20=>  "25 ыраа hrhhreeeee строка",
  24.     21 => "",
  25.     22 => "25 нова ыыыыы строка",
  26.     23 => "32 уцкв строка",
  27.     24 => "44 двдвл строка",
  28. );
  29.  
  30. $count_massiv = count($newmassiv); //счетчик массива
  31.  
  32. $key = array_search('foo', $newmassiv);
  33. $output = array_slice($newmassiv, $key);
  34.            
  35. foreach ($output as $count_massiv){
  36.    
  37. if($count_massiv=="foo") {
  38.    
  39.     continue;
  40.  
  41. }
  42.  
  43.  if($count_massiv=="") {
  44.    
  45.     echo('<tr></tr>');
  46. }
  47.  
  48. if ($gggg = strstr($count_massiv, '25')) {;
  49.     echo '<td>';
  50.     $rr = substr($gggg,0);
  51.    
  52.    //$Mass1 = compact('rr');//создал из переменной,значения которой будем сортировать в переменную  
  53. echo '</td>';
  54. }
  55.  
  56. if ($w = strstr($count_massiv, '32')) {;
  57.     echo '<td>';
  58.     $rer = substr($w,0);
  59.    //echo $rer;
  60.     echo '</td>';
  61. }
  62.  
  63. if ($ww = strstr($count_massiv, '44')) {;
  64.     echo '<td>';
  65.     $rtr = substr($ww,0);
  66.    //echo $rtr;
  67.     echo '</td>';
  68. }
  69.  
  70. }
  71.  
  72.  
  73. // Подключение к базе данных
  74. $link = mysqli_connect(
  75.             'localhost',  //Хост, к которому мы подключаемся
  76.             'root',       // Имя пользователя
  77.             'west10795',   // Используемый пароль
  78.             'TEST1')OR DIE("Не могу создать соединение ");     //База данных для запросов по умолчанию
  79.            
  80. //необходимо выбрать собственно саму базу, с которой мы будем работать
  81. mysqli_select_db($link,"TEST1");
  82.  
  83. // Установка кодировки соединения
  84. mysqli_set_charset($link,"utf8");
  85.  
  86. if (!$link) {
  87.     die('Connect Error: ' . mysqli_connect_errno());
  88. }
  89.  
  90. //Запись в БД
  91. $result = mysqli_query ($link,"INSERT INTO `mytable` (`name`,`time`,`critical`) VALUES ('$rr','$rer','$rtr')");
  92.  
  93. echo "<table widht=300 border=1>";
  94. echo '<thead>';
  95.     echo '<tr>';
  96.     echo '<th>1 колонка</TH>';
  97.      echo '<TH>2 колонка</TH>';
  98.      echo '<TH>3 колонка</TH>';
  99.     echo '</tr>';
  100. echo '</thead>';
  101. echo '<TBody>';
  102.  
  103. //Сортировка
  104. $result = mysqli_query($link,"SELECT * FROM `mytable` ORDER BY (`time`) DESC");
  105. //извлечение ассоциативного массива
  106. $result = mysqli_query($link,"SELECT * FROM `mytable`");
  107.  
  108.     while($row = mysqli_fetch_assoc($result)) {
  109.         //выводим как надо
  110.         echo '<pre>';
  111.             print_r($row);
  112.             echo '</pre>';
  113.            
  114.               /*extract($row);
  115.              
  116.  echo '<tr>';
  117.  
  118.   echo '<td>';
  119.     echo "$id";
  120.   echo '</td>';
  121.  
  122.   echo '<td>';
  123.     echo "$name";
  124.   echo '</td>';
  125.  
  126.  echo '<td>';
  127.     echo "$time";
  128.   echo '</td>';
  129.  
  130.  echo '</tr>';
  131.    
  132.     }
  133.     echo '</tbody>';
  134. echo '</table>';*/
  135. }
  136.     mysqli_free_result($result); //очищаем занятую память
  137.    //mysqli_query($link,"TRUNCATE TABLE `mytable`"); //очистить содержимое таблицы
  138.     mysqli_close($link);
  139.  
sergoVL Отправлено: 11 Августа, 2016 - 14:05:28 • Тема: записать в БД все значения • Форум: Вопросы новичков

Ответов: 0
Просмотров: 71
Подскажите, просто ума не приложу, как записать в БД все значения переменных $rr, $rer, $rtr. У меня записывается только последнее значение массива.

22 => "25 нова ыыыыы строка",
23 => "32 уцкв строка",
24 => "44 двдвл строка",

То есть понятно, что нужен цикл, но не понятно как его написать.

PHP:
скопировать код в буфер обмена
  1.  
  2. $newmassiv = array(
  3.  
  4.     1 => "foo",
  5.     2 => "25 ррарркр",
  6.     3 => "32 ттьтт",
  7.     4 => "44 ььроппа",
  8.     5 => "",
  9.     6 => "32 новая строка",
  10.     7 => "44 ваапм строка",
  11.     8 => "25 аааав строка",
  12.     9 => "",
  13.     10 => "44 хочу вторую строку",
  14.     11 => "32 новая строка",
  15.     12 => "25 новая строка",
  16.     13 => "",
  17.     14 => "25 ыыыыы гггггг",
  18.     15 => "44 новая ввсвс строка",
  19.     16 => "32 уккк выв строка",
  20.     17 => "",
  21.     18 => "44 новая строка",
  22.     19 => "32 ссвсс fhhhjjj строка",
  23.     20=>  "25 ыраа hrhhreeeee строка",
  24.     21 => "",
  25.     22 => "25 нова ыыыыы строка",
  26.     23 => "32 уцкв строка",
  27.     24 => "44 двдвл строка",
  28. );
  29.  
  30. $count_massiv = count($newmassiv); //счетчик массива
  31.  
  32. $key = array_search('foo', $newmassiv);
  33. $output = array_slice($newmassiv, $key);
  34.            
  35. foreach ($output as $count_massiv){
  36.    
  37. if($count_massiv=="foo") {
  38.    
  39.     continue;
  40.  
  41. }
  42.  
  43.  if($count_massiv=="") {
  44.    
  45.     echo('<tr></tr>');
  46. }
  47.  
  48. if ($gggg = strstr($count_massiv, '25')) {;
  49.     echo '<td>';
  50.     $rr = substr($gggg,0);
  51.    
  52.    //$Mass1 = compact('rr');//создал из переменной,значения которой будем сортировать в переменную  
  53. echo '</td>';
  54. }
  55.  
  56. if ($w = strstr($count_massiv, '32')) {;
  57.     echo '<td>';
  58.     $rer = substr($w,0);
  59.    //echo $rer;
  60.     echo '</td>';
  61. }
  62.  
  63. if ($ww = strstr($count_massiv, '44')) {;
  64.     echo '<td>';
  65.     $rtr = substr($ww,0);
  66.    //echo $rtr;
  67.     echo '</td>';
  68. }
  69.  
  70. }
  71.  
  72.  
  73. // Подключение к базе данных
  74. $link = mysqli_connect(
  75.             'localhost',  //Хост, к которому мы подключаемся
  76.             'root',       // Имя пользователя
  77.             'west10795',   // Используемый пароль
  78.             'TEST1')OR DIE("Не могу создать соединение ");     //База данных для запросов по умолчанию
  79.            
  80. //необходимо выбрать собственно саму базу, с которой мы будем работать
  81. mysqli_select_db($link,"TEST1");
  82.  
  83. // Установка кодировки соединения
  84. mysqli_set_charset($link,"utf8");
  85.  
  86. if (!$link) {
  87.     die('Connect Error: ' . mysqli_connect_errno());
  88. }
  89.  
  90. //Запись в БД
  91. $result = mysqli_query ($link,"INSERT INTO `mytable` (`name`,`time`,`critical`) VALUES ('$rr','$rer','$rtr')");
  92.  
  93. echo "<table widht=300 border=1>";
  94. echo '<thead>';
  95.     echo '<tr>';
  96.     echo '<th>1 колонка</TH>';
  97.      echo '<TH>2 колонка</TH>';
  98.      echo '<TH>3 колонка</TH>';
  99.     echo '</tr>';
  100. echo '</thead>';
  101. echo '<TBody>';
  102.  
  103. //Сортировка
  104. $result = mysqli_query($link,"SELECT * FROM `mytable` ORDER BY (`time`) DESC");
  105. //извлечение ассоциативного массива
  106. $result = mysqli_query($link,"SELECT * FROM `mytable`");
  107.  
  108.     while($row = mysqli_fetch_assoc($result)) {
  109.         //выводим как надо
  110.         echo '<pre>';
  111.             print_r($row);
  112.             echo '</pre>';
  113.            
  114.               /*extract($row);
  115.              
  116.  echo '<tr>';
  117.  
  118.   echo '<td>';
  119.     echo "$id";
  120.   echo '</td>';
  121.  
  122.   echo '<td>';
  123.     echo "$name";
  124.   echo '</td>';
  125.  
  126.  echo '<td>';
  127.     echo "$time";
  128.   echo '</td>';
  129.  
  130.  echo '</tr>';
  131.    
  132.     }
  133.     echo '</tbody>';
  134. echo '</table>';*/
  135. }
  136.     mysqli_free_result($result); //очищаем занятую память
  137.    //mysqli_query($link,"TRUNCATE TABLE `mytable`"); //очистить содержимое таблицы
  138.     mysqli_close($link);
  139.  
sergoVL Отправлено: 13 Июля, 2016 - 19:01:26 • Тема: сортировка массива • Форум: Вопросы новичков

Ответов: 0
Просмотров: 104
Подскажите пожалуйста, как отсортировать первый столбец по убыванию, но чтобы значения в остальных столбцах также перемещались при сортировке первого столбца. Почитав про функции сортировки массива, думал, что надо из переменной. которая выводит значения для первого столбца ($rr) сделать массив. Собственно я и сделал - $Mass1. Но сортировка не происходит.
sergoVL Отправлено: 19 Марта, 2016 - 11:33:47 • Тема: условие перехода • Форум: Вопросы новичков

Ответов: 0
Просмотров: 90
PHP:
скопировать код в буфер обмена
  1.  
  2. $newmassiv = array(
  3.  
  4.     1 => "bar",
  5.     2 => "ffff",
  6.     3 => "",
  7.     4 => "привет",
  8.     5 => "",
  9.     6 => "первая новая строка",
  10.     7 => "вторая новая строка",
  11.     8 => "третья новая строка",
  12.     9 => "",
  13.     10 => "я пятый массив и хочу во вторую строку",
  14.     11 => "вторая новая строка",
  15.     12 => "шестая новая строка",
  16.     13 => "седьмая новая строка",
  17.     14 => "7777",
  18.     15 => "1",
  19.     16 => "2",
  20.     17 => "",
  21.     18 => "девятая новая строка",
  22.     19 => "десятая новая строка",
  23.     20 => "",
  24.     21 => "одиннадцатая новая строка",
  25.     22 => "",
  26.     23 => "я пятый чело|=ек",
  27.     24 => "magor",
  28.     25 => "",
  29.     26 => "298",
  30.     27 => ""
  31. );
  32.  
  33. echo '<table class="table table-hover">';
  34. echo '<tbody>';
  35.  
  36. echo '<tr>';
  37. $count_massiv = count($newmassiv); //счетчик массива
  38.  
  39. foreach ($newmassiv as $count_massiv){
  40.  
  41. if ($t = strstr($count_massiv, 'вторая новая строка')) { //ищем необходимую строку
  42.         echo '<td>';
  43.         $l = substr($t,0); //обрезаем строку
  44.    echo $l;
  45.    next($newmassiv); //переход на следующий ключ массива
  46.    echo '</td>';
  47.    
  48.    echo '<td>';
  49.     $bar = prev($newmassiv); //выводим значения, которые идут после значения массива - 'вторая новая строка'
  50.     var_dump($bar);
  51.  
  52.     echo '</td>';
  53.  
  54. }  
  55. }
  56. echo '</tr>';
  57.  
  58. echo '</tbody>';
  59. echo '</table>';
  60.  
  61.  


Нужно, чтобы после нахождения значения массива 'вторая новая строка'. Выводилось значение в другом столбце, значение массива, которое идет за ним. И так по всему массиву.

Вопрос в том, что данную часть массива выводит нормально -
7 => "вторая новая строка", - первая колонка
8 => "третья новая строка", - вторая колонка (вывод значения, которые идут после значения массива - 'вторая новая строка')

А потом, чтобы вывести уже другое значение - это должно быть
11 => "вторая новая строка",
12 => "шестая новая строка",

Он продолжает повторять
7 => "вторая новая строка",
8 => "третья новая строка",

вторая новая строка string(36) "третья новая строка" вторая новая строка string(36) "третья новая строка"
sergoVL Отправлено: 15 Марта, 2016 - 18:22:18 • Тема: условие перехода • Форум: Вопросы новичков

Ответов: 0
Просмотров: 38
Подскажите, как написать условие, чтобы при определении значения массива 'вторая новая строка'. Происходил переход на следующее значение, которое находится после него ('вторая новая строка') и вывести его в ячейке.
PHP:
скопировать код в буфер обмена
  1.  
  2. <?PHP
  3. $newmassiv = array(
  4.  
  5.     1 => "bar",
  6.     2 => "ffff",
  7.     3 => "",
  8.     4 => "привет",
  9.     5 => "",
  10.     6 => "первая новая строка",
  11.     7 => "вторая новая строка",
  12.     8 => "третья новая строка",
  13.     9 => "",
  14.     10 => "я пятый массив и хочу во вторую строку",
  15.     11 => "пятая новая строка",
  16.     12 => "шестая новая строка",
  17.     13 => "седьмая новая строка",
  18.     14 => "777",
  19.     15 => "1",
  20.     16 => "2",
  21.     17 => "",
  22.     18 => "девятая новая строка",
  23.     19 => "десятая новая строка",
  24.     20 => "",
  25.     21 => "одиннадцатая новая строка",
  26.     22 => "",
  27.     23 => "я пятый чело|=ек",
  28.     24 => "magor",
  29.     25 => "",
  30.     26 => "298",
  31.     27 => ""
  32. );
  33.  
  34.  
  35. echo '<table class="table table-hover">';
  36. echo '<tbody>';
  37.  
  38. echo '<tr>';
  39. $count_massiv = count($newmassiv); //счетчик массива
  40.  
  41. foreach ($newmassiv as $count_massiv){
  42. echo '<td>';
  43.  //print_r($count_massiv);
  44.  echo '</td>';
  45.  
  46.  if($count_massiv=="") {
  47.        
  48.         echo('<tr></tr>');
  49. }
  50. if ($t = strstr($count_massiv, 'вторая новая строка')) {
  51.         echo '<td>';
  52.         $l = substr($t,0);
  53.    echo $l;
  54.        echo '</td>';  
  55. }  
  56.        
  57.  
  58. }
  59.  
  60. echo '</tr>';
  61.  
  62. echo '</tbody>';
  63. echo '</table>';
  64. ?>
  65.  
sergoVL Отправлено: 16 Января, 2016 - 13:10:38 • Тема: удалить пустые ячейки • Форум: Вопросы новичков

Ответов: 3
Просмотров: 331
KAMEHb пишет:
sergoVL пишет:
Подскажите как удалить пустые ячейки. При этом сохранив структуру таблицы.

Вы опишите изначальную задачу, иначе совершенно ничего не понятно. Я, конечно, не профи, но код мягко говоря корявый и непонятно, что им пытаетесь реализовать. Для начала...массив не ассоциативный, можно прописать его так
А дальше там вообще чудеса начинаются...




Суть в том, чтобы при определении пустого массива цикл начинался с новой строки.
(Добавление)
Prizma пишет:
sergoVL пишет:
Подскажите как удалить пустые ячейки. При этом сохранив структуру таблицы.

т.е. у тебя есть HTML-таблица, из которой ты хочешь удалить ПУСТЫЕ ячейки. Каким именно образом?
Задача не ясна, куда должны исчезнуть пустые ячейки? что должно быть на их месте?

И да, очень лютая абракадабра в реализации...
(Добавление)
Запустил я это счастье и ужаснулся результату) У вас там явно лишний цикл, далее какая то охинея с выводом <tr> почему то он выводится в разных циклах, поэтому таблица и едет к чертям. Причем в шапке <tr> напрочь отсутствует.
Так вроде лучше:
PHP:
скопировать код в буфер обмена
  1. <?PHP
  2. //этот массив будем выводить
  3. $newmassiv = [
  4.     "bar",
  5.     "foo",
  6.     "hii",
  7.     "привет",
  8.     "",
  9.     "первая новая строка",
  10.     "вторая новая строка",
  11.     "третья новая строка",
  12.     "",
  13.     "я пятый массив и хочу во вторую строку",
  14.     "пятая новая строка",
  15.     "шестая новая строка",
  16.     "седьмая новая строка",
  17.     "восьмая новая строка",
  18.     "",
  19.     "",
  20.     "",
  21.     "девятая новая строка",
  22.     "десятая новая строка",
  23.     "",
  24.     "одиннадцатая новая строка",
  25.     ""
  26. ];
  27.  
  28.  
  29. echo "<table widht=300 border=1>";
  30. echo "<tr>";
  31. echo "<td>1-q</td>";
  32. echo "<td>2-q</td>";
  33. echo "<td>3-q</td>";
  34. echo "<td>4-q</td>";
  35. echo "<td>5-q</td>";
  36. echo "</tr>";
  37.  
  38.  
  39. $columns = 5; //кол-во столбцов
  40. $i = 0; // счетчик столбцов
  41. $td = '';
  42. foreach($newmassiv as $k => $el) {
  43.     // пропускаем пустые строки
  44.     if(empty($el)) {
  45.         continue;
  46.     }
  47.     $i++; // считаем сколько у нас ячеек в строке
  48.     // если ячеек больше чем надо, выводим строку таблицы
  49.     if($i > $columns) {
  50.         echo '<tr>'.$td.'</tr>';
  51.         // сбрасываем переменные
  52.         $td = '';
  53.         $i = 1;
  54.     }
  55.     /* ВАШ КОД */
  56.  
  57.     $patterns = "/вторая новая строка/Um";
  58.     $replacements = "ЖОЛПА";
  59.     $el = preg_replace($patterns, $replacements, $el);
  60.     //echo $newmassiv[++$k];
  61.    
  62.     /* КОНЕЦ ВАШЕГО КОДА */
  63.     $td .= '<td>'.$el.'</td>'; // создаем ячейку
  64. }
  65. if(!empty($td)) {
  66.     echo '<tr>'.$td.'</tr>';
  67. }
  68. echo '</table>';
  69.  
  70. ?>



Суть в том, чтобы при определении пустого массива цикл начинался с новой строки.
sergoVL Отправлено: 08 Января, 2016 - 14:14:21 • Тема: удалить пустые ячейки • Форум: Вопросы новичков

Ответов: 3
Просмотров: 331
Подскажите как удалить пустые ячейки. При этом сохранив структуру таблицы.
sergoVL Отправлено: 04 Января, 2016 - 16:12:45 • Тема: Обрезка строк в массиве • Форум: Вопросы новичков

Ответов: 0
Просмотров: 73
Подскажите пожалуйста.
Есть массив, который вывел циклом в таблицу. Необходимо откорректировать значения в ячейках таблицы. Наведите, как это сделать.
sergoVL Отправлено: 03 Декабря, 2015 - 04:24:57 • Тема: Почему не переходит на новую строку • Форум: Вопросы новичков

Ответов: 2
Просмотров: 159
Подскажите, как исправить ошибку. Правильно написан код, чтобы перейти на новую строку?
sergoVL Отправлено: 22 Ноября, 2015 - 15:09:52 • Тема: continue, перенос на другую строку • Форум: Вопросы новичков

Ответов: 1
Просмотров: 170
Подскажите пожалуйста.
Необходимо после выполнения continue переходить на на новую строку. Не пойму как сделать. Подставляю \n не получается. Суть в том, чтобы при выявлении пустой ячейки цикл переходил на новую строку. Судя по всему операцию с continue я не туда подставил.

Страниц (2): [1] 2 »
Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB