Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][PHP] Pętla
Forum PHP.pl > Forum > Przedszkole
gOdi_1991
Witam, mam problem dubluje mi wynik zapytania z pętli w dziwny sposób proszę o pomoc ! Tutaj jest link ( efekt )

http://e-desing.xaa.pl/index.php?step=shop

fragment php
  1. <?php
  2. include_once('cfg.php');
  3. $result1 = mysql_query("SELECT id, image_small, image_big, info, coder, graphic, kesh FROM products ORDER BY id DESC")
  4. or die("Niepoprawne zapytanie MySQL");
  5. while ($shop = mysql_fetch_array($result1))
  6. {
  7. $tablica[] = $shop;
  8.  
  9. }
  10. $smarty->assign('result1',$tablica);
  11.  
  12. ?>
  13.  


oraz tpl
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  2. <html xmlns="http://www.w3.org/1999/xhtml">
  3. <head>
  4. <title>Sklep</title>
  5. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  6.  
  7. <link href="templates/style.css" rel="stylesheet" type="text/css" />
  8. </head>
  9. <body>
  10. <table>
  11. {foreach from=$result1 key=myId item=shop}
  12. <tr> <td>
  13. <img src="templates/images/uploads/{$shop.image_small}">
  14. </td> <td>
  15. <table>
  16. <tr><td>Cena:</td><td>{$shop.kesh},00 zł</td></tr>
  17. <tr><td>Koder:</td><td>{$shop.coder}</td></tr>
  18. <tr><td>Grafik:</td><td>{$shop.graphic}</td></tr>
  19. <tr><td>Opis:</td><td>{$shop.info}</td></tr>
  20. </table>
  21. </td>
  22. </tr>
  23. {/foreach}
  24. </table>


Dodam że na tej samej zasadzie działają u mnie newsy i nie ma takiego problemu sad.gif
wookieb
A upewniłeś się najpierw czy w bazie nie masz zdublowane?
Jak nie to wyswietl zawartosc zmiennej tablica przed i po petli.
gOdi_1991
Nie dubluje mi wyniku z bazy danych zobacz w linku jak to wygląda ... blinksmiley.gif
gOdi_1991
Wyświetla tyle razy ile jest rekordów w bazie ! bo produktów dodanych jest tylko dwą ale problem polega na tym że kolumnę pierwszą z tytułami: Cena itp są wyświetlane jeszcze raz tyle a nie powinno tak być exclamation.gif! ;/
wookieb
Przestań sie drzeć bo Cię zamknę do pokeballa.
Cytat
Jak nie to wyswietl zawartosc zmiennej tablica przed i po petli.
gOdi_1991
A co ma zmienna do tekstu ? skoro zmiennych nie KOPIUJE JEZUS MARIA wejdz na link który podałem zobaczysz że koduje zwykły tekst <td>Koder</td> itp a jak jest zmienna wyświetla PRAWIDŁOWO 2 RAZY

usuwałem i nic offtopic.gif
wookieb
Ostrzegam mam master balla.
zrób
  1. print_r($tablica);

Przed i ZA pętlą.
A następnie ładnie wyświetl wynik PRZED foreach w smarty
  1.  
  2. {php} print_r($this->data['result1']); {/php}

Tak to prawdopodobnie będzie w smarty albo spójrz na zawartość zmiennej w konsoli smarty.
gOdi_1991
Genialny pomysł GDYBY MI DUBLOWAŁO ZAWARTOŚĆ ZMIENNYCH ALE NIE NIE !
Fifi209
Cytat(gOdi_1991 @ 20.05.2010, 23:44:54 ) *
Genialny pomysł GDYBY MI DUBLOWAŁO ZAWARTOŚĆ ZMIENNYCH ALE NIE KURWA NIE !

Z takim podejściem, słownictwem i infantylnym zachowaniem daleko nie zajdziesz.
strife
Cytat(gOdi_1991 @ 20.05.2010, 22:44:54 ) *
Genialny pomysł GDYBY MI DUBLOWAŁO ZAWARTOŚĆ ZMIENNYCH ALE NIE NIE !

Brawo! Dostajesz kolejne ostrzeżenie, jeszcze jeden tego typu nieprzemyślany post, a odpoczniesz sobie od forum na jakiś czas.
wookieb
Strife Iiiiidźźźexclamation.gif
qasz
Ewidetnie masz duplikat w bazie. Zmień zapytanie na "SELECT DISTINCT image_small, image_big, info, coder, graphic, kesh FROM products" to się przekonasz.
gOdi_1991
dalej nie rozumiecie że w bazie nie ma żadnych powtórzeń narodzie ... BO TO CO KOPIUJE NIE POBIERA Z BAZY
qasz
A to
  1. $result1 = mysql_query("SELECT id, image_small, image_big, info, coder, graphic, kesh FROM products ORDER BY id DESC")


nie jest pobieranie z bazy ?
gOdi_1991
a tak na marginesie sprawdziłem to co pisałeś i nic dalej to samo Jednak dodam newsa smile.gif wywaliłem jeden rekord z bazy bo miałem dwa i pomimo tego dalej wyświetla 2 razy bez potrzeby Proszę zobaczyć teraz w link który podałem na początku
wookieb
Ale co ci szkodzi wyświetlić zmienne tak jak Cię o to prosiłem? Spocisz się przy tym? Bo tak to ciągniemy bezsensowanie temat
- Zrób tak
- NIE NIE ZROBIĘexclamation.gif NIEE!!

Tak to możemy sobie "gadać"
gOdi_1991
a co to za rozwiązanie ? skoro będzie mi wyświetlać jeden rekord ?! a ma mi wyświetlać tyle ile jest w bazie heh nie mam siły
wookieb
Nie wiem czy ci chomąto zakładają w domu czy taki rozwydrzony jesteś (że nie wspomnę o ignoranctwie) ale dzięki temu zobaczymy czy tablica ABY NA PEWNO JEST PRAWIDŁOWA!
Powtarzam, wyświetl zawartość zmiennej $tablica PRZED pętlą PO pętli i PRZED wyświetlaniem w szablonie.
qasz
A ja powiem tak wywal ten pusty duplikat i będzie już wszystko dobrze.
gOdi_1991
Tablica jest dobra bo taka sama jest zastosowana w podobnym skrypcie
wookieb
No to pokaż nam wynik wyświetlenia owych tablic.
gOdi_1991
http://e-desing.xaa.pl/index.php?step=news ....
wookieb
Błagam...
  1. print_r($tablica);
  2. while ($shop = mysql_fetch_array($result1))
  3. {
  4. $tablica[] = $shop;
  5. }
  6. print_r($tablica);


Przed pętlą w smarty wyświetl jak chcesz.
gOdi_1991
Kod
Array ( [0] => Array ( [0] => sm1.jpg [image_small] => sm1.jpg [1] => [image_big] => [2] => Szablon jest kompatybilny z Clansphere 3.1.2 Dodatkowe modu�: Zak�dy, Sklep. [info] => Szablon jest kompatybilny z Clansphere 3.1.2 Dodatkowe modu�: Zak�dy, Sklep. [3] => gOdi91 [coder] => gOdi91 [4] => Jezus [graphic] => Jezus [5] => 160 [kesh] => 160 ) )
Fatal error: Call to a member function assign() on a non-object in /home/edesing/public_html/shop.php on line 17


To wyświetla pozdrawiam smile.gif
wookieb
Po pierwsze tablica powinna się wyświetlić przynajmniej 2 razy
Po drugie dlaczego olewasz drugi błąd?
gOdi_1991
Dobra skoro jesteś taki mądry to napisz jak to ma być bo aktualnie dajesz pseudo mądre rady a jednak nic z nich nie wynika bo wszędzie działa ten sam skrypt a tu nagle jest jakiś błąd i nie umiesz zrozumieć że twój pomysł jest klapą
strife
Cytat(gOdi_1991 @ 21.05.2010, 15:39:39 ) *
Dobra skoro jesteś taki mądry to napisz jak to ma być bo aktualnie dajesz pseudo mądre rady a jednak nic z nich nie wynika bo wszędzie działa ten sam skrypt a tu nagle jest jakiś błąd i nie umiesz zrozumieć że twój pomysł jest klapą

Dosyć tego, poprzednio Cię ostrzegałem że kolejny taki post może się dla Ciebie skończyć moderacją postów, tak więc w tej chwili dostajesz moderację postów na tydzień, może po tym czasie zmądrzejesz.

Temat zamykam
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.