|
|
|
| Добрый день!
Есть скрипт mp3-арива, mysql+php. (сам пишу)))
При добавлении нового альбома в базу, он может содержать как от 3 так и до 20 треков.
Как правильно спроектировать запрос на доваление? | |
|
|
|
|
|
|
|
для: Night_Charter
(12.04.2006 в 18:00)
| | Главное - правильно спроектировать базу.
Albums: |Album_id|Album_name|Album_preferences....|
Tracks: |Track_id|Track_name|Album_id|Track_preferences....| | |
|
|
|
|
|
|
|
для: Trianon
(12.04.2006 в 18:05)
| | Это понятно...
Как правильно составить форму добавления и уже сам код добавления в базу информации?
Проблема в том, что диск может содержать как 10 так и 20 песен. | |
|
|
|
|
|
|
|
для: Night_Charter
(12.04.2006 в 18:35)
| | Примерно так, как на странице phpMyAdmin добавляются таблицы и их столбцы .
В форме добавления/редактирования альбома предусмотреть поле (добавить N треков)
Если в одной форме заполняются данные сразу по всем трекам, то в этой форме предусмотреть поле (добавить еще N треков) и отдельную кнопку submit для этого.
Запрос к БД формируется с применением INSERT-оператора многострочной вставки и функции implode() для формирования списка для этого оператора. | |
|
|
|
|
|
|
|
для: Trianon
(12.04.2006 в 18:45)
| | А можно какой-нибудь маленький примерчик? | |
|
|
|
|
|
|
|
для: Night_Charter
(12.04.2006 в 18:35)
| | Следовательно таблица Tracks будет содержать 10 или 20 записей. Что вызывает сложность? Механизм добавления? Вы хотите все записи альбома добавить сразу (или в каждый альбом можно по одной песни добавлять)? | |
|
|
|
|
|
|
|
для: cheops
(13.04.2006 в 00:17)
| | Хочу добавить сразу...
А вообще я тут подумал...
Легче наверно будет просканировать нужную папку, найти mp3 -файлы, вытащить id3-теги и циклом добавить текст о файлах в таблицу.
Возможно ли так сделать? ) | |
|
|
|
|
|
|
|
для: Night_Charter
(13.04.2006 в 00:20)
| | Тоесть будет существовать две талицы.
1 - альбомы, содержашие несколько столбиков (id, описание, жанр, картинку)
2 - файлы, содержат id-3 теги и albumid - ключ пренадлежащий таблице альбомы.
При добавлении нового альбома, я заполняю немного о нем инфы, добавляю картинку, указываю урл - какую папку надо просканировать, считаю кол-во файлов, делаю цикл по кол-ву фалов, добавляю альбом в таблицу albums и файлы в таблицу files.
Как идея?
Вот только не знаю как цикл реализовать.. foreach думаю подойдет! | |
|
|
|
|
|
|
|
для: Night_Charter
(13.04.2006 в 00:28)
| | Вы это для локальных целей делаете или для Интеренет-сайта? | |
|
|
|
|
|
|
|
для: cheops
(13.04.2006 в 01:21)
| | Делаю для локальных целей.
p.s.
Вы не в курсе, id3-скрипт может просканировать ftp? | |
|
|
|
|
|
|
|
для: cheops
(13.04.2006 в 01:21)
| | Тогда да, можно просканировать отдельную директорию. Про id3 не в курсе. | |
|
|
|
|
|
|
|
для: cheops
(13.04.2006 в 11:30)
| | Пока разобрался))
Ждите меня с новыми вопросами;) | |
|
|
|
|
|
|
|
для: cheops
(13.04.2006 в 11:30)
| | Ну решился создавать новую тему!
Вообще есть массив:
$car[1] = "passenger car";
$car[2] = "land-rover";
$car[3] = "station-wagon";
|
Каким образом мне занести в базу только выбранные данные, допустим я выбираю passenger car и station-wagon.
Это пол беды....
Теперь мне надо вытащить эти значения из базы и по ним снова найти описание.
Помогите!!! | |
|
|
|
|
|
|
|
для: Night_Charter
(15.04.2006 в 10:32)
| | Погодите а описание у вас в базе данных находится или где-то ещё. Нужно больше информации...
PS Под новые вопросы, лучше заводить новые темы. | |
|
|
|
|
|
|
|
для: cheops
(15.04.2006 в 12:42)
| | Вообщем есть база.
Назовем ее checkbox!
В ней хранятся записи id | name
1 | test
2 | test2
3 | test3
4 | test4
В форме циклом вывожу
<input type=checkbox name=check[] value=$id>$name<br>
1) Как правильно обработать запрос и занести выбранные checkbox'ы в BD?
2) Как потом правильно вывести данные из BD?
Допустим мы выбрали (2, 4, 1).
Как сделать запрос и выбрать вот так:
2-test2
4-test4
1-test | |
|
|
|
|
|
|
|
для: Night_Charter
(15.04.2006 в 14:15)
| | >1) Как правильно обработать запрос и занести выбранные checkbox'ы в BD?
Вы в таблицу какой структуры заносите информацию? Тип поля ENUM? | |
|
|
|
|
|
|
|
для: cheops
(15.04.2006 в 22:24)
| | Нет! ENUM не пойдет.
Ладно сформулирую вопрос по другому...
Как мне вывести в одном запросе, сразу несколько значений?
Например
Есть переменная, которая содержит в себе запись: 1. 4. 3. 8. 5. (обратите внимание на точки - это нужный мне разделитель)
Как сформулировать в таком случае запрос? ;)
select * from table where id 1 и 4 и 3 и 8 и 5 ? | |
|
|
|
|
|
|
|
для: Night_Charter
(16.04.2006 в 00:44)
| | А переменная эта в PHP или в MySQL, если в PHP можно поступить следующим образом
<?php
$var = "1. 4. 3. 8. 5.";
$arr = explode(". ", $var);
for($i = 0; $i < count($arr); $i++) $arr[$i] = (int)$arr[$i];
// Формируем SQL-запрос
$query = "SELECT * FROM table WHERE id IN (".implode(",",$arr).")";
echo $query;
?>
|
| |
|
|
|