Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP][MYSQL]mysql_fetch_array
bikerszymek
post
Post #1





Grupa: Zarejestrowani
Postów: 91
Pomógł: 13
Dołączył: 23.08.2008

Ostrzeżenie: (0%)
-----


Mam problem z funkcja mysql_fetch_array(), chce wyciagnac unikalne dane i pozniej zapisac je w tablicy i nie wiem czy dobrze to robie:

CODE
$zapytanie_1 = "select DISTINCT album from katalog";
$dane_1 = mysql_query($zapytanie_1);
$ile_1 = mysql_num_rows($dane_1);
$array_1 = mysql_fetch_array($dane_1);


chcac wyswitlic drugi (sa narazie dwa elementy unikane $ile_1=2) element o indeksie 1 nic nie wyrzuca.
CODE
echo $array_1[1];


Jezeli ktos wie co zle robie i maja jakis pomysl na rozwiazanie to prosze o rady.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 8)
Exek
post
Post #2





Grupa: Zarejestrowani
Postów: 120
Pomógł: 10
Dołączył: 16.08.2007

Ostrzeżenie: (0%)
-----


http://pl2.php.net/mysql_fetch_array
Go to the top of the page
+Quote Post
bikerszymek
post
Post #3





Grupa: Zarejestrowani
Postów: 91
Pomógł: 13
Dołączył: 23.08.2008

Ostrzeżenie: (0%)
-----


Cytat(Exek @ 10.09.2008, 21:19:46 ) *


nie pisalbym tutaj gdybym nie przeczytal manuala, pytam czy ktos wie gdzie jest blad

Ten post edytował bikerszymek 10.09.2008, 20:22:23
Go to the top of the page
+Quote Post
Exek
post
Post #4





Grupa: Zarejestrowani
Postów: 120
Pomógł: 10
Dołączył: 16.08.2007

Ostrzeżenie: (0%)
-----


Zatem nie przeczytałeś dokładnie:

hint:
- manual mówi: Zapisuje wiersz wyniku w tablicy asocjacyjnej.
- tablice indeksuje się od 0

Go to the top of the page
+Quote Post
bikerszymek
post
Post #5





Grupa: Zarejestrowani
Postów: 91
Pomógł: 13
Dołączył: 23.08.2008

Ostrzeżenie: (0%)
-----


wiec w jaki sposob zapisac do tablicy kolumne wynikow?

ps. wiem ze indeksuje sie od zera, element pierwszy o indeksie 0 jest wyswitlany normalnie.
Go to the top of the page
+Quote Post
Exek
post
Post #6





Grupa: Zarejestrowani
Postów: 120
Pomógł: 10
Dołączył: 16.08.2007

Ostrzeżenie: (0%)
-----


weź mnie nie załamuj, przykład z manuala:

Kod
  <?php
mysql_connect('localhost', 'uzytkownik', 'haslo') or
     die('Nie można się połączyć: ' . mysql_error());
mysql_select_db('baza');

$result = mysql_query("SELECT id, nazwa FROM tabela");

// PATRZ NA TE LINIJKI
while ($row = mysql_fetch_array($result, MYSQL_NUM)) {
     printf ("ID: %s  Nazwa: %s", $row[0], $row[1]);  
}
mysql_free_result($result);
?>


Ten post edytował Exek 10.09.2008, 20:34:26
Go to the top of the page
+Quote Post
bikerszymek
post
Post #7





Grupa: Zarejestrowani
Postów: 91
Pomógł: 13
Dołączył: 23.08.2008

Ostrzeżenie: (0%)
-----


Nie wiem co zle robie ale wyrzuca mi w nieskonczonosc pierwszy wiersz i nie wchodzi do petli for...

to kod
CODE
$zapytanie_1 = "select DISTINCT album from katalog";
$dane_1 = mysql_query($zapytanie_1) or die('1');
$ile_1 = mysql_num_rows($dane_1) or die('2');
$array_1 = mysql_fetch_array($dane_1, MYSQL_BOTH) or die('3');

while($array_1)
{
echo $array_1["album"];
$zap = $array_1["album"];
$zapytanie_2 = "select nazwa from foto WHERE id ='$zap'";
$dane_2 = mysql_query($zapytanie_2) or die('4');
$ile_2 = mysql_num_rows($dane_2) or die('5');
$array_2 = mysql_fetch_array($dane_2) or die('6');

for ($b=0; $b >= $ile_2; $b++)
{
echo "link";
}
}


edit: Proszę o zamkniecie. Problem rozwiązany.

Ten post edytował bikerszymek 10.09.2008, 22:11:50
Go to the top of the page
+Quote Post
Exek
post
Post #8





Grupa: Zarejestrowani
Postów: 120
Pomógł: 10
Dołączył: 16.08.2007

Ostrzeżenie: (0%)
-----


1.

Twoje:
Kod
$array_1 = mysql_fetch_array($dane_1, MYSQL_BOTH) or die('3');
while($array_1)


Nie jest równe:
Kod
while ($row = mysql_fetch_array($result, MYSQL_NUM)) {

to co robi to while to przypisanie wyniku do zmiennej $row. Jeśli mamy rezultat to $row jest typu Array co po rzutowaniu na boolean daje true. Skoro jest true to while się wykonuje. Po zakończeniu warunek jest od nowa sprawdzany czyli de facto jest znowu cos (lub nie) do $row przypisane.

2.
Poczytaj o MySQL a dokładniej o JOIN


3.
Heh, powiedz co chcesz osiagnac tym?
for ($b=0; $b >= $ile_2; $b++)

hint:
zastanów się jaką wartość ma $b a jaką $ile_2 na starcie w tym przypadku...

Ten post edytował Exek 10.09.2008, 22:13:36
Go to the top of the page
+Quote Post
bikerszymek
post
Post #9





Grupa: Zarejestrowani
Postów: 91
Pomógł: 13
Dołączył: 23.08.2008

Ostrzeżenie: (0%)
-----


chwile wczesniej przypadkiem wpadlem na to co napisales, jezeli chodzi o for to zaminilem go na takiego samego while tylko z innym zapytaniem i jest juz taka jak byc powinno. dzieki za pomoc:)
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 23.08.2025 - 13:02