Problema Explode Array

Nu vrei sa intelegi deloc …ca scriptul l-am facut deja …si ar trebui sa iau atatea pagini la modificat doar ca sa rezolv o problema de 2 min pentru cineva care stie… Intradevar de la ora 3 de cand ma chinui si am si cautat pe net si incercat toate variantele posibile … faceam aceasta separare si gata…

De la ora 3?

Si esti pregatit sa mai investesti inca zeci de ore atunci cand vor apare si problemele de performanta?

Asta e o alta problema: codul PHP nu l-ai structurat asa incat sa fie usor de mentenat si modificat.

Nu are de-a face cu baza de date, dar si aceasta problema va trebui sa o rezolvi cu codul tau.

Stiu ce fac…deci nu vor fi probleme…poate nu ai inteles ceea ce vreau sa fac … deci daca vrei sa ma ajuti , ajuta-ma ca de restul timpului sau problemele de care ma voi lovi…o sa le rezolv prin a separa categorii de filme in tabele diferite !

Ma gandeam asa… separ categorii de filme…
in tabelul categorii o sa fie ceva de genul

id categoria
1 Filme, Filme Actiune
2 Actiune, Horror
3 Actiune
4 Filme 2016, Comedie, Aventura

nu ar fi acelas cacat , cum e acum ? asta presupune sa intru in fisierul de unde preiau filmele…sa separ fiecare categorie prin explode apoi nush sa ii dau inster in sql si tot odata sa verifice daca exista categoria …

Cred ca mult mai solicitat va fi serverul asa…ca se preiau 10, 20 de filme odata…

Ok, fie:

$result = array();
foreach($bigarray as $subarray) {
  $result = array_unique(array_merge($result, $subarray));
}

Succes la carpeli in continuare.

Nu afiseaza nimic…

Nu asa, vei avea trei tabele: filme, categorii (cu cate o singura categorie pe linie), si un al treilea tabel care asociaza cate un film cu cate o singura categorie.

Intuitia ta te inseala, e mai rapid asa.

Optimizarile le faci pornind de la o versiune normalizata a bazei de date, si masori, pe cifre, si denormalizezi acolo unde e nevoie.

Nu e cazul tau, tu trebuie mai intai sa inveti sa faci lucrurile curat. Esti departe de a optimiza ceva, orice.

Ai adaptat codul, sau ai dat copy paste fara sa intelegi ce faci?

Deci ? $categoria2=$row[‘categoria’];
$categoria=explode(",",$categoria2);

$result = array();
foreach($categoria as $subarray) {
$result = array_unique(array_merge($result, $subarray));
print_r($result);
}
}

Codul era pentru array-ul mare pe care l-ai postat ca $bigarray. Tu esti deja in bucla interioara, deci scoate ce nu ai nevoie, adapteaza.

Chiar nu inteleg unde sa pun $categoria

Atunci inseamna ca nu intelegi ideea din spatele codului pe care ti l-am dat.

$result = array_unique(array_merge($result, $categoria));

1 Like

foreach($bigarray as $subarray) {
$result = array_unique(array_merge($result, $subarray));
print_r($result);
}

eu din cate stiu forech ($aici se pune codul de array

Codul tot nu afiseaza

Posteaza codul, ca la cum nu intelegi, ci doar dai copy / paste, nu m-as mira sa fi facut ceva mindlessly.

Poti si tu sa postezi codul in blocul “CODE”?

`<?php
$query = “SELECT categoria, COUNT(id) FROM cotos_filme GROUP BY categoria”;
$result = mysql_query($query) or die(mysql_error());
// Print out result
while($row = mysql_fetch_array($result)){
$categoria2=$row[‘categoria’];
$categoria=explode(",",$categoria2);

$result = array();
foreach($bigarray as $subarray) {
$result = array_unique(array_merge($result, $categoria));
print_r($result);
}
}
?>`

// Print out result
$categories = array();
while($row = mysql_fetch_array($result)){
  $categoria2=$row['categoria'];
  $categoria=explode(",",$categoria2);

  $categories = array_unique(array_merge($categories, $categoria));
}
print_r($categories);

Ori iti bati joc ori eu is prost grav…ca nu merge !

1 Like

Codul arata de ca si cum mi-as bate joc de tine?

Posteaza codul.

Si incearca de data asta sa il marchezi ca cod.

Selectezi textul si apesi butonul http://i.imgur.com/uKqGSZz.png