Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Jak napisać coś takiego
Forum PHP.pl > Forum > Przedszkole
marek23pl
Witam.
Jestem prawie całkiem zielony z PHP i dlatego proszę o pomoc. Chciałbym się czegoś nauczyc, dlatego piszę ten skrypt samodzielnie i nie chce zlecać nikomu wykonania. Potrzebuje jednak pomocy bo stojęw mniejscu.

Chcę w serwisie ogłoszeniowym wprowadzić 5 ostatnio dodanych ogłoszeń w formie zdjęcie + nazwa usera

Mam tabelę ot_ogloszenia i chciałbym żeby było wyświetlanych 5 ostatnich id i rekordy z kolumn: nazwa_uzytkownika oraz zdjecie_1 gdzie są podane nazwy plików.

Proszę o pomoc jak napisac takie zapytanie i wyśiwetlic poprawnie.
Cysiaczek
  1. SELECT * FROM tabela ORDER BY creation_date LIMIT 5


Wyświetlić nie umiesz? To najpierw kurs html i php snitch.gif
marek23pl
Cytat(Cysiaczek @ 20.02.2008, 17:04:39 ) *
  1. SELECT * FROM tabela ORDER BY creation_date LIMIT 5


Wyświetlić nie umiesz? To najpierw kurs html i php snitch.gif


MAm coś takiego

<?php

$wykonaj = mysql_query(SELECT * FROM ot_ogloszenia ORDER BY creation_date LIMIT 5);

while($wiersz = mysql_fetch_array($wykonaj))
{
print "Pole pierwsze".$wiersz['id']."<br />";
print "Pole drugie".$wiersz['zdjecie_1']."<br />";
print "Pole trzecie".$wiersz['nazwa_uzytkownika']."<br />";
}
?>

i wyskakuje mi bład w wierszy ze zmienna $wykonaj
Parse error: syntax error, unexpected T_VARIABLE in /home/zegarek/ftp/index2.php on line 6
bartg
Kod
$wykonaj = mysql_query("SELECT * FROM ot_ogloszenia ORDER BY creation_date LIMIT 5");
marek23pl
Cytat(bartg @ 20.02.2008, 18:01:49 ) *
Kod
$wykonaj = mysql_query("SELECT * FROM ot_ogloszenia ORDER BY creation_date LIMIT 5");


Poprawiłem, ale dalej ten sam komunikat wyświetla
bartg
Linia 6 to u ciebie jaka linia?
bartg
Mhh, ja tu nie widzę błędu. Jaki błąd ci wyświetla po wprowadzeniu poprawek? Zapodaj jeszcze linie 5
marek23pl
Cytat(bartg @ 20.02.2008, 19:06:57 ) *
Mhh, ja tu nie widzę błędu. Jaki błąd ci wyświetla po wprowadzeniu poprawek? Zapodaj jeszcze linie 5


już poprawiłem, to był brak średnika. Teraz mam nowy błąd.

  1. <?php
  2. mysql_connect('.........
  3. $wykonaj = mysql_query("SELECT * FROM ot_ogloszenia ORDER BY creation_date LIMIT 3");
  4. $wiersz = mysql_fetch_array($wykonaj);
  5. while($wiersz)
  6. {
  7. print "Pole pierwsze".$wiersz['id']."<br />";
  8. print "Pole drugie".$wiersz['zdjecie_1']."<br />";
  9. print "Pole trzecie".$wiersz['nazwa_uzytkownika]."<br />";
  10. }
  11. ?>


i wyskakuje:
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /home/zegarek/ftp/index2.php on line 4
nowotny
Cytat(marek23pl @ 20.02.2008, 19:17:18 ) *
i wyskakuje:
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /home/zegarek/ftp/index2.php on line 4

To oznacza tyle że zapytanie nie zwróciło żadnych wyników... sprawdź czy na pewno dobrze zapytanie napisałeś, czy nazwy tabel i pól się zgadzają, czy masz w tabeli jakiekolwiek dane...

Poza tym, tak jak masz tutaj to ci nie będzie działać:
  1. <?php
  2. $wiersz = mysql_fetch_array($wykonaj);
  3. while($wiersz)
  4. {
  5. ?>


Musi być tak:
  1. <?php
  2. while($wiersz = mysql_fetch_array($wykonaj))
  3. {
  4. ?>
marek23pl
Cytat(nowotny @ 20.02.2008, 19:26:37 ) *
To oznacza tyle że zapytanie nie zwróciło żadnych wyników... sprawdź czy na pewno dobrze zapytanie napisałeś, czy nazwy tabel i pól się zgadzają, czy masz w tabeli jakiekolwiek dane...


Poprawiłem. Wybrałem baze danych i poszło dalej. Teraz wygłada tak:
  1. <?php
  2. mysql_connect('.......................
  3. mysql_select_db('zegarek');
  4. $wykonaj = mysql_query("SELECT * FROM ot_ogloszenia ORDER BY creation_date LIMIT 3");
  5. while($wiersz = mysql_fetch_array($wykonaj))
  6. {
  7. print "Pole pierwsze".$wiersz['id']."<br />";
  8. print "Pole drugie".$wiersz['zdjecie_1']."<br />";
  9. print "Pole trzecie".$wiersz['nazwa_uzytkownika]."<br />";
  10. }
  11. ?>


Teraz wyskakuje inny błąd, jakieś niewłaściwe zakończenie:
Parse error: syntax error, unexpected $end in /home/zegarek/ftp/index2.php on line 11 </br ></br ></br >
nowotny
Cudzysłowa zapomniałeś... takie błędy już sam powinieneś wyłapywać... :/
  1. <?php
  2. $wiersz['nazwa_uzytkownika']
  3. ?>
marek23pl
Cytat(nowotny @ 20.02.2008, 20:26:03 ) *
Cudzysłowa zapomniałeś... takie błędy już sam powinieneś wyłapywać... :/
  1. <?php
  2. $wiersz['nazwa_uzytkownika']
  3. ?>


dzieki, poprawiłem, ale teraz nowy błąd:
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /home/zegarek/ftp/index2.php on line 5


  1. <?php
  2. mysql_connect(.......................
  3. mysql_select_db('zegarek');
  4. $wykonaj = mysql_query("SELECT * FROM ot_ogloszenia ORDER BY creation_date LIMIT 3");
  5. while ($wiersz = mysql_fetch_array($wykonaj))
  6. {
  7. print "Pole pierwsze".$wiersz['id']."<br />";
  8. print "Pole drugie".$wiersz['nazwa_uzytkownika']."<br />";
  9. print "Pole trzecie".$wiersz['zdjecie_1']."<br />";
  10. }
  11. ?>
nowotny
Już raz ci napisałem co ten błąd oznacza... kombinuj...
marek23pl
Dzięki wszystkim za pomoc.

Przekonstruowałem całkowice ten skrypt i mam już pewne pozytywne rezultaty, tzn. pobiera i wyświetla dane. Pracuje już nad formatowaniem wyświetlonych danych i po zakończeniu pprzedstawię co wymodziłem.
W chwili obecnej problem mam z sortowaniem, gdyż jakakolwiek próba umieszczenia SORT BY kończy sie błędem. Ale pewnie i do tego dojdę.
Pozdrawiam
luniak
SORT BY kończy się błedem bo nie ma tekiego polecenia smile.gif

jest za to :

ORDER BY nazwa

gdzie nazwa jest nazwą pola według kórego ma sortowwać

możesz dodać także na koncu
DESC albo ASC co powoduje sortowanie:
DESC od największego do najmniejszego
ASC na odwrót
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.