Problema de logica, de ce nu merge ?
Scris: Vin Mar 20, 2009 2:59 pm
salut am o problema cu un script, nu face ce vreau sa faca
am lasat descrierea si intrebarile in comenturi in script, va rog sa imi spuneti care e problema, de ce nu merge?
-------------------------------------------------
/*Ideea in mare e ca vreau sa am la sfarsit un array care sa contina cate un index pentru toate randurile dintr-un query, apoi indexul valorile respective, in cazul acesta numele indexului principal e ID-ul din tabel, iar numele array-ul care contine toate indexurile astea e $tags2media
va rog cititi comenturile din script */
$connection = mysql_connect('localhost', 'user', 'parola');
mysql_select_db('db');
$query = "SELECT media_id, media_title, media_type FROM media LIMIT 0, 12";
$result = mysql_query($query);
//loop-ul care citeste fiecare rand din query
while ($row = mysql_fetch_assoc($result)) {
$tags = array();
$tags = explode(' ', $row['media_title']);
$type = $row['media_type'];
$media_id = $row['media_id'];
$media_title = $row['media_title'];
//Sterg indexul daca tagul e null ('')
foreach ($tags as $key => $tag) {
if ($tag == '') {
unset($tags[$key]);
}
}
//creez un array care are ca index ID-ul curent din query
//pentru fiecare ID gasit in query se defineste un nou index in array-ul $tags2media
$tags2media = array();
//fiecare index cu numele ID-ului curent o sa fie un array si o sa contina 3 index-uri :
//title, type si tags care contin valorile respective luate din query
$tags2media[$media_id] = array();
$tags2media[$media_id]['title'] = $media_title;
$tags2media[$media_id]['type'] = $type;
$tags2media[$media_id]['tags'] = count($tags);
}//se termina while loop-ul
//dupa ce am terminat cu while loop-ul array-ul $tags2media nu are toate indexurile
//print_r dupa while loop arata ca $tags2media are doar un index, ultimul, care contine valorile ultimului query
echo '<br><pre>';
print_r($tags2media);
echo'</pre><br>';
//nu inteleg de ce atunci cand setez pentru $tags2media un nou index nu ramane setat dupa ce termina while loop-ul
//fiecare ID din tabelul media e unic (e primary key-ul) si atunci cand setez un index cu ID-ul curent din loop ar trebui ca creeze un index nou
//astept un raspuns
------------------------
am lasat descrierea si intrebarile in comenturi in script, va rog sa imi spuneti care e problema, de ce nu merge?
-------------------------------------------------
/*Ideea in mare e ca vreau sa am la sfarsit un array care sa contina cate un index pentru toate randurile dintr-un query, apoi indexul valorile respective, in cazul acesta numele indexului principal e ID-ul din tabel, iar numele array-ul care contine toate indexurile astea e $tags2media
va rog cititi comenturile din script */
$connection = mysql_connect('localhost', 'user', 'parola');
mysql_select_db('db');
$query = "SELECT media_id, media_title, media_type FROM media LIMIT 0, 12";
$result = mysql_query($query);
//loop-ul care citeste fiecare rand din query
while ($row = mysql_fetch_assoc($result)) {
$tags = array();
$tags = explode(' ', $row['media_title']);
$type = $row['media_type'];
$media_id = $row['media_id'];
$media_title = $row['media_title'];
//Sterg indexul daca tagul e null ('')
foreach ($tags as $key => $tag) {
if ($tag == '') {
unset($tags[$key]);
}
}
//creez un array care are ca index ID-ul curent din query
//pentru fiecare ID gasit in query se defineste un nou index in array-ul $tags2media
$tags2media = array();
//fiecare index cu numele ID-ului curent o sa fie un array si o sa contina 3 index-uri :
//title, type si tags care contin valorile respective luate din query
$tags2media[$media_id] = array();
$tags2media[$media_id]['title'] = $media_title;
$tags2media[$media_id]['type'] = $type;
$tags2media[$media_id]['tags'] = count($tags);
}//se termina while loop-ul
//dupa ce am terminat cu while loop-ul array-ul $tags2media nu are toate indexurile
//print_r dupa while loop arata ca $tags2media are doar un index, ultimul, care contine valorile ultimului query
echo '<br><pre>';
print_r($tags2media);
echo'</pre><br>';
//nu inteleg de ce atunci cand setez pentru $tags2media un nou index nu ramane setat dupa ce termina while loop-ul
//fiecare ID din tabelul media e unic (e primary key-ul) si atunci cand setez un index cu ID-ul curent din loop ar trebui ca creeze un index nou
//astept un raspuns
------------------------