PHP.SU

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

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

> Найдено сообщений: 56
dima4321 Отправлено: 11 Апреля, 2011 - 12:03:27 • Тема: массив • Форум: Программирование на PHP

Ответов: 8
Просмотров: 684
PHP:
скопировать код в буфер обмена
  1. <?PHP
  2.  
  3. $array=array(2, 4, 5);
  4.  
  5. $min=min($array);
  6.  
  7. echo $min;
  8.  
  9. ?>
dima4321 Отправлено: 11 Апреля, 2011 - 12:00:41 • Тема: удалить сразу из нескольких таблиц • Форум: Программирование на PHP

Ответов: 4
Просмотров: 575
levchick
EuGen

спасибо, но сложно ))

давайте я покажу как я это сделал очень длинно, а вы подскажите как сделать это покороче

PHP:
скопировать код в буфер обмена
  1. <?PHP
  2.  
  3.  ini_set('display_errors',1);
  4.  error_reporting(E_ALL);
  5.    
  6.    //header('Location: index.php');
  7.      
  8.    include "yzel.php";
  9.  
  10.    $id = $_GET['id'];
  11.    
  12.    $sql = "DELETE FROM names WHERE id = '$id'";
  13.    
  14.    if(mysql_query($sql))
  15.  
  16.  {
  17.      echo "id удален<br>";
  18.   }
  19.  else
  20.   {
  21.   echo 'Не удалось удалить<br>';
  22.   }
  23.  
  24.   $sql1 = "DELETE FROM tracklist WHERE name_id = '$id'";
  25.    
  26.    if(mysql_query($sql1))
  27.  
  28.  {
  29.      echo "альбомы удалены<br>";
  30.   }
  31.  else
  32.   {
  33.   echo 'Не удалось удалить<br>';
  34.   }
  35.  
  36.   $sql2 = "DELETE FROM history WHERE name_id = '$id'";
  37.    
  38.    if(mysql_query($sql2))
  39.  
  40.  {
  41.      echo "история удалена<br>";
  42.   }
  43.  else
  44.   {
  45.   echo 'Не удалось удалить<br>';
  46.   }
  47.  
  48.  $sql3 = "DELETE FROM keys WHERE name_id = '$id'";
  49.    
  50.    if(mysql_query($sql3))
  51.  
  52.  {
  53.      echo "ключи удалены<br>";
  54.   }
  55.  else
  56.   {
  57.   echo 'Не удалось удалить<br>';
  58.   }
  59.  
  60.  
  61.   $sql4 = "DELETE FROM keywords WHERE name_id = '$id'";
  62.    
  63.    if(mysql_query($sql4))
  64.  
  65.  {
  66.      echo "ключи исторрий удалены<br>";
  67.   }
  68.  else
  69.   {
  70.   echo 'Не удалось удалить<br>';
  71.   }
  72.  
  73.  
  74.  
  75.  
  76.    ?>
dima4321 Отправлено: 11 Апреля, 2011 - 08:37:58 • Тема: удалить сразу из нескольких таблиц • Форум: Программирование на PHP

Ответов: 4
Просмотров: 575
Всем привет )

Имею кучу контента в своей базе.

Хочу несколько десятков пунктов удалить.

Данный скрипт получает переменную GET.
PHP:
PHP:
скопировать код в буфер обмена
  1. <?PHP
  2.  
  3.  ini_set('display_errors',1);
  4.  error_reporting(E_ALL);
  5.    
  6.    header('Location: index.php');
  7.      
  8.    include "yzel.php";
  9.  
  10.    $id = $_GET['id'];
  11.    
  12.    $sql = "DELETE FROM names WHERE id = '$id'";
  13.    
  14.    
  15.    
  16.    if(mysql_query($sql))
  17.  
  18.  {
  19.      echo "$page удалена";
  20.    
  21.  
  22.   }
  23.  
  24.  else
  25.   {
  26.      echo 'Не удалось удалить';
  27.   }
  28.  ?>






это пример с одной таблицей.


но у меня также с этим id есть таблицы history tracklist keywords и keys


т.е. есть связка.
Код:
PHP:
скопировать код в буфер обмена
  1. FROM `names`  INNER JOIN `tracklist` ON `name_id` = `names`.`id`





Код:
PHP:
скопировать код в буфер обмена
  1. FROM `names`  INNER JOIN `history` ON `name_id` = `names`.`id`





Код:
PHP:
скопировать код в буфер обмена
  1. FROM `names`  INNER JOIN `keywords` ON `name_id` = `names`.`id`





Код:
PHP:
скопировать код в буфер обмена
  1. FROM `names`  INNER JOIN `keywords` ON `name_id` = `names`.`id`
  2.  




как мне составить запрос так, чтобы все махом удалить из всех 5 таблиц.

Примечание:

таблицы history , tracklist и т.д. имеют в своем арсенале одинаковые id

т.е. напрмер id 163 в таблице names идет один раз. , а в таблице tracklist 9 раз

Заранее спасибо.
dima4321 Отправлено: 05 Апреля, 2011 - 12:49:45 • Тема: Время и функции для работы с ним. • Форум: Программирование на PHP

Ответов: 5
Просмотров: 313
Viper
garvey

Спасибо )
dima4321 Отправлено: 05 Апреля, 2011 - 10:42:46 • Тема: Время и функции для работы с ним. • Форум: Программирование на PHP

Ответов: 5
Просмотров: 313
Viper

А можно поподробней. ??

пример простенького скрипта.


И в базе какой тип данных выбрать

там есть TIME, DATE, DATETIME
dima4321 Отправлено: 05 Апреля, 2011 - 08:58:41 • Тема: Время и функции для работы с ним. • Форум: Программирование на PHP

Ответов: 5
Просмотров: 313
Всем привет )

Признаюсь никогда не работал с временем.

Появилась простая задача. Записывать в базу время посещений ботов и пользователей.

Смотрю вот это

http://php.su/functions/?cat=datetime


и не знаю шшшо выбрать.

Подскажите. Может есть простая функция ? Интересует время по москве.


Пока придумал так


PHP:
скопировать код в буфер обмена
  1. $today = getdate();
  2.  
  3. $day=$today['mday']." ".$today['month']." ".$today['hours'].'-'. $today['minutes'];
  4.  
  5. и $day инсертом в базу






это жесть ???
dima4321 Отправлено: 30 Марта, 2011 - 08:38:55 • Тема: Оставить нужный массив ) • Форум: Программирование на PHP

Ответов: 4
Просмотров: 335
movEAX

Твоя функция вряд ли будет корректна к массиву, где в качестве значений выступают числа.


DeepVarvar

визуально count применительно к это примеру подошел бы.. но мне то нужно сравнение элементов массива , а не их кол-во
dima4321 Отправлено: 30 Марта, 2011 - 07:55:07 • Тема: Оставить нужный массив ) • Форум: Программирование на PHP

Ответов: 4
Просмотров: 335
Имею на выходе несколько массивов.


Вот структура массива $m


CODE (htmlphp):
скопировать код в буфер обмена
  1. (
  2.     [0] => Array
  3.         (
  4.             [0] => 3-
  5.             [1] => 6-
  6.             [2] => 9-
  7.             [3] => 10-
  8.         )
  9.  
  10.     [1] => Array
  11.         (
  12.             [0] => 3-
  13.             [1] => 6-
  14.             [2] => 9-
  15.             [3] => 10-
  16.             [4] => 12-
  17.         )
  18.  
  19.     [2] => Array
  20.         (
  21.             [0] => 3-
  22.             [1] => 5-
  23.             [2] => 9-
  24.             [3] => 15-
  25.         )
  26.  
  27. )


Т.к. массив $m[0] и $m[1] очень близки по наполнению нужно оставить больший. А именно оставить $m[1];


Задача

Массив будет двухмерным.

Кол-во массивов первого уровня на выходе всегда разное.

Условие для остчеки ненужного массива:

если первые 4 элемента одинаковы оставить тот массив в которм больше значений


т.е.

$m[0]=array(1,3,5,6);
$m[1]=array(1,3,5,6,8);
$m[2]=array(7,8,10,11);
$m[3]=array(7,8,10,11,12);



на выходе хочу только


$m[1]=array(1,3,5,6,8);
$m[3]=array(7,8,10,11,12);


Буду рад любым советам ))
dima4321 Отправлено: 17 Марта, 2011 - 10:59:14 • Тема: Формирование и выод meta тегов. • Форум: Программирование на PHP

Ответов: 5
Просмотров: 407
ALEN

Мне нужна англоязычная публика. ) Подскажи еще поисковики.

В голову приходят только yahoo, и msn и то пробиться в них бесплатно практически не возможно.


Viper есть же ограничение на кол-во знаков, что в тайтлах. что в кейвордсах разве я не прав ??))
dima4321 Отправлено: 17 Марта, 2011 - 08:26:08 • Тема: Формирование и выод meta тегов. • Форум: Программирование на PHP

Ответов: 5
Просмотров: 407
Всем привет.

Тот кто пишет, скрипты наверно постоянно сталкивается и с автоматизированным формированием meta тегов.

Интересует их корретная запись и вывод на html страницу. Читал несколько статей , но все пишут по разному.

tittle
META Name="keywords" Content="
<META Name="description" Content="

В приведенных выше тегах. Хочу понять расстановку знаков препинания, а именно точек и запятых , необходимость заглавных букв и кол-о знаков.

т.е.

Какой из титлов наиболее правилен

<tittle>Рыба, конь, собака, дом.</tittle>
<tittle>Рыба, Конь, Собака, Дом.</tittle>
<tittle>Рыба. Конь. Собака. Дом.</tittle>

Часто получается при выводе циклом, что в конце стоит запятая.. принципиально ли это ??

<tittle>Рыба, конь, собака, дом,</tittle>

<META Name="keywords" Content="Рыба жареная, дом старый, конь молодой,">


Кто-то говорит . что можно ключи прописать в кол-во до 1000 знаков. Это не беред ??..


Ребята подскажите, кто что знает в этом теме.

Контент пойдет под google. Другие поисковики не планируются.
dima4321 Отправлено: 25 Февраля, 2011 - 09:10:01 • Тема: Регулярка, очень простая, но.. есть хитрости (( • Форум: Программирование на PHP

Ответов: 4
Просмотров: 436
Имею контент, нужная мне инфа заключена между тегами.

Ипсользую preg_math_all

Вот упрощеная маска для вашего воприятия.

$poisk='/<div>.+?<div>/si';


т.е. поясняю.

Мне нужен контент между двумя началами дивов. Именно между двумя началами. А не <div>.+?</div> !!


Отсюда вся и проблема. По такой маске он делает перескок .


Это текст.

<div>рыба</div><div>дерево</div><div>тюлень</div><div>морж</div><div>конь</div>


Моя маска найдет рыба, тюлень,конь

Зацепится я больше ни за что не могу. Такая маска <div>.+?</div> к моему контенту к сожалению не подходит, есть нюансы


Внимание а теперь вопрос

как сделать так чтобы он нашел все слова . Может можно как-то дать понять поиску , что я не хочу , чтобы он перескакивал и использовал второй <div> как начало для новых вхождений.

Реально ли. ??? Может цикл, может условие иили шшшо -нибудь ??))

$poisk='/<div>.+?<div>/si';

Очень прошу помочь ))
dima4321 Отправлено: 24 Февраля, 2011 - 12:42:34 • Тема: После INSERT -- IPDATE • Форум: Программирование на PHP

Ответов: 1
Просмотров: 186
Получаю 2 массива.

Первый вставляет в таблицу значения

Второй дополняет эту таблицу еще одним значением.


Специфика такова, что одновременно вставить все я не могу. Поэтому приходится городить огород.

Т.е. сначала INSERT, а следующий массив UPDATE.


Вот часть кода ----я укоротил, заакцентировав внимние на запросах:
PHP:
PHP:
скопировать код в буфер обмена
  1.  <?
  2.  
  3.  $i=0;
  4.  $n=0;
  5.  
  6.  foreach($match[1] as $h33)
  7.  {
  8.  
  9.   $sql = "SELECT id FROM `names` WHERE name='$name'";
  10.   $data = mysql_query($sql);
  11.   $qq=mysql_fetch_assoc($data);
  12.   $id=$qq['id'];
  13.   $query = "INSERT INTO `tracklist` (`text_tracklist`, `page`, `name_id`) VALUES ('$a', '$i', '$id')";  
  14.   mysql_query($query) or die(mysql_error());
  15.   $i++;
  16.   }
  17.  
  18.  
  19.  foreach($new1 as $key)
  20.  
  21.  {
  22.  
  23.   $sql = "SELECT id FROM `names` WHERE name='$name'";
  24.   $data = mysql_query($sql);
  25.   $qq=mysql_fetch_assoc($data);
  26.   $id=$qq['id'];
  27.  
  28.   $query="UPDATE tracklist SET list ='$new1', WHERE name_id = '$id' , page='$n'";
  29.   mysql_query($query) or die(mysql_error());
  30.   $n++;
  31.  
  32.  }
  33.  
  34.  ?>



В итоге Пишет
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'WHERE name_id = '9' , page='0'' at line 1 и ничего не вставляется из второго массива..

При таком запросе

$query="UPDATE tracklist SET list ='$new1', page='$n' WHERE name_id = '$id' ";


Пишет про duplicate key и вставляет только первую запись второго массива.

p/s первый массив вставлется без проблем в обоих случаях.
dima4321 Отправлено: 21 Февраля, 2011 - 12:39:59 • Тема: Хранение данных в базе MYSQL • Форум: Программирование на PHP

Ответов: 3
Просмотров: 238
Мелкий

Ну ты закрутил.))...перечитывал раз 10..))

Пометка

исполнитель выпускает много альбомов, у альбома может быть только 1 исполнитель


т.к. кол-во названий альбомов будет соотвествовать кол-ву треклистов этих альбомов. т.е. фактически поля друг на против друг друг --считаю что названия альбомов и сами треклисты будет правильно распологать в одной таблице.


Итого 2 таблицы

names
и вторая таблица треклисты и назавния этих треклистов(альбомов) которые привязаны к определенному id в nаmes

Ключевики запихаю туда же. в отдельный столбик


Разве плохо ??
dima4321 Отправлено: 21 Февраля, 2011 - 10:45:25 • Тема: Хранение данных в базе MYSQL • Форум: Программирование на PHP

Ответов: 3
Просмотров: 238
Приветствует вас !

Имею контент.

Это треклисты к альбомам.

Вид такой.

Hello (название альбома)
наз.песни 1
назв. песни 2
назв. песни 3


Все это добро изначально получаю в виде индексированного массива.

Вот и думаю как лучше сложить в базу.

В итоге на страницу будет выводится 7 альбомов.

Поэтому никак не могу определится со структурой

Полагаю, что в любом случае, независимо от того, сколько текста я помещу в ячейку лучше иметь его там изначально в виде строковой перменной, нежели массива.

Поправьте, если не прав. )

вот варианты:


1 альбом -одна ячейка

все альбомы-одна ячейка

7альбомов -одна ячейка.

название альбома -одна ячейка, тело альбома другая ячейка




Также упомяну, что помимо вывода на страницу этих семи альбомов будут выводится и keywords, которые будут получены с помощью скрипта который проанализирует текст и выберет нужные ключевики. Т.к. операция дорогостоящая , то сделаю это на уровне забивания базы созданием еще одного поля keywords в базе, чтобы не использовать свою базу для пасринга, а заниматься только выводом ячеек.

Архитектуру на связку хочу сделать такой.


Две таблицы:
{Имя исполнителя }=>{ Назавние альбома, Тело альбома }

Связка id исполнителя будет = id_name во второй таблице.

т.е к примеру группа moderntalking id=1 если альбомов 10,
то и строк с id_name во второй таблице 10.

Буду рад услышать полезные комментарии и советы ).
dima4321 Отправлено: 19 Февраля, 2011 - 17:24:26 • Тема: выборка из базы. • Форум: Программирование на PHP

Ответов: 1
Просмотров: 188
есть такой запрос и он корректен


CODE (SQL):
скопировать код в буфер обмена
  1. $sql="SELECT names.`name`, names.`style`, history.`text` FROM names LEFT JOIN history ON names.`id` = history.`name_id`";




но ситуация такова :

для одной записи из первой таблицы, может быть несколько записей из второй.

т.е. таблица names--товар хлеб, в таблице история---- 2 записи с описанием.

дык вот хочу выбирать только первую запись. Если же нет записи то просто вывод товара

Там у меня разделение по page

и код должен быть таким:



CODE (SQL):
скопировать код в буфер обмена
  1. $sql="SELECT names.`name`, names.`style`, history.`text` FROM names LEFT JOIN history ON names.`id` = history.`name_id` where page='1'";


Но не корректно..выдает ошибку..как сделать правильно, чтобы задать это условие.

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

 
Powered by ExBB FM 1.0 RC1. InvisionExBB