PHP . SU
Программирование на PHP, MySQL и другие веб-технологии
Страниц (4): [1] 2 3 4 »
Найдено сообщений: 56
dima4321
Отправлено: 11 Апреля, 2011 - 12:00:41 • Тема: удалить сразу из нескольких таблиц • Форум: Программирование на PHP
Ответов: 4 Просмотров: 575
levchick
EuGen
спасибо, но сложно ))
давайте я покажу как я это сделал очень длинно, а вы подскажите как сделать это покороче
PHP:
скопировать код в буфер обмена
<?PHP
//header('Location: index.php');
include "yzel.php" ;
$id = $_GET [ 'id' ] ;
$sql = "DELETE FROM names WHERE id = '$id '" ;
{
echo "id удален<br>" ;
}
else
{
echo 'Не удалось удалить<br>' ;
}
$sql1 = "DELETE FROM tracklist WHERE name_id = '$id '" ;
{
echo "альбомы удалены<br>" ;
}
else
{
echo 'Не удалось удалить<br>' ;
}
$sql2 = "DELETE FROM history WHERE name_id = '$id '" ;
{
echo "история удалена<br>" ;
}
else
{
echo 'Не удалось удалить<br>' ;
}
$sql3 = "DELETE FROM keys WHERE name_id = '$id '" ;
{
echo "ключи удалены<br>" ;
}
else
{
echo 'Не удалось удалить<br>' ;
}
$sql4 = "DELETE FROM keywords WHERE name_id = '$id '" ;
{
echo "ключи исторрий удалены<br>" ;
}
else
{
echo 'Не удалось удалить<br>' ;
}
?>
dima4321
Отправлено: 11 Апреля, 2011 - 08:37:58 • Тема: удалить сразу из нескольких таблиц • Форум: Программирование на PHP
Ответов: 4 Просмотров: 575
Всем привет )
Имею кучу контента в своей базе.
Хочу несколько десятков пунктов удалить.
Данный скрипт получает переменную GET.
PHP:
PHP:
скопировать код в буфер обмена
<?PHP
header ( 'Location: index.php' ) ;
include "yzel.php" ;
$id = $_GET [ 'id' ] ;
$sql = "DELETE FROM names WHERE id = '$id '" ;
{
echo "$page удалена" ;
}
else
{
echo 'Не удалось удалить' ;
}
?>
это пример с одной таблицей.
но у меня также с этим id есть таблицы history tracklist keywords и keys
т.е. есть связка.
Код:
Код:
Код:
Код:
как мне составить запрос так, чтобы все махом удалить из всех 5 таблиц.
Примечание:
таблицы history , tracklist и т.д. имеют в своем арсенале одинаковые id
т.е. напрмер id 163 в таблице names идет один раз. , а в таблице tracklist 9 раз
Заранее спасибо.
dima4321
Отправлено: 30 Марта, 2011 - 08:38:55 • Тема: Оставить нужный массив ) • Форум: Программирование на PHP
Ответов: 4 Просмотров: 335
movEAX
Твоя функция вряд ли будет корректна к массиву, где в качестве значений выступают числа.
DeepVarvar
визуально count применительно к это примеру подошел бы.. но мне то нужно сравнение элементов массива , а не их кол-во
dima4321
Отправлено: 30 Марта, 2011 - 07:55:07 • Тема: Оставить нужный массив ) • Форум: Программирование на PHP
Ответов: 4 Просмотров: 335
Имею на выходе несколько массивов.
Вот структура массива $m
CODE (
htmlphp ):
скопировать код в буфер обмена
(
(
[ 0] => 3-
[ 1] => 6-
[ 2] => 9-
[ 3] => 10-
)
(
[ 0] => 3-
[ 1] => 6-
[ 2] => 9-
[ 3] => 10-
[ 4] => 12-
)
(
[ 0 ] => 3 -
[ 1 ] => 5 -
[ 2 ] => 9 -
[ 3 ] => 15 -
)
)
Т.к. массив $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:
скопировать код в буфер обмена
<?
$i = 0 ;
$n = 0 ;
foreach ( $match [ 1] as $h33 )
{
$sql = "SELECT id FROM `names` WHERE name='$name '" ;
$id = $qq [ 'id' ] ;
$query = "INSERT INTO `tracklist` (`text_tracklist`, `page`, `name_id`) VALUES ('$a ', '$i ', '$id ')" ;
$i ++;
}
foreach ( $new1 as $key )
{
$sql = "SELECT id FROM `names` WHERE name='$name '" ;
$id = $qq [ 'id' ] ;
$query = "UPDATE tracklist SET list ='$new1 ', WHERE name_id = '$id ' , page='$n '" ;
$n ++;
}
?>
В итоге Пишет
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 ):
скопировать код в буфер обмена
$sql= "SELECT names.`name`, names.`style`, history.`text` FROM names LEFT JOIN history ON names.`id` = history.`name_id`" ;
но ситуация такова :
для одной записи из первой таблицы, может быть несколько записей из второй.
т.е. таблица names--товар хлеб, в таблице история---- 2 записи с описанием.
дык вот хочу выбирать только первую запись. Если же нет записи то просто вывод товара
Там у меня разделение по page
и код должен быть таким:
CODE (
SQL ):
скопировать код в буфер обмена
$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 ExBB FM 1.0 RC1. InvisionExBB