Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php][mysql] mysql_fetch_assoc a zduplikowane nazwy pól
Forum PHP.pl > Forum > Przedszkole
-zbigniew-
Witam. Mam taki kod:
  1. function getArticles($start, $limit) {
  2. $query = "SELECT articles.id, articles.title, articles.content, articles.created_at, users.id, users.name, categories.id, categories.name FROM articles LEFT JOIN users ON articles.user_id=users.id LEFT JOIN categories ON articles.category_id=categories.id LIMIT ".$start*$limit.",".$limit.";";
  3. $result = mysql_query($query);
  4.  
  5. while($row = mysql_fetch_assoc($result)) {
  6. echo '<pre>';
  7. print_r($row);
  8. echo '</pre>';
  9. }
  10. }


Ale zamiast otrzymać "zamawiane" 8 pól otrzymuję coś takiego:
Kod
Array
(
    [id] => 4
    [title] =>  Nam pretium tempor elit, eget gravida mi pulvinar feugiat
    [content] => Vestibulum justo urna, accumsan in aliquam eu, dignissim varius nisl. Suspendisse id diam sed libero commodo euismod. Vestibulum placerat lacus vitae tellus feugiat adipiscing. Aenean pharetra ante in risus volutpat luctus. Nullam a laoreet nisl. Integer varius quam eu libero mattis ut suscipit nulla sodales. Fusce quis ullamcorper erat. Cras ac dui sed leo vehicula laoreet. Nam ultricies dapibus faucibus. Mauris mi ligula, elementum nec malesuada eget, consequat vitae quam. Vestibulum laoreet convallis ipsum, sed tempor justo commodo a. Sed commodo, orci vitae euismod fringilla, magna velit molestie ante, sit amet auctor eros enim sit amet magna. Maecenas non posuere sem. Sed fermentum justo quis neque tincidunt ac ullamcorper risus tempus. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus.
    [created_at] => 2008-06-01 13:01:31
    [name] => bussiness
)

Czyli jak widać tylko 5 pól.

Z kolei gdy zamiast mysql_fetch_assoc użyje mysql_fetch_array dostaje cos takiego:
Kod
Array
(
    [0] => 1
    [id] => 4
    [1] =>  Nam pretium tempor elit, eget gravida mi pulvinar feugiat
    [title] =>  Nam pretium tempor elit, eget gravida mi pulvinar feugiat
    [2] => Vestibulum justo urna, accumsan in aliquam eu, dignissim varius nisl. Suspendisse id diam sed libero commodo euismod. Vestibulum placerat lacus vitae tellus feugiat adipiscing. Aenean pharetra ante in risus volutpat luctus. Nullam a laoreet nisl. Integer varius quam eu libero mattis ut suscipit nulla sodales. Fusce quis ullamcorper erat. Cras ac dui sed leo vehicula laoreet. Nam ultricies dapibus faucibus. Mauris mi ligula, elementum nec malesuada eget, consequat vitae quam. Vestibulum laoreet convallis ipsum, sed tempor justo commodo a. Sed commodo, orci vitae euismod fringilla, magna velit molestie ante, sit amet auctor eros enim sit amet magna. Maecenas non posuere sem. Sed fermentum justo quis neque tincidunt ac ullamcorper risus tempus. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus.
    [content] => Vestibulum justo urna, accumsan in aliquam eu, dignissim varius nisl. Suspendisse id diam sed libero commodo euismod. Vestibulum placerat lacus vitae tellus feugiat adipiscing. Aenean pharetra ante in risus volutpat luctus. Nullam a laoreet nisl. Integer varius quam eu libero mattis ut suscipit nulla sodales. Fusce quis ullamcorper erat. Cras ac dui sed leo vehicula laoreet. Nam ultricies dapibus faucibus. Mauris mi ligula, elementum nec malesuada eget, consequat vitae quam. Vestibulum laoreet convallis ipsum, sed tempor justo commodo a. Sed commodo, orci vitae euismod fringilla, magna velit molestie ante, sit amet auctor eros enim sit amet magna. Maecenas non posuere sem. Sed fermentum justo quis neque tincidunt ac ullamcorper risus tempus. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus.
    [3] => 2008-06-01 13:01:31
    [created_at] => 2008-06-01 13:01:31
    [4] => 2
    [5] => Jeff Walker
    [name] => bussiness
    [6] => 4
    [7] => bussiness
)


Czyli wszystkie pola, a nawet wiecej indeksowane liczbami. Domyślam się, że chodzi o to, że pola w różnych tabelach bazy mają takie same nazwy(name, id). Czy jest sposób aby zmusić mysql albo php, żeby tworzył tablicę asocjacyjną w sposób [nazwa_tabeli.nazwa_pola] => wartość ? Jeśli nie, to jak pozbyć się z mysql_fetch_array zduplikowanych pól? Pozdro.

PS. Czy mój podwójny JOIN jest ok?
CuteOne
$query = "SELECT articles.id AS art_id, users.id AS user_id,

To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.