Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][PHP]Ucinanie pierwszego rekordu
Forum PHP.pl > Forum > Przedszkole
bercow
Pytam o wszystkie, a nie wiedzieć czemu, i mając 3 rekordy w bazie pokazuje mi tylko 2 o.O. Wynik jak niżej. Pytanie why ?

Numer: 2Autor: user2Data: 2011-04-18 00:40:49
Numer: 3Autor: user3Data: 2011-04-20 01:11:34

  1. <?php
  2.  
  3. require "connection.php";
  4. connection();
  5.  
  6. $query = mysql_query("SELECT * FROM greetings WHERE visible = True");
  7. $g = mysql_fetch_assoc($query);
  8. if(mysql_num_rows($query) > 0) {
  9. while($g = mysql_fetch_assoc($query)) {
  10. $query2 = mysql_query("SELECT username FROM user WHERE id_user='".$g['id_user']."'") or die('Błąd zapytania');
  11. $u = mysql_fetch_assoc($query2);
  12. echo "Numer: ".$g['id_greetings'];
  13. echo "Autor: ".$u['username'];
  14. echo "Data: ".$g['date'];
  15. echo "<br />";
  16. }
  17. }
  1. --
  2. -- Struktura tabeli dla `greetings`
  3. --
  4.  
  5. CREATE TABLE `greetings` (
  6. `id_greetings` int(10) UNSIGNED NOT NULL AUTO_INCREMENT,
  7. `id_user` int(10) UNSIGNED DEFAULT NULL,
  8. `text` text,
  9. `date` datetime DEFAULT NULL,
  10. `visible` tinyint(1) DEFAULT NULL,
  11. PRIMARY KEY (`id_greetings`)
  12. ) ENGINE=MyISAM DEFAULT CHARSET=latin2 AUTO_INCREMENT=4 ;
  13.  
  14. --
  15. -- Zrzut danych tabeli `greetings`
  16. --
  17.  
  18. INSERT INTO `greetings` (`id_greetings`, `id_user`, `text`, `date`, `visible`) VALUES
  19. (1, 1, 'Pozdrowienia 1', '2011-04-17 00:40:38', 1),
  20. (2, 2, 'Pozdrowienia 2', '2011-04-18 00:40:49', 1),
  21. (3, 3, 'Pozdrowienia 3', '2011-04-20 01:11:34', 1);

Bags_Bunny
W linii 8 pobierasz pierwszy rekord i nic z nim nie robisz. Usuń tę linię.

Ponadto, poczytaj o instrukcji JOIN, ponieważ niepotrzebnie wykonujesz ogrom zapytań, a wystarczy jedno.
Co więcej, nie polecam używania funkcji mysql_*, ponieważ są mocno przestarzałe. Zainteresuj się PDO lub ewentualnie mysqli.
Hpsi
A pan królik jak zwykle tylko się wymądrza, daje wskazówki ale kodu nigdy nie napisze biggrin.gif sorry stary ale musiałem w końcu Cie skomentować tongue.gif

fakt faktem, Join w tym zapytaniu napewno by się prdzyał, do do funkcji mysql_*, również się zgadzam.

Co do problemu zobacz tak, pisałem to na szybko ale powinno być ok
  1. <?php
  2. require 'connection.php';
  3. connection();
  4. $query = mysql_query('SELECT `gree`.*, `u`.`username` AS `user_name` FROM `greetings` AS `gree` LEFT JOIN `user` AS `u` ON `gree`.`id_user`=`u`.`id_user` WHERE `gree`.`visible`=1');
  5. if(mysql_num_rows($query) > 0)
  6. {
  7. while($q = mysql_fetch_accoss($query))
  8. {
  9. echo 'Numer: '.$q['id_greetings'].' <br /> Autor: '.$q['user_name'] .' <br /> Data: '.$q['date'].' <br />';
  10. }
  11.  
  12. }
  13.  
  14. ?>
modern-web
Cytat
A pan królik jak zwykle tylko się wymądrza, daje wskazówki ale kodu nigdy nie napisze sorry stary ale musiałem w końcu Cie skomentować

Niektórzy trzymają się pewnych reguł - nie dają gotowców. Autor tematu przychodzi tu z pewnym problemem, który nie my mamy za zadanie rozwiązać, lecz on sam. Naszym zadaniem jest pomoc i ewentualna korekta toku myślenia.
Dając gotowe skrypty, facet przekopiuje je do swojego projektu, odpowiednio dopasuje i za godzinę przyleci z kolejnym (nie pamiętając o poprzednim)...
Bags_Bunny dobrze odpowiada - podaje zagadnienia przez co zmusza autora tematu do myślenia.
Sorry, ale musiałem skomentować wink.gif

Pozdrawiam!

edit:
  1. require 'connection.php';
  2. connection();

Po co wywołujesz funkcję connection() po zaimportowaniu pliku połączenia z bazą? Nie lepiej wywołać tę funkcję w connection.php, a potem tylko używać include / require ?
Mi taki sposób wydaje się bardziej optymalny i przejrzysty - patrz powtarzalność kodu php. Przy dużych projektach ma to nieco większe znaczenie ;d

no i jeszcze literówka:
  1. while($q = mysql_fetch_accoss($query))

  1. while($q = mysql_fetch_assoc($query))
Hpsi
Cytat
Bags_Bunny dobrze odpowiada - podaje zagadnienia przez co zmusza autora tematu do myślenia.

Wiem smile.gif też tak uważam, po prostu zrobiłem to dlatego że to mój dobry znajomy i sobie pozwolilem wink.gif

co do literówki, pisałem to na kolanie, nie sprawdzałem działaności kodu - przepraszam za to smile.gif

co do reszty Twoich uwag zgadzam się z Toba, też uważam ze połaczenie w pliku connection.php powinno byc a nie w kazdym pliku koljenym
modern-web
Rozumiem biggrin.gif
Zauważyłem, że ostatnio coś zwiększyła się liczba tematów dot. podstaw. Szkoda, że mało kto przychodzący na forum przeczytał jakąś książkę albo tutorial tego języka.
Rozumiem, że wszyscy chcą dostać rozwiązanie najprościej jak się da (taka natura człowieka ;p) ale trochę wysiłku nie zaszkodzi ^^
Hpsi
Cytat
Zauważyłem, że ostatnio coś zwiększyła się liczba tematów dot. podstaw.

Powód: rozoczeły się semestry w szkole i na uczelniach gdzie nauczyciele/wykładowcy wymagają tworzenia stron internetowych ... a wiadomo jaka jest natura ludzi smile.gif


Cytat
Szkoda, że mało kto przychodzący na forum przeczytał jakąś książkę albo tutorial tego języka.
Rozumiem, że wszyscy chcą dostać rozwiązanie najprościej jak się da (taka natura człowieka ;p) ale trochę wysiłku nie zaszkodzi ^^

Efekt tego działania jest zaśmiecanie tego dzialu. Wg mnie ludzie którzy piszą w przedszkolu powinni mieć "jakieś" pojęcie o php ... dla ludzi którzy są zieloni i chcą gotowe rozwiązania albo pytają o rzeczy typu jak używać if'a etc, powinno byc osobne subforum, no ale smile.gif mamy co mamy i cieszmy się z Tego co jest:)

dobra bo offtopic się włączył, lepiej to zakończyc smile.gif
Bags_Bunny
Cytat(modern-web @ 19.04.2011, 11:15:05 ) *
Autor tematu przychodzi tu z pewnym problemem, który nie my mamy za zadanie rozwiązać, lecz on sam. Naszym zadaniem jest pomoc i ewentualna korekta toku myślenia.
Dając gotowe skrypty, facet przekopiuje je do swojego projektu, odpowiednio dopasuje i za godzinę przyleci z kolejnym (nie pamiętając o poprzednim)...

Brakowało mi takiej wypowiedzi. Dziękuję!

A Ty Hapsiok sie do roboty zabieraj, a nie gadasz, bo mi miałeś dole odpalić tongue.gif.
Swoją drogą, o USING nie słyszałeś? Po co sobie zasyfiać zapytanie niepotrzebnymi warunkami?
  1. SELECT `gree`.*, `u`.`username` AS `user_name` FROM `greetings` AS `gree` LEFT JOIN `user` AS `u` ON USING(`user_id`) WHERE `gree`.`visible`=1

I jeśli już się czepiamy całości kodu to polecam UTF8 zamiast Latin2. Zużywa co prawda trochę więcej miejsca, ale jest uniwersalniejszy; nie będziesz mieć problemów, jeśli zechcesz dodać inne języki smile.gif.

Co do znajomych, to i tak Hpsi nie jest zły. Wczoraj od innego znajomego dostałem następujące życzenia urodzinowe:
Cytat
Happy Birthday, mofo!

Bywa; miło, że pamietał wink.gif
modern-web
Miałeś wczoraj urodziny?
  1. $birth_day = "18.04";
  2. if ($birth_day == true) {
  3. echo "Najlepszego!";
  4. } else {
  5. echo "Innym razem ;d";
  6. }
Bags_Bunny
Dziękuję, dwudzieste pierwsze. Bardzo ładne złożenie dwóch liczb pierwszych.
modern-web
smile.gif Dobra; nie zaśmiecajmy forum. Warn nikomu się nie uśmiecha tongue.gif
bercow
Widzę, ze się rozrosło wiec, wypada odpowiedzieć biggrin.gif

Cytat(Bags_Bunny @ 19.04.2011, 01:25:31 ) *
Ponadto, poczytaj o instrukcji JOIN, ponieważ niepotrzebnie wykonujesz ogrom zapytań, a wystarczy jedno.
Co więcej, nie polecam używania funkcji mysql_*, ponieważ są mocno przestarzałe. Zainteresuj się PDO lub ewentualnie mysqli.


Własnie czytam klik, ale narazie ciężkie to dla mnie, może masz/macie jakieś inne ciekawe linki dotyczące tego zagadnienia. Co do PDO i mysqli najciekawsze wydaje mi sie link 1 i link 2. Poczytam i postaram sie przyswoić. Stwierdzenie ewentualnie mysqli oznacza, ze lepdzym wyjsciem jest PDO ?

Cytat(modern-web @ 19.04.2011, 11:15:05 ) *
  1. require 'connection.php';
  2. connection();

Po co wywołujesz funkcję connection() po zaimportowaniu pliku połączenia z bazą? Nie lepiej wywołać tę funkcję w connection.php, a potem tylko używać include / require ?
Mi taki sposób wydaje się bardziej optymalny i przejrzysty - patrz powtarzalność kodu php. Przy dużych projektach ma to nieco większe znaczenie ;d


Faktycznie mozna, chociaz chcialem zrobic to troche inaczej, zabijac polaczenie, jezli adres nie ma postaci index.php?...., a np. ...pl/folder/file.php

Cytat(modern-web @ 19.04.2011, 11:37:36 ) *
Zauważyłem, że ostatnio coś zwiększyła się liczba tematów dot. podstaw. Szkoda, że mało kto przychodzący na forum przeczytał jakąś książkę albo tutorial tego języka.


Obecnie opieram sie na tym co pokaze google, PHP5. Bezpieczne programowanie. i PHP i MySQL. Tworzenie stron WWW. Vademecum profesjonalisty, a ostatnia pozycja jest dosyc stara ksiazka.


Cytat(Hpsi+ @ 19.04.2011, 11:45:36 ) *
... dla ludzi którzy są zieloni i chcą gotowe rozwiązania albo pytają o rzeczy typu jak używać if'a etc, powinno byc osobne subforum, no ale smile.gif...


Myślisz nad utworzeniem sub forum żłobek ? ;)


A tak btw. to w ramach czasu wolnego, przysposobienia wiedzy, i bez innych szczególnych powodów, zacząłem pisać własny CMS, dedykowany pod radia internetowe, wiec wyposażony w pozdrowienia, ramówkę, top listę, statystyki prezenterów et cetera
modern-web
PDO z zasady jest lepsze bo ma lepszy mechanizm obsługi błędów. MySQLi jest bardziej rozbudowaną wersją MySQL. Ogólnie lepiej od początku ucz się na PDO - łatwiej ogarnąć to za pierwszym razem wink.gif
bercow
I może jeszcze jedno, mając jakiś tam większy projekt (2k+ linijek) wiele podstron, warto wszystkie zapytania wywalić od osobnych plików i jedynie lądować je i odwoływać się do jakiś obiektów?
Hpsi
Cytat
I może jeszcze jedno, mając jakiś tam większy projekt (2k+ linijek) wiele podstron, warto wszystkie zapytania wywalić od osobnych plików i jedynie lądować je i odwoływać się do jakiś obiektów?

poczytaj sobie o wzrocach mva/mvc
ogolnie przydatne wg mnie jest rozdzielenie kodu na bibliteke / modul / wyswietlanie - bardzo wygodne w dalszej edycji
modern-web
Ogólnie większe serwisy stawia się na frameworkach (Zend Framework / Kohana / Symfony / Cake). Nie warto wymyślać koła na nowo wink.gif
bercow
I pewnie z nich skorzystam, ale jak zacząłem czytać o CakePHP to po paru stronach sobie darowałem, na razie czytam co znajdę o OOP w PHP. Musiał bym chyba znaleźć naprawdę dobry poradnik/książkę od A do Z. Większość poradników tłumaczy "jak pogrubić tekst, ale już nie jak podkreślić", są niby od podstaw, ale tłumaczone są banały (dla mnie), a części które nie rozumiem pomijane, chodź to chyba normalne, ciężko się pisze o czymś co jest dla autora oczywistością. Ale damy rade tongue.gif

Na razie pisze, aby działało, pomijając bezpieczeństwo (kod był by dla mnie zbyt nieczytelny), potem zacznę wszystko przekładać w klasy, i ew. zainteresuje się jakimś frameworkiem.

Jak ktoś by chciał zobaczyć, ew. jakieś uwagi to na razie wygląda to tak smile.gif
http://bercow.viphost.pl/radiocms/ strona user1/user1
http://bercow.viphost.pl/radiocms/radiocms.rar kod PHP+SQL
mat-bi
a czytałeś cookbook? - angielski, ale łatwo zrozumieć

tak samo, jak możesz przeczytać najnowszą książkę do SF 2, też po angielsku, ale jeśli chcesz być programistą to bez angielskiego to jak bez ręki
Hpsi
Cytat
Ogólnie większe serwisy stawia się na frameworkach (Zend Framework / Kohana / Symfony / Cake). Nie warto wymyślać koła na nowo

szczeże ja nie podzielam tego sposobu myslenia smile.gif ale może dlatego, że cały czas pracuje na "kole" ktore stworzłem smile.gif i jest przystosowane w 100% do moich celów ... i jeszcze jedno jeśli nie zna się php, wchodzic w frameworka to wg mnie sie nie nauczysz porzadnie programować - czasem trzeba coś stworzyć samemu by poczuć to - dopiero potem można przenieś się na frameworki - ale to moje zdanie
bercow
EN nie jest taki problemem, raczej natłok możliwości, i jak zacznę nawet coś, efekt będzie dopiero za miesiąc tongue.gif wiem wiem, inaczej się nie da, ale tak już człowiek ma, ze chciał by tutaj i teraz.

Piszesz o http://book.cakephp.org/ ?
Hpsi
Cytat
EN nie jest taki problemem, raczej natłok możliwości, i jak zacznę nawet coś, efekt będzie dopiero za miesiąc wiem wiem, inaczej się nie da, ale tak już człowiek ma, ze chciał by tutaj i teraz.

cóż mogę jedynie powiedzieć powodzenia w rozwoju i będę w miare możliwości obserować twoj rozwoj (poprzez czytanie twoich postów na forum - lecz oby ich było jak najmniej smile.gif ) i nie zniechęcaj się, powiem ci jedno siedzisz czasem miesiąc dwa, trzy nad projektem ale jak go skonczysz to naprawdę człowiek ma satysfakcje smile.gif
mat-bi
Tak. Z doświadczenia wiem, że takie książki są najlepsze.
modern-web
To rzecz oczywista... Ja od jakiegoś czasu robię niektóre aplikacje na Zend Framework. Chodzi o to, że PHP wydaje mi się już za nudny. Za każdym razem wymyślałem koło na nowo, a to było bez sensu. Miałem ambicje do napisania CMS lecz skończyło się na gadaniu, bo jak już wspominałem nikt z mojego otoczenia nie rozumie mojego toku myślenia i nie obraca się w tych samych dziedzinach biggrin.gif No cóż... życie ;p
bercow
Mam jeszcze Practical CakePHP Projects, od CakePHP, poczytam co tam o tym piszą, ale pewnie trochę mi zajmie jeszcze zanim do nich usiądę.
modern-web
http://helion.pl/ksiazki/php5-programowani...zola,php5sy.htm

Polecam tę książkę wink.gif Jak przeczytasz ze zrozumieniem to na prawdę sporo wyniesiesz...
bercow
jest jeszcze http://helion.pl/ksiazki/symfony-w-przykla...ajda,symfpr.htm

Teraz w sobotę będzie promocja, wiec można się skusić.

Cytat
23. kwietnia (sobota) będzie dniem szczególnym. W tym roku w

Światowy Dzień Książki cała oferta księgarni będzie 20% tańsza

- jak zwykle, a dodatkowo zamówienia składane w ten dzień premiujemy kuponami rabatowymi - jak wyżej.
mat-bi
Cytat(modern-web @ 19.04.2011, 20:12:25 ) *
http://helion.pl/ksiazki/php5-programowani...zola,php5sy.htm

Polecam tę książkę wink.gif Jak przeczytasz ze zrozumieniem to na prawdę sporo wyniesiesz...


A ja jej nie polecam. Przeczytałem całą i obecnie jest bardzo przestarzała, np. mówi o Sf 1.1 (!). Dlatego ja wolę te książki, co community "stworzyło"
bercow
I opinie na stronie helionu wspominając o "stosunku" czasu wydania do opisanych wersji. Ale każda książka ma pochlebne jak i negatywne opinie jaka dobra/zła by nie była.
Bags_Bunny
A propos wymyślania koła na nowo, to jest Manual PHP. Po co kupować książki i bawić się w jakieś kursy, które pokrywają tylko promile materiału, skoro jest wyśmienita dokumentacja ze wspaniałymi przykładami? Nic innego nie jest potrzebne.
Hpsi
Cytat
A propos wymyślania koła na nowo, to jest Manual PHP

i like it biggrin.gif
Cytat
Po co kupować książki i bawić się w jakieś kursy, które pokrywają tylko promile materiału, skoro jest wyśmienita dokumentacja ze wspaniałymi przykładami? Nic innego nie jest potrzebne.

dodam jeszcze, że w ksiązkach jest masa lania wody , i często zdarzają się błedy ... szczególnie w książkach wydawnictwa helion ....
bercow
W oficjalnym manualu są bardzo dobre arty, takie od A do Z, ale niektóre mam wrażenie jak by były pisane od N do Z, pomijając aspekt A-M.

Czytam spis treści Symfony w przykładach, interesujące są takie nazwy jak Przykad 7.2. Gady (publikowanie na serwerze NetArt) czy Krok 6. Zmie domen projektu na gady.twojadomena.nazwa.pl, książka może okazać reklama nazwy. Fakt, ze helion nie jest idealny, ale jako jedyny tłumaczy i wydaje takie ilość informatycznych publikacji, np. Apress'a którego własnie po EN trochę się naczytałem, jak i polskich autorów.
Bags_Bunny
Zdarza się. Mówisz o polskim czy angielskim manualu?
bercow
oczywiście o en, polskie tłumaczenie wygląda, wystarczy zobaczyć stopień przetłumaczenia z PDO i mysqli które podałeś

Cytat
Typy zasobów

To rozszerzenie nie posiada żadnych rodzajów zasobów.
Bags_Bunny
Ok, chciałem się tylko upewnić.
modern-web
Cytat(mat-bi @ 19.04.2011, 20:32:02 ) *
A ja jej nie polecam. Przeczytałem całą i obecnie jest bardzo przestarzała, np. mówi o Sf 1.1 (!). Dlatego ja wolę te książki, co community "stworzyło"

Czasem trzeba nauczyć się starych praktyk zanim ogarnie się najnowsze... Rozumiem, że niektórzy chcieliby pójść do sklepu, wydać te 50zł na książkę pełną przykładów, wrócić do domu, włączyć kompa i zacząć przepisywać przykłady z owej dokumentacji - i patrzcie jakie to proste... a jak wersje by się zgadzały to już w ogóle; nic tylko kopiować i sprzedawać... Na szczęście nie ma tak dobrze wink.gif
Chociaż w pewnym sensie macie rację - w książkach leje się wodę równo, a często zdarzają się błędy (kto wie... może celowo ;d).
Temat sporny i głęboki jak studnia ale to nie zmienia faktu, że manual to podstawa smile.gif
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.