Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [MySQL][PHP]DISTINCT - powtarzające się wpisy
Dingo
post 8.10.2009, 00:34:56
Post #1





Grupa: Zarejestrowani
Postów: 26
Pomógł: 0
Dołączył: 27.05.2009

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


Otóż mam taki błąd bo znowu zapytania zadać nie umiem.
Cytat
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /home/dingo/domains/generujszablon.pl/public_html/optymalni/index.php on line 371


Tak wygląda fragment kodu:
  1. $zapytanie11 = "SELECT DISTINCT(nazwa_potrawy, opis, proporcje_t, proporcje_w) FROM potrawy WHERE login = '$login' ORDER BY id";
  2. $idzapytania11 = mysql_query($zapytanie11);
  3. while ($potrawa = mysql_fetch_array($idzapytania11))
  4. {
  5. echo ' <tr>
  6. <td class="center" style="height: 20px; width: 150px;">'.$potrawa['nazwa_potrawy'].'</td>
  7. <td class="center" style="height: 20px; width: 280px;">'.$potrawa['opis'].'</td>
  8. <td class="center" style="height: 20px">1:'.$potrawa['proporcje_t'].':'.$potrawa['proporcje_w'].'</td>
  9. </tr>';
  10. }


Więc chciałem wybrać sobie obojętnie jaki wpis z 3 powtarzających się wpisów (no i jak by było więcej ale o innej nazwie to 2 wiersz by tworzyło). Powtarzają się w nich 4 rzeczy, więc wymieniłem je w funkcji SELECT. Jednak wywala taki błąd jak podałem na początku. Co może być tego przyczyną? Da się w ogóle tak zrobić?

Tabela:
Go to the top of the page
+Quote Post
marcio
post 8.10.2009, 00:54:10
Post #2





Grupa: Zarejestrowani
Postów: 2 291
Pomógł: 156
Dołączył: 23.09.2007
Skąd: ITALY-MILAN

Ostrzeżenie: (10%)
X----


Nie rozumiem co chcesz zrobic ale w order by id powinienes dac asc albo desc chyba ze sql daje defaultowa wartosc


--------------------
Zainteresowania: XML | PHP | MY(SQL)| C# for .NET | PYTHON
http://code.google.com/p/form-builider/
Moj blog
Go to the top of the page
+Quote Post
Dingo
post 8.10.2009, 21:58:44
Post #3





Grupa: Zarejestrowani
Postów: 26
Pomógł: 0
Dołączył: 27.05.2009

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


ORDER BY id przypadkowo się znalazło tam. Rzeczywiście nie powinno go tam być. A co chcę uzyskać? Chcę wyciągnąć 1 wpis z tych 3 wpisów. Obojętnie jaki. No i jak dojdą jeszcze kolejne wpisy to też 1 z tych nowych (np. będzie 5 prawie identycznych wpisów, a mi zależy na 4 dancyh, które są identyczne dla tych wpisów)

@Edit
Jeżeli nie będzie rozwiązania to po prostu 2 tabelę stworzę podczas tworzenia potrawy będzie dodawało potrzebne dane do tej tabeli, aby nie było problemów. No ale jak da się rozwiązać to proszę o pomoc.

Ten post edytował Dingo 8.10.2009, 22:03:14
Go to the top of the page
+Quote Post
zelu
post 8.10.2009, 22:01:24
Post #4





Grupa: Zarejestrowani
Postów: 229
Pomógł: 34
Dołączył: 7.12.2008
Skąd: Poznań

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


  1. $idzapytania11 = [url="http://www.php.net/mysql_query"]mysql_query[/url]($zapytanie11) or die mysql_error();
Sprawdź jaki błąd zwraca Ci mysql, bo najprawdopodobniej tu leży problem.

Pozdro

Ten post edytował zelu 8.10.2009, 22:01:41
Go to the top of the page
+Quote Post
Dingo
post 8.10.2009, 22:28:23
Post #5





Grupa: Zarejestrowani
Postów: 26
Pomógł: 0
Dołączył: 27.05.2009

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


Chyba coś nie tak kazałeś mi wstawić.
Cytat
Parse error: syntax error, unexpected T_STRING in /home/dingo/domains/optimalcal.pl/public_html/index.php on line 1370


Takie coś miało być? (nie działa właśnie taki błąd wywala).
  1. $zapytanie11 = "SELECT DISTINCT(nazwa_potrawy, opis, proporcje_t, proporcje_w) FROM potrawy WHERE login = '$login' ORDER BY id"; $idzapytania11 = mysql_query($zapytanie11) or die mysql_error();
Go to the top of the page
+Quote Post
potreb
post 8.10.2009, 22:41:19
Post #6





Grupa: Zarejestrowani
Postów: 1 568
Pomógł: 192
Dołączył: 7.03.2005
Skąd: Warszawa

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


or die(mysql_error());


--------------------

Go to the top of the page
+Quote Post
Dingo
post 9.10.2009, 10:06:30
Post #7





Grupa: Zarejestrowani
Postów: 26
Pomógł: 0
Dołączył: 27.05.2009

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


Operand should contain 1 column(s)
Go to the top of the page
+Quote Post
zelu
post 9.10.2009, 10:12:30
Post #8





Grupa: Zarejestrowani
Postów: 229
Pomógł: 34
Dołączył: 7.12.2008
Skąd: Poznań

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


Sprawdź dobrze jak działa DISTINCT i jakie ( w sensie ile) "argumenty" przyjmuje winksmiley.jpg

Pozdro

Ten post edytował zelu 9.10.2009, 10:13:17
Go to the top of the page
+Quote Post
Dingo
post 9.10.2009, 11:32:23
Post #9





Grupa: Zarejestrowani
Postów: 26
Pomógł: 0
Dołączył: 27.05.2009

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


No to problem trzeba będzie rozwiązać inaczej. Dzięki.
Go to the top of the page
+Quote Post
zelu
post 9.10.2009, 15:02:57
Post #10





Grupa: Zarejestrowani
Postów: 229
Pomógł: 34
Dołączył: 7.12.2008
Skąd: Poznań

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


Proponuję poczytać o GROUP BY smile.gif

Pozdro
Go to the top of the page
+Quote Post

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

 



RSS Wersja Lo-Fi Aktualny czas: 29.06.2025 - 10:01