Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Pomoc z auto ID
wlamywacz
post 21.10.2006, 18:03:44
Post #1





Grupa: Zarejestrowani
Postów: 535
Pomógł: 27
Dołączył: 3.05.2005

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


Witam

Aktualnie pisze skrypt w którym uploaduje plik na serwer i jego nazwa wraz z kategorią zostaje wrzucony do bazy i każdy plik musi mieć unikalne ID gdyż jest ono wykorzystywane do puźniejszej identyfikacji plik która odbywać się może tylko za pomocą liczby więc dałem auto. No ale problem polega na tym aby wyselekcjonować te pliki które zostały dodane nieznająć ich ID myślałem nad tym aby dodać pliki do dwóch tabeli i sprawdzić za pomocą tego oto dziwnego skryptu:
  1. <?php
  2. $zapytanie = "SELECT * FROM generator ORDER BY id" or die(mysql_error());
  3. $wykonaj = mysql_query($zapytanie) or die(mysql_error());
  4. while($wiersz = mysql_fetch_array($wykonaj))
  5. {
  6. $ha = $wiersz['nazwa'];
  7. $zapytanie2 = "SELECT * FROM test WHERE nazwa="$ha"" or die(mysql_error());
  8. $wykonaj2 = mysql_query($zapytanie2) or die(mysql_error());
  9. while($wiersz2 = mysql_fetch_array($wykonaj2))
  10. {
  11. echo $wiersz2['id'],"=Tapeta=",$url,$katal,$wiersz['kategoria'],"/",$wiersz['nazwa'],"<br>";
  12. }
  13. }
  14. ?>


No i taka oto prowizorka działa do czasu aż w bazie znajdą się 2 identyczne obrazki wtedy zaczyna szaleć i pokazuje kilkakrotnie losowe wartości prosze o pomoc jak rozwiązać ten problem.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 8)
L_Devil
post 21.10.2006, 18:26:44
Post #2





Grupa: Zarejestrowani
Postów: 195
Pomógł: 0
Dołączył: 13.04.2004
Skąd: Łódź

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


mysql_insert_id" title="Zobacz w manualu php" target="_manual


--------------------
Językiem którym najlepiej operują wszyscy programiści są przekleństwa.
Go to the top of the page
+Quote Post
wlamywacz
post 21.10.2006, 18:45:27
Post #3





Grupa: Zarejestrowani
Postów: 535
Pomógł: 27
Dołączył: 3.05.2005

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


No dobrze ta fukcja oddaj ostatnie ID jakie zostało nadane ale jak to wykorzystać ? BO nie mam kompletnie pomysłu pozatym może być wrzucany 1 plik jak i 20 plików więc prosze o wytłumaczenie jak by to miało działać.
Go to the top of the page
+Quote Post
erix
post 21.10.2006, 20:24:29
Post #4





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




Np. masz coś takiego:
  1. <?php
  2. $pliki = array(/*tablica z plikami, czy jakkolwiek je dodajesz*/);
  3. $plikiID = array();
  4.  
  5. foreach($pliki as $plik){
  6. mysql_query(/*INSERT INTO itepe*/);
  7. $plikiID[] = mysql_insert_id();
  8. }
  9. ?>


--------------------

ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW!
Go to the top of the page
+Quote Post
wlamywacz
post 22.10.2006, 09:37:38
Post #5





Grupa: Zarejestrowani
Postów: 535
Pomógł: 27
Dołączył: 3.05.2005

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


Możesz mi dopisać to do mojego pliku i opisać jak to dokładnie działa bo nie moge zrozumieć :/
  1. <?php
  2. if ( isSet( $_FILES['pliczek'] ) === true ) 
  3. { 
  4. $files = is_array( $_FILES['pliczek'] ) === true ? $_FILES['pliczek'] : array( $_FILES['pliczek'] ); 
  5. $debug = ''; 
  6. $allow = array( 'image/x-png', 'image/gif', 'image/jpeg' ); 
  7.  
  8. for ( $i = 0, $j = sizeOf( $files['name'] ); $i < $j; $i++ ) 
  9. { 
  10. if ( empty( $files['name'][ $i ] ) === true ) 
  11. { 
  12. continue; 
  13. } 
  14.  
  15. if ( in_array( $files['type'][ $i ], $allow ) === true ) 
  16. { 
  17. if ( move_uploaded_file( $files['tmp_name'][ $i ], "$docelowy" . $files['name'][ $i ] ) === true ) 
  18. { 
  19.  
  20. $debug .= '<br /> + ' . $files['name'][ $i ]; 
  21. } 
  22. else 
  23. { 
  24. $debug .= '<br /> - ' . $files['name'][ $i ]; 
  25. } 
  26. } 
  27. else 
  28. { 
  29. $debug .= '<br /> - ' . $files['name'][ $i ] . ' invalid type'; 
  30. } 
  31. } 
  32.  
  33. print $debug; 
  34. }
  35. ?>
Go to the top of the page
+Quote Post
erix
post 22.10.2006, 14:59:36
Post #6





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




Chyba to nie to :/
Tu niczego od SQL nie ma...

A z Twoim pierwszym kodem jakiegoś większego powiązania nie widzę... (nigdzie nie ma wstawiania do bazy)


--------------------

ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW!
Go to the top of the page
+Quote Post
wlamywacz
post 22.10.2006, 15:59:13
Post #7





Grupa: Zarejestrowani
Postów: 535
Pomógł: 27
Dołączył: 3.05.2005

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


Bo usunołem kod odnoszący się do Mysql był tam tylko wpis w którym dodawało: auto ID, nazwa.jpg, kategoria i to tyle
Go to the top of the page
+Quote Post
1010
post 22.10.2006, 21:52:32
Post #8





Grupa: Zarejestrowani
Postów: 749
Pomógł: 37
Dołączył: 3.10.2006

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


to po tym dodawaniu musisz wykonać funkcje mysql_insert_id();


--------------------
Go to the top of the page
+Quote Post
thornag
post 23.10.2006, 09:39:50
Post #9





Grupa: Zarejestrowani
Postów: 504
Pomógł: 2
Dołączył: 31.03.2006
Skąd: Londyn

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


Cytat
No ale problem polega na tym aby wyselekcjonować te pliki które zostały dodane nieznająć ich ID myślałem nad tym aby dodać pliki do dwóch tabeli i sprawdzić za pomocą tego oto dziwnego skryptu:

Czyli idzie o pliki ktore wlasnie zostaly zuploadowane ? Jesli tak to powinienes wiedziec ile ich jest, wiec mozna tak, do tabeli dodac pole time i wrzucac tam timestamp f. time() a pozniej
  1. SELECT * FROM obrazki ORDER BY time DESC LIMIT ilosc_zuploadowanych_obrazow


--------------------
"Wizja czasu jest szeroka, lecz kiedy sie przez nia przechodzi, czas staje sie waskimi drzwiami"

Go to the top of the page
+Quote Post

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 Wersja Lo-Fi Aktualny czas: 19.07.2025 - 17:08