Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

2 Stron V   1 2 >  
Reply to this topicStart new topic
> Upload plikow (pomoc)
szymonk237231
post
Post #1





Grupa: Zarejestrowani
Postów: 102
Pomógł: 0
Dołączył: 8.04.2011

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


Witam!
Robię upload plików (przerabiam system rejestracji i logowania na upload).
Działa to na takiej zasadzie, że ten kto ma konto i sie zaloguje - może dodawać pliki do serwisu.
Zrobiłem tak, że gdy wrzuca się plik to do mysql dodaje się nazwa pliku, waga i jaki user go wrzucił.
Pytanie do was: Jak zrobić, żeby później w profilu danego usera wyświetlać jego dodane pliki??
Dam kod (kod pochodzi ze strony kess).
Oczywiście podajcie mi jak ma wyglądać zapytanie do bazy danych, z resztą powinienem sobie chyba dać rade.
Za pomoc dzieki !

  1. <?php
  2. /*polaczylem sie*/
  3.  
  4.  
  5. $wynik = mysql_query("SELECT * FROM upload")
  6. or die('Błąd zapytania');
  7.  
  8.  
  9.  
  10. if(mysql_num_rows($wynik) > 0) {
  11.  
  12. echo "<table cellpadding=\"2\" border=1>";
  13. while($r = mysql_fetch_assoc($wynik)) {
  14. echo "<tr>";
  15. echo "<td>".$r['nazwa']."</td>";
  16. echo "<td>".$r['sciezka']."</td>";
  17. echo "</tr>";
  18. }
  19. echo "</table>";
  20. }
  21.  
  22. ?>


Ten post edytował szymonk237231 14.03.2012, 17:51:17
Go to the top of the page
+Quote Post
pedro84
post
Post #2





Grupa: Nieautoryzowani
Postów: 2 249
Pomógł: 305
Dołączył: 2.10.2006

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


SELECT + WHERE.


--------------------
Google knows the answer...
Go to the top of the page
+Quote Post
szymonk237231
post
Post #3





Grupa: Zarejestrowani
Postów: 102
Pomógł: 0
Dołączył: 8.04.2011

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


No to zapytanie mam:
  1. $wynik = mysql_query("SELECT * FROM upload WHERE uzytkownik='$uzytkownik'")
  2. OR die('Błąd zapytania');
  3.  
  4.  


I jak zrobić if'a ?
żeby mi tylko wyświetlało pliki danego usera?
Go to the top of the page
+Quote Post
pedro84
post
Post #4





Grupa: Nieautoryzowani
Postów: 2 249
Pomógł: 305
Dołączył: 2.10.2006

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


Jakiego ifa? Przecież za pomocą WHERE pobierasz pliki tylko określonego użytkownika.


--------------------
Google knows the answer...
Go to the top of the page
+Quote Post
szymonk237231
post
Post #5





Grupa: Zarejestrowani
Postów: 102
Pomógł: 0
Dołączył: 8.04.2011

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


Emm, może i mówisz dobrze. Sorka ale dziś nic nie ogarniam a chce to skończyć jak najszybciej.
Czyli zapytanie dobre robie?
Czy coś źle?
Od razu napisze (nie wiem czy to jest od razu normalne czy nie), ale na sesjach działam.
Nie wiem czy to w czymś pomoże

Bo narazie mi nie działa.
Zapytanie wygląda tak:
  1. $wynik = mysql_query("SELECT * FROM upload WHERE uzytkownik")


Gdy wejde w link: Zobacz pliki, to maja mi się wyświetlić pliki tylko danego usera.
Jak takie cuś skombinować?
Prosiłbym bardzo o pomoc. Dzięki wink.gif
Go to the top of the page
+Quote Post
jackraymund
post
Post #6





Grupa: Zarejestrowani
Postów: 217
Pomógł: 21
Dołączył: 10.06.2011
Skąd: Głogów

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


zapisuj w mysql kto wysylal i jaki plik
wtedy tylko zrobisz select * where nick = (nick)
tak jak tutaj
$wynik = mysql_query("SELECT * FROM upload WHERE uzytkownik")
a teraz tylko wywalenie rekordów

Ten post edytował jackraymund 14.03.2012, 18:16:38


--------------------
Wykonuje zlecenia na pobieranie danych ze stron i różne boty.
Go to the top of the page
+Quote Post
szymonk237231
post
Post #7





Grupa: Zarejestrowani
Postów: 102
Pomógł: 0
Dołączył: 8.04.2011

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


Okej dzięki, postaram się tak zrobić. jak nie to zaglądaj tu od czasu do czasu smile.gif
Dzięki, pozdrawiam smile.gif
Go to the top of the page
+Quote Post
pedro84
post
Post #8





Grupa: Nieautoryzowani
Postów: 2 249
Pomógł: 305
Dołączył: 2.10.2006

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


Właśnie miałem o to pytać: czy Ty w ogóle dodajesz id użytkownika do tej tabeli przy uploadzie?


--------------------
Google knows the answer...
Go to the top of the page
+Quote Post
szymonk237231
post
Post #9





Grupa: Zarejestrowani
Postów: 102
Pomógł: 0
Dołączył: 8.04.2011

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


No to właśnie dupa, nie wiem co źle robie, ale zapytanie mam takie jak mi dałeś. A rekordów nie wywala. ;|
Go to the top of the page
+Quote Post
pedro84
post
Post #10





Grupa: Nieautoryzowani
Postów: 2 249
Pomógł: 305
Dołączył: 2.10.2006

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


A ID usera masz w tabeli?


--------------------
Google knows the answer...
Go to the top of the page
+Quote Post
szymonk237231
post
Post #11





Grupa: Zarejestrowani
Postów: 102
Pomógł: 0
Dołączył: 8.04.2011

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


Mój kod wygląda tak:
  1. <?php
  2. session_start(); // rozpoczęcie sesji
  3. ?>
  4.  
  5. <?php include('header.php'); ?>
  6.  
  7. <h2>&raquo; Upload<br /></h2>
  8. <div class="content" align="center">
  9. <?php
  10. include 'inc/db.php'; // połączenie się z bazą danych
  11.  
  12. /* zapytanie do konkretnej tabeli */
  13. $wynik = mysql_query("SELECT * FROM upload WHERE uzytkownik")
  14. or die('Błąd zapytania');
  15.  
  16. /*
  17. wyświetlamy wyniki, sprawdzamy,
  18. czy zapytanie zwróciło wartość większą od 0
  19. */
  20. if(mysql_num_rows($wynik) > 0) {
  21.  
  22.  
  23.  
  24. echo "<table cellpadding=\"2\" border=0>";
  25. while($r = mysql_fetch_assoc($wynik)) {
  26. echo "<tr>";
  27. echo "<td>".$r['nazwa']."</td>";
  28. echo "<td>".$r['sciezka']."</td>";
  29. echo "</tr>";
  30. }
  31. echo "</table>";
  32. }
  33.  
  34. ?>

Prawie wszystko z neta. Jak to rpzerobić by wyświetlało mi pliki DANEGO USERA, z UPLOAD?

ID usera nie mam, ale każdy dodany plik ma swoje ID
Go to the top of the page
+Quote Post
pedro84
post
Post #12





Grupa: Nieautoryzowani
Postów: 2 249
Pomógł: 305
Dołączył: 2.10.2006

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


Zaraz, zaraz. Ale co to jest WHERE uzytkownik?

  1. SELECT * FROM `files` WHERE `kolumna`='wartosc'


---

No to najpierw musisz jakoś te pliki rozróżniać, logiczne, nie?

Ten post edytował pedro84 14.03.2012, 18:26:04


--------------------
Google knows the answer...
Go to the top of the page
+Quote Post
szymonk237231
post
Post #13





Grupa: Zarejestrowani
Postów: 102
Pomógł: 0
Dołączył: 8.04.2011

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


W sensie, że po dodaniu pliku do tabeli UPLOAD zapisuje się ID pliku, nazwa, ścieżka i kto dodał
Go to the top of the page
+Quote Post
pedro84
post
Post #14





Grupa: Nieautoryzowani
Postów: 2 249
Pomógł: 305
Dołączył: 2.10.2006

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


To się zdecyduj, bo raz mówisz raz, a drugi raz inaczej...

Pokaż tę tabelę z przykładowymi danymi.


--------------------
Google knows the answer...
Go to the top of the page
+Quote Post
szymonk237231
post
Post #15





Grupa: Zarejestrowani
Postów: 102
Pomógł: 0
Dołączył: 8.04.2011

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


Kurcze, nie wiem czy dobrze robie, ale zapytanie mam:
  1. $wynik = mysql_query("SELECT * FROM `upload` WHERE `uzytkownik`='$uzytkownik'")


przed zapytaniem zrobiłem:
  1. $uzytkownik = $_SESSION['login'];


Kurde, wiem że mieszam pewnie. sad.gif
Nie wiem jak już to robić.
(można powiedzieć , że początki z mysql + php)

Struktura tabeli wygląda tak:
  1. CREATE TABLE `upload` (
  2. `id` int(2) NOT NULL AUTO_INCREMENT,
  3. `nazwa` varchar(50) NOT NULL,
  4. `sciezka` varchar(50) NOT NULL,
  5. `rozmiar` varchar(50) NOT NULL,
  6. `uzytkownik` varchar(50) NOT NULL,
  7. `opis` varchar(100) NOT NULL,
  8. PRIMARY KEY (`id`)
  9. ) ENGINE=MyISAM DEFAULT CHARSET=latin2 AUTO_INCREMENT=2 ;


A tak mam dodany jeden "plik"
  1. INSERT INTO `upload` (`id`, `nazwa`, `sciezka`, `rozmiar`, `uzytkownik`, `opis`) VALUES
  2. (1, 'Siema', 'Zima.jpg', '105542', 'szymonk237231', 'Opis pliku');
Go to the top of the page
+Quote Post
Niktoś
post
Post #16





Grupa: Zarejestrowani
Postów: 1 195
Pomógł: 109
Dołączył: 3.11.2011

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


A daj jeszcze za
Cytat
$uzytkownik = $_SESSION['login'];
echo $uzytkownik;

Może sesja jest pusta.
Poza tym:
) ENGINE=MyISAM DEFAULT CHARSET=latin2 AUTO_INCREMENT=2 ;

Naprawdę chcesz mieć numeracje 2,4,6,8 zamiast 1,2,3,4?
Go to the top of the page
+Quote Post
szymonk237231
post
Post #17





Grupa: Zarejestrowani
Postów: 102
Pomógł: 0
Dołączył: 8.04.2011

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


co do :
  1. $uzytkownik = $_SESSION['login'];
  2. echo $uzytkownik;

to mi wyswietla nazwe uzytkownika, na jakieog jestem zalogowany ;]

Więc jak można to wszystko skontruować?
Go to the top of the page
+Quote Post
pedro84
post
Post #18





Grupa: Nieautoryzowani
Postów: 2 249
Pomógł: 305
Dołączył: 2.10.2006

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


Cytat(Niktoś @ 14.03.2012, 18:43:22 ) *
Poza tym:
) ENGINE=MyISAM DEFAULT CHARSET=latin2 AUTO_INCREMENT=2 ;

Naprawdę chcesz mieć numeracje 2,4,6,8 zamiast 1,2,3,4?

O czym Ty mówisz tak BTW?'

@szymonk - Ja bym jednak poszedł w normalizację i przechowywanie ID usera. A zobacz jeszcze jakie zapytania idą?

Ten post edytował pedro84 14.03.2012, 18:48:27


--------------------
Google knows the answer...
Go to the top of the page
+Quote Post
szymonk237231
post
Post #19





Grupa: Zarejestrowani
Postów: 102
Pomógł: 0
Dołączył: 8.04.2011

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


Nie rozumiem o co chodzi.
Wybacz.


Mój kod wrzucania plików wygląda tak:
  1. <?php
  2. session_start(); // rozpoczęcie sesji
  3. ?>
  4.  
  5. <?php include('header.php'); ?>
  6.  
  7. <h2>&raquo; Upload<br /></h2>
  8. <div class="content" align="center">
  9. <form enctype="multipart/form-data" action="upload.php" method="POST">
  10. <table>
  11. <tr>
  12. <td>
  13. Nazwa
  14. </td>
  15. <td>
  16. <input type="text" name="nazwa_p" size="10">
  17. </td>
  18. </tr>
  19. <tr>
  20. <td>
  21. Opis<br>pliku
  22. </td>
  23. <td>
  24. <textarea name="opis">Opis pliku</textarea>
  25. </td>
  26. </tr>
  27. <tr>
  28. <td colspan="2">
  29. <input name="plik" type="file">
  30. </td>
  31. </tr>
  32. </table>
  33.  
  34. <input type="submit" value="Wgraj"> <br>
  35. </form>
  36.  
  37.  
  38.  
  39.  
  40. <?
  41. include 'inc/db.php'; // połączenie się z bazą danych
  42. $nazwa_p = $_POST['nazwa_p'];
  43. $opis = $_POST['opis'];
  44. $u_plik = $_FILES['plik']['tmp_name'];
  45. $u_nazwa = $_FILES['plik']['name'];
  46. $u_rozmiar = $_FILES['plik']['size'];
  47. $u_max_rozmiar = 2*1024*1024; //Maksymalny rozmiar pliku dozwolony do wgrania a bajtach - w przyk?adzie 2MB
  48. $uzytkownik = $_SESSION['login'];
  49. if($u_rozmiar > $u_max_rozmiar)
  50.  
  51.  
  52.  
  53. {
  54.  
  55. echo "Plik jest zbyt duzy!";
  56. } elseif(is_uploaded_file($u_plik)) {
  57. move_uploaded_file($u_plik, "upload/$u_nazwa");
  58. echo "Plik: <b>$u_nazwa</b> ($u_rozmiar B) zostal wgrany!"; }
  59.  
  60. if($u_plik) {
  61. $ins = mysql_query("INSERT INTO upload SET
  62. nazwa='$nazwa_p', sciezka='$u_nazwa', rozmiar='$u_rozmiar', uzytkownik='$uzytkownik', opis='$opis'");
  63. }
  64.  
  65.  
  66.  
  67.  
  68. ?>
  69.  
  70.  
  71.  
  72.  
  73.  


I to wszystko leci do mysql ;]
Go to the top of the page
+Quote Post
Niktoś
post
Post #20





Grupa: Zarejestrowani
Postów: 1 195
Pomógł: 109
Dołączył: 3.11.2011

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


Cytat
To start with an AUTO_INCREMENT value other than 1, you can set that value with CREATE TABLE or ALTER TABLE, like this:

mysql> ALTER TABLE tbl AUTO_INCREMENT = 100;

To cytat z MYSQL ,u Kolegi jest AUTO_INCREMENT = 2,więc numeracja będzie zaczynała się od cyfry 2 a następny rekord będzie 4,nie wiem może się mylę.
A sprawdzałeś w phpMyAdmin czy dane w ogóle się insertowały?

Ten post edytował Niktoś 14.03.2012, 19:06:33
Go to the top of the page
+Quote Post

2 Stron V   1 2 >
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 Aktualny czas: 20.08.2025 - 04:29