Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][PHP]Array z bazy danych problemik
Forum PHP.pl > Forum > Przedszkole
lukaszk
Witam, jak wrzucić do array dane z bazy danych

  1. function Title($name) {
  2. $array_title = array(
  3. $zapytanie = "SELECT * FROM ogloszenia";
  4. if ($r = mysql_query ($zapytanie)) {
  5. while ($a = mysql_fetch_array($r)) {
  6.  
  7. ''.$a['id_ogloszenia'].''=>''.$a['tytul'].'',
  8. }
  9. }
  10. '155sssdsda'=>'Jakis smiec aby zachowac ostani bez przecinka'
  11. );
  12. foreach($array_title as $key => $val)
  13. if($name == $key) return $val;
  14. }


takie rozwiązanie zwraca mi bład
  1.  
  2. Parse error: syntax error, unexpected ';', expecting ')
  3.  
  4. w linii
  5. $zapytanie_bottom = "SELECT * FROM ogloszenia"; //to jest linia 5
Niktoś
Tak nie będzie lepiej?
  1. function Title($name) {
  2. $zapytanie = "SELECT * FROM ogloszenia";
  3. $array_title = array(
  4.  
  5. if ($r =mysql_query ($zapytanie)) {
  6. while ($a = mysql_fetch_array($r)) {
  7.  
  8. ''.$a['id_ogloszenia'].''=>''.$a['tytul'].'';
  9. }
  10. }
  11. $a['id_ogloszenia'].''=>''.$a['tytul'];
  12. );
  13. foreach($array_title as $key => $val)
  14. if($name == $key) return $val;
  15. }
lukaszk
  1. Parse error: syntax error, unexpected T_IF, expecting ')'


Niesety nie działa zwraca błą w linii
  1. if ($r = mysql_query ($zapytanie)) {
Niktoś
A wiesz dlaczego ,bo blok if zwraca wartość boolean -w twoim przypadku $r = mysql_query ($zapytanie) to zwykłe przypisanie zmiennej i mało ma wspólnego z wyrażenie w instrukcji warunkowej,gdyż to nie jest żaden warunek.
W przypadku instrukcji while najprawdopodobniej będzie to samo.

przypisz gdzieś wcześniej $r = mysql_query ($zapytanie) a w instrukcji warunkowej:
if ($r !=null){

}
melkorm
Ludzie ogarnijcie się ...

  1. function Title($name)
  2. {
  3. $zapytanie = "SELECT * FROM ogloszenia WHERE name = {$name}";
  4. $q = mysql_query($zapytanie);
  5. if ( $result = mysql_fetch_array($q) )
  6. {
  7. // var_dump($result); -> tak możesz zobaczyć co ci zwróci zapytanie
  8. return $result; // czy tam $result['title']
  9. }
  10. return false;
  11. }


Z wyglądu funkcji wywnioskowałem że o taki wynik Tobie chodzi.

PS. IF'y, while'e, w array() ? ...
lukaszk
Zależy mi aby array zawierał



  1. 'numer_id_newsa'=>'Tytuł newsa'


KIedy wchodzę w ogłoszenie wysyłam metodą GET id ogłoszenia aby je otworzyło a także do wyświetlania
  1. <title><? echo funkcja_title($id_nogloszenia); ?></title>



Czyli chodzi o obsługę Słów kluczowych, tytułu, opisu strony sekcji meta.

Tak aby array o id 5 zwracał tytuł który tam jest.
Robię to tu (array a nie z bazy w index.php) bo część będzie pisana z palca (do stałych podstron takich jak kontakt, regulamin)




melkorm
1. Czy tytuł newsa jest unikalny?
2. Jeżeli tak to pod $result masz wszystko co potrzebujesz.
3. Jeżeli nie to się wysil trochę i ubierz to w pętle while, stwórz tablicę i sobie ją zwróć, wszystkiego za Ciebie nie zrobimy.
lukaszk
Unikalne jest id to po id rozpoznany jest wiersz i zwracana wartość.

Sądze że to rozwiązanie może być dobre ale zwraca mi bład.

  1. function Title($name) {
  2. $zapytanie = "SELECT * FROM ogloszenia";
  3. $array_title = array(
  4. if ($r = mysql_query ($zapytanie)) {
  5. while ($a = mysql_fetch_array($r)) {
  6. ''.$a['id_ogloszenia'].''=>''.$a['tytul'].'';
  7. }
  8. }
  9. '155dssa'=>'jakis test aby zachować ostatni bez przecinka na końcu'
  10. );
  11. foreach($array_title as $key => $val)
  12. if($name == $key) return $val;
  13. }
melkorm
A czy Ty widzisz w ogóle co Ty wyprawiasz tam ?
1. Składnia leży po całości.
2. $name to id, dobrze wiedzieć, więc podmień w moim zapytaniu na id i po sprawie, nie musz literować po całym secie wyników tylko od razu na poziomie silnika bazy danych wyszukać odpowiedni rekord.
3. Jeżeli nadal tego nie ogarniasz to podstawy MySql i PHP => kursy, na necie masz tego full, bo to co tutaj jest nie zakrawa nawet na miano przedszkola.
Rysh
Człowieku co Ty próbujesz w ogóle osiągnąć?
Po drugie użyj mysql_fetch_assoc.
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.