Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: problem z tablicami
Forum PHP.pl > Forum > PHP
yazi
WItam
mam problem z zapisaniem wyniku zapytania SQL do tablicy.
Kod:

$query_fraza = "SELECT * FROM ksiazki WHERE tytul LIKE '%" . $_POST['fraza'] . "%' " ;
$result_fraza= mysql_query($query_fraza) or die(mysql_error());

Jako wynik wywołania:
$wiersz = mysql_fetch_array($result_fraza);

dostaję kilka wierszy spełniającyh zadany warunek.
W jaki sposób utowrzyc tablice zawierającą wszystkie zwrócone dane?
W jaki sposób potem sie do nich dostac i je wyswietlic?
My4tic
  1. <?php
  2.  while($row = mysql_fetch_array( $result ))
  3.  {
  4. $array[i] = $row["xxx"];
  5. $i++;
  6. }
  7. ?>
son
można też bez zmiennej i:
  1. <?php
  2.  
  3. while($row = mysql_fetch_array( $result ))
  4.  {
  5. $array[] = $row["xxx"];
  6. }
  7.  
  8. ?>
stoprocent
  1. <?php
  2.  
  3. while($row = mysql_fetch_array( $result ))
  4.  {
  5. $array[] = $row;
  6. }
  7.  
  8. ?>


Przypuszczam ze wiecej danych bedzie wyciaganych niz jedno pole dlatego lepiej dodac caly row do tablicy i powstanie tablica 2 wymiarowa.
yazi
Thx za odpowiedz ale dalej jest problem.

chodzi o to ze ze chcę zrobic na prostą wyszukiwarkę którą na podstawie podanego wyrazu sprawdza czy taka pozycja istnieje w bazie danych.

$query_fraza = "SELECT * FROM ksiazki WHERE tytul LIKE '%" . $_POST['fraza'] . "%' " ; //zapytanie
$result_fraza= mysql_query($query_fraza) or die(mysql_error()); //zwraca wynik zapytania

powiedzmy ze zwrócone zostają 3 wiersze spełniające warunek

informacje na temat kazdeho wiersza pobieram za pomocą mysql_fetch_array.

w jakis sposób utworzyc tablicę która bedzie przechowywała wszystkie 3 wiersze danych (potem taką tablicę chciąłbym przesłac za pomocą sesji do innej stronki)

prubowałem tak ale nie działa:


while($row = mysql_fetch_array( $result_fraza ))
{
$tablica=>array($index=>array("id"=>$row[id],"tytul"=>$row[tytul],"cena"=>$row[cena]));
$index++;

}
My4tic
Przecież juz Ci napisaliśmy. W tej pętli do tablicy będą dodawane wszystkie rekordy spełniające warunek. Póżniej dostajesz sie do nich array[0], array[1] itd.

Poza tym jak chcesz dodać do tablicy wiersze z kilkoma polami to musisz zrobić tablice wielowymiarową tak jak napisał Nasto.
yazi
juz działa!
dzieki za wszystkie odpowiedzi!
pozdrawiam
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.