Не мога да повярвам, че тези две квадратни скоби могат да окажат чак такова влияние на скрипта и да дадат нужния резултат. То е ясно, че [] се ползват за масиви, но… Кой да се досети :Д

(Това си го записвам по-скоро за мене, че да не забравя и да мога лесно да го намеря ако някой ден пак ми потрябва)

Идеята беше да се генерират динамично редове в таблица и всеки ред да е с две клетки – една за актьор и една за роля. След това всичко това да се записва в база данни, като всеки ред от таблицата е ред и в mysql таблицата. За един по опитен програмист това сигурно не е кой знае колко трудно, но за моя милост се оказа сравнително сложно начинание… и голямо предизвикателство, но… В крайна сметка резултатът беше постигнат.

Първо, за генериране на редовете (все пак не знам колко реда ще ни трябват, затова най-елегантно е да позволим на потребителя сам да си слага нов ред като му потрябва) най-лесно става с javascript…

Табличката с формата:


'.$anime_name[0].' New';
?>
Insert Person: Insert Character

tbody-то нарочно съм го сложил преди последния ред с бутона, за да може редовете да се генерират над него. Просто javascript-а слага нов ред в края на таблицата. Сигурно има и по-хубав начин, но не ми се занимаваше да го мисля.

Обработката на всяко едно поле:

if (isset($_POST['character'])) {
$char_post = $_POST['character'];
$character = '';
for($i=0; $i

По този начин имаме два масива, всеки един от които съдържа актьорите и персонажите, разделени със запетайка.

А това вече е самата обработка, която да генерира отделни заявки за всеки един актьор и персонажа му:

$pers_expl = explode(',', $person); //разбиваме масива
$count_pers = count($pers_expl); //броим елементите в масива
$chars_expl = explode(',', $character); //пак - разбиваме другия масив
$count_chars = count($chars_expl); //пак броим елементите

for ($i=0; $i < $count_pers; $i++) { //започваме for цикъл, който да се изпълнява толкова пъти, колкото са елементите на първия масив с актьорите $one_person = $pers_expl[$i]; //записваме всеки елемент в отделна променлива if (trim($one_person) != '') { //проверяваме дали полето не е празно, като trim функцията ще проверява дали полето не е само празни места $counted = count($one_person); while ($counted > 0) { //цикълът ще се изпълнява докато има актьори
$one_character = $chars_expl[$i]; //в цикъла за актьорите вмъкваме и персонажите, за да може на всеки актьор да съответства съответния му ред персонаж
$counted = count($one_character);
while ($counted > 0) {
if (trim($one_character) == '') { //проверка дали и полето за персонаж не е празно или само празни места
echo 'You need to insert a character';
exit;
}
$counted--; //намаляме цикъла с едно и пак го изпълняваме
}
$query = "INSERT INTO anicat_cast (cast_id, cast_anime_id, cast_person, cast_character)
VALUES (NULL, '".$anime_id."', '".trim($one_person)."', '".trim($one_character)."')"; //самата заявка
$counted--;
$writetodb = mysql_query($query); //пишем в базата
}
}
else {
echo 'You need to insert a person';
}
}

Накрая, като го гледах този код, осъзнах, че не е чак толкова труден, но все пак, докато се сетя за него, много нерви бяха... и страшно главоболие в края на вечерта :Д