Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> dział download problem
daro82
post
Post #1





Grupa: Zarejestrowani
Postów: 6
Pomógł: 0
Dołączył: 30.07.2006

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


Witam jestem zupelnie zielony dopiero zaczynamy przygode z php i mysql mam prosbe o pomoc musze stworzyc baze w mysql plikow z rozszerzeniem doc i pdf zeby mozna je było ściągnać ze strony. Czekam na podpowiedzi jakies skrypty lub linki do artykułów na ten temat z góry dziekuje (IMG:http://forum.php.pl/style_emoticons/default/aarambo.gif)
Go to the top of the page
+Quote Post
NetJaro
post
Post #2





Grupa: Zarejestrowani
Postów: 475
Pomógł: 0
Dołączył: 1.04.2005
Skąd: Warszawa

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


Tworzysz tabele z polami: id, nazwa, plik. Wypełniasz, np.:
1 | Cesja domeny | cesja_domeny.doc

Potem przez php wykonujesz zapytanie czytające dane z tej bazy i w pętki while (której użyjesz (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) ) dajesz odpowiednie echo (tzn. wyświetlasz link, <a href [..]).
Go to the top of the page
+Quote Post
daro82
post
Post #3





Grupa: Zarejestrowani
Postów: 6
Pomógł: 0
Dołączył: 30.07.2006

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


Cytat(NetJaro @ 30.07.2006, 16:38 ) *
Tworzysz tabele z polami: id, nazwa, plik. Wypełniasz, np.:
1 | Cesja domeny | cesja_domeny.doc

Potem przez php wykonujesz zapytanie czytające dane z tej bazy i w pętki while (której użyjesz (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) ) dajesz odpowiednie echo (tzn. wyświetlasz link, <a href [..]).

Pewnie będę pytał o banlna sprawy ale czy pole plik ma być zwykłym tesktowym polemgdzie bedize wpisana nazwa pliku z rozszeżeniem z palca?

I jeszcze mam pyatnko do tej 2 cześci jak mam uzyc tej petli while jeżeli mogł bys mi pomoc.
generelnie chodzi mi o to zeby uzytkownik mogł wybrac sobie z 1 okna 1 z baz np kaset wideo i wtedy zeby mu sie wyswietlily linki spisow do pobrania a gdy jest jeden zeby wyskoczylo okno do pobrania(jak mam to zrobic)
z góry dzieki i tak juz mi duzo pomogleś
Go to the top of the page
+Quote Post
=kokos=
post
Post #4





Grupa: Zarejestrowani
Postów: 114
Pomógł: 0
Dołączył: 6.08.2006

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


Zakładając że baze już masz, dajmy na to o nazwie wideo, a wniej tabelę dajmy na to o nazwie filmy. Pliki pdf czy doc przechowujesz w katalogu o nazwie download.

Struktura tabeli filmy

ID | nazwa | plik

Pole plik to zwykłe pole tekstowe i tam wpisujesz nazwę pliku wraz z rozszerzeniem.

  1. <?php
  2. //dane do polaczenia MySQL
  3. //nazwa serwera, standardowo localhost
  4. $serwer = 'localhost';
  5. //uzytkownik bazy danych
  6. $uzytkownik = 'root'; //twoja nazwa uzutkownika
  7. //haslo uzytkownika bazy danych
  8. $haslo = ''; //twoje hasło
  9. //nazwa dazy danych w ktorej beda zainstalowane tabele
  10. $baza = 'wideo';
  11.  
  12. //funkcja laczaca z baza
  13. if(!@mysql_connect($serwer, $uzytkownik, $haslo)) die('Złe dane do połaczenia!');
  14. //wybranie bazy
  15.  
  16. //zapytanie
  17.  
  18. $wynik = mysql_query ('SELECT * FROM filmy;') or
  19. die ('błąd w pytaniu');
  20.  
  21. //wyświetlenie wyniku
  22. echo '<table>';
  23. while ($wiersz = mysql_fetch_assoc ($wynik))
  24. {
  25. echo '<tr><td>';
  26. echo $wiersz['nazwa'];
  27. echo '<td>';
  28. echo '<a href="download/'.$wiersz['plik'].'">'.$wiersz['plik'].'</a>';
  29. }
  30. echo '</table>';
  31. ?>


Ten post edytował =kokos= 7.08.2006, 23:31:14
Go to the top of the page
+Quote Post
daro82
post
Post #5





Grupa: Zarejestrowani
Postów: 6
Pomógł: 0
Dołączył: 30.07.2006

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


Cytat(=kokos= @ 8.08.2006, 00:22 ) *
Zakładając że baze już masz, dajmy na to o nazwie wideo, a wniej tabelę dajmy na to o nazwie filmy. Pliki pdf czy doc przechowujesz w katalogu o nazwie download.

Struktura tabeli filmy

ID | nazwa | plik

Pole plik to zwykłe pole tekstowe i tam wpisujesz nazwę pliku wraz z rozszerzeniem.

  1. <?php
  2. //dane do polaczenia MySQL
  3. //nazwa serwera, standardowo localhost
  4. $serwer = 'localhost';
  5. //uzytkownik bazy danych
  6. $uzytkownik = 'root'; //twoja nazwa uzutkownika
  7. //haslo uzytkownika bazy danych
  8. $haslo = ''; //twoje hasło
  9. //nazwa dazy danych w ktorej beda zainstalowane tabele
  10. $baza = 'wideo';
  11.  
  12. //funkcja laczaca z baza
  13. if(!@mysql_connect($serwer, $uzytkownik, $haslo)) die('Złe dane do połaczenia!');
  14. //wybranie bazy
  15.  
  16. //zapytanie
  17.  
  18. $wynik = mysql_query ('SELECT * FROM filmy;') or
  19. die ('błąd w pytaniu');
  20.  
  21. //wyświetlenie wyniku
  22. echo '<table>';
  23. while ($wiersz = mysql_fetch_assoc ($wynik))
  24. {
  25. echo '<tr><td>';
  26. echo $wiersz['nazwa'];
  27. echo '<td>';
  28. echo '<a href="download/'.$wiersz['plik'].'">'.$wiersz['plik'].'</a>';
  29. }
  30. echo '</table>';
  31. ?>



masz racje dziala te twoje roziwazanie ale nie jescze tak jak potrzeba gdyz wysiwetlaja sie dane tylko z 1 tabeli a ja mam 3 tabele a chcicalbym zrobic tak zebym mogl z okna wybrac sobie nazwe tabeli np flimy albo bajki wtedy w oknie obok odpowiednio pokazywaly by sie filmy albo bajki i po wyborze tytulu zebym mogl je sciagnac czy masz moze jakis pomysl na takie roziwazanie? Z góry dzieki i sorry za klopot :roll2:
Go to the top of the page
+Quote Post
=kokos=
post
Post #6





Grupa: Zarejestrowani
Postów: 114
Pomógł: 0
Dołączył: 6.08.2006

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


można to zrobić na wiele sposobów, ja bym chyba wybrał jednak formularzyk z polami <select> i tam wstawił nazwy tabel. Później stworzył takie o to zapytanie

  1. <?php
  2. $sql = ("SELECT * FROM '".$wybor['POST']."'"); // gdzie wybór to nazwa formularza
  3. ?>


a później po wysłaniu formularza wyświetlił to co zostało zaznaczone

Ten post edytował =kokos= 11.08.2006, 20:12:56
Go to the top of the page
+Quote Post
daro82
post
Post #7





Grupa: Zarejestrowani
Postów: 6
Pomógł: 0
Dołączył: 30.07.2006

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


Cytat(=kokos= @ 11.08.2006, 20:15 ) *
można to zrobić na wiele sposobów, ja bym chyba wybrał jednak formularzyk z polami <select> i tam wstawił nazwy tabel. Później stworzył takie o to zapytanie

  1. <?php
  2. $sql = ("SELECT * FROM '".$wybor['POST']."'"); // gdzie wybór to nazwa formularza
  3. ?>


a później po wysłaniu formularza wyświetlił to co zostało zaznaczone


Wiem ze zadaje banalne pytania ale gdzie mam wstawic tego twojego selcta zeby mi tak dzialalo? mam modyfikowac ten wyzej czy stworzyc cos zupelnie innego z gory dzieki :roll2:
Go to the top of the page
+Quote Post
=kokos=
post
Post #8





Grupa: Zarejestrowani
Postów: 114
Pomógł: 0
Dołączył: 6.08.2006

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


Możesz zmodyfikować ten co podałem Tobie wyżej (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)

  1. <?php
  2. require('polacz.php');
  3.  
  4. $sql = mysql_query("show tables;");
  5.  
  6. $ile = mysql_num_rows($sql);
  7.  
  8. echo '<br />';
  9.  
  10. echo '<form method="post">';
  11. echo '<select name="wybor">';
  12.  
  13. for($i=0; $i <$ile; $i++)
  14. {
  15. $wiersz = mysql_fetch_assoc($sql);
  16. echo '<option>'.$wiersz['Tables_in_baza'].'</option>'; //tutaj podajesz nazwę bazy. Tables_in_nazwa.bazy
  17. }
  18. echo '</select>';
  19. echo '<input type=submit value=Pokaż>';
  20. echo '</form>';
  21.  
  22. if($_POST['wybor']) 
  23. {
  24.  
  25.  $wynik = mysql_query ('SELECT * FROM '.$_POST['wybor'].';') or
  26. die ('błąd w pytaniu');
  27.  
  28. //wyświetlenie wyniku
  29.  echo '<table border=1>';
  30.  while ($wiersz = mysql_fetch_assoc ($wynik))
  31.  {
  32.  echo '<tr><td>';
  33.  echo $wiersz['nazwa'];
  34.  echo '<td>';
  35.  echo '<a href="download/'.$wiersz['plik'].'">'.$wiersz['plik'].'</a>';
  36.  }
  37.  echo '</table>';
  38.  
  39. }
  40. else {}
  41. ?>


Ten post edytował =kokos= 11.08.2006, 22:49:39
Go to the top of the page
+Quote Post
daro82
post
Post #9





Grupa: Zarejestrowani
Postów: 6
Pomógł: 0
Dołączył: 30.07.2006

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


Cytat(=kokos= @ 11.08.2006, 23:43 ) *
Możesz zmodyfikować ten co podałem Tobie wyżej (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)

  1. <?php
  2. require('polacz.php');
  3.  
  4. $sql = mysql_query("show tables;");
  5.  
  6. $ile = mysql_num_rows($sql);
  7.  
  8. echo '<br />';
  9.  
  10. echo '<form method="post">';
  11. echo '<select name="wybor">';
  12.  
  13. for($i=0; $i <$ile; $i++)
  14. {
  15. $wiersz = mysql_fetch_assoc($sql);
  16. echo '<option>'.$wiersz['Tables_in_baza'].'</option>'; //tutaj podajesz nazwę bazy. Tables_in_nazwa.bazy
  17. }
  18. echo '</select>';
  19. echo '<input type=submit value=Pokaż>';
  20. echo '</form>';
  21.  
  22. if($_POST['wybor']) 
  23. {
  24.  
  25.  $wynik = mysql_query ('SELECT * FROM '.$_POST['wybor'].';') or
  26. die ('błąd w pytaniu');
  27.  
  28. //wyświetlenie wyniku
  29.  echo '<table border=1>';
  30.  while ($wiersz = mysql_fetch_assoc ($wynik))
  31.  {
  32.  echo '<tr><td>';
  33.  echo $wiersz['nazwa'];
  34.  echo '<td>';
  35.  echo '<a href="download/'.$wiersz['plik'].'">'.$wiersz['plik'].'</a>';
  36.  }
  37.  echo '</table>';
  38.  
  39. }
  40. else {}
  41. ?>



kolejne banalne pytanie ale tak to juz jest ze mna ten skrypt mam urzyc w calosci zamista tamtych czy go wklejc w konkretne miejsce napisz mi co i jak bo jestem zielony ale z gory dziki mas zu mnie piwo podaj adres to ci wysle:) jak zadziala:)
Go to the top of the page
+Quote Post
=kokos=
post
Post #10





Grupa: Zarejestrowani
Postów: 114
Pomógł: 0
Dołączył: 6.08.2006

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


Ten skrypt jest już przerobiony i możesz go dać zamiast tamtego (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) powinien działać.

P.S. Pamiętaj, że ten skrypt wyświetli Ci w polach option wszystkie tabele jakie masz w bazie. Więc jęsli będziesz miał więcej niż te które chcesz wyświetlić też one tam się pojawią (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)

P.S.2 Piwo hmmm (IMG:http://forum.php.pl/style_emoticons/default/cool.gif) (IMG:http://forum.php.pl/style_emoticons/default/laugh.gif)

Aha jeszcze jedno. Linijka
  1. <?php
  2. reqire('polacz.php')
  3. ?>
jest tutaj zamiast tego całego łączenia się z serverem mysql i bazą. Stwórz sobie plik o nazwie polacz.php i umieść tam ten kod

  1. <?php
  2. //dane do polaczenia MySQL
  3. //nazwa serwera, standardowo localhost
  4. $serwer = 'localhost';
  5. //uzytkownik bazy danych
  6. $uzytkownik = 'root'; //twoja nazwa uzutkownika
  7. //haslo uzytkownika bazy danych
  8. $haslo = ''; //twoje hasło
  9. //nazwa dazy danych w ktorej beda zainstalowane tabele
  10. $baza = 'wideo';
  11. ?>


zamiast za kazdym razem to pisać po prostu wpisz require('polacz.php');

Ten post edytował =kokos= 11.08.2006, 23:18:15
Go to the top of the page
+Quote Post
daro82
post
Post #11





Grupa: Zarejestrowani
Postów: 6
Pomógł: 0
Dołączył: 30.07.2006

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


  1. <?php
  2. require('polacz.php')
  3. ?>
  4. <?php
  5.  
  6. $sql = mysql_query("show tables;");
  7.  
  8. $ile = mysql_num_rows($sql);
  9.  
  10. echo '<br />';
  11.  
  12. echo '<form method="post">';
  13. echo '<select name="wybor">';
  14.  
  15. for($i=0; $i <$ile; $i++)
  16. {
  17. $wiersz = mysql_fetch_assoc($sql);
  18. echo '<option>'.$wiersz
  19. ['Tables_in_baza'].'</option>';
  20. }
  21. echo '</select>';
  22. echo '<input type=submit value=Pokaż>';
  23. echo '</form>';
  24.  
  25. if($_POST['wybor'])
  26. {
  27.  
  28.  $wynik = mysql_query ('SELECT * FROM '.$_POST['wybor'].';') or
  29. die ('błąd w pytaniu');
  30.  
  31.  
  32.  echo '<table border=1>';
  33.  while ($wiersz = mysql_fetch_assoc ($wynik))
  34.  {
  35.  echo '<tr><td>';
  36.  echo $wiersz['nazwa'];
  37.  echo '<td>';
  38.  echo '<a href="download/'.$wiersz['plik'].'">'.$wiersz['plik'].'</a>';
  39.  }
  40.  echo '</table>';
  41. }
  42. else {}
  43. ?>

po uzyciu twojego skryptu pojawia mi sie ramka do wybierania ale jest pusta i przycisk pokaz ale nic poza tym.
Wyskakuje mi taki blad Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in i ze on jest w lini 17 skryptu a ona wygada nastepujaco $ile = mysql_num_rows($sql);
Czekam na pomoc i jescze raz wielkie dzieki :roll2:

Ten post edytował daro82 13.08.2006, 11:17:39
Go to the top of the page
+Quote Post
=kokos=
post
Post #12





Grupa: Zarejestrowani
Postów: 114
Pomógł: 0
Dołączył: 6.08.2006

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


Błąd, który Ci wywala
Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource ... (IMG:http://forum.php.pl/style_emoticons/default/dry.gif)
oznacza, że coś źle masz w zapytaniu. Tutaj tyczy się to zapytania w zmiennej $sql. Jeśli jest ono takie jak podałeś to powinno wszystko działać ok. Sprawdziłem ten skrypt, który podałem wcześniej i działa tak jak powinien. Ten błąd jest przyczyną tego, że nic się nie wyświetla. Do pętli for nie dopisuje wartości ze zmiennej $ile i przez to nie wykonuje się ona ani razu. Przeanalizuj jeszcze raz skrypt i porównaj go z tym, który Ci podałem, jeśli nie będzie dalej działać to się odezwij: 4843179 (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 17.09.2025 - 22:31