wojtek9915 1 Maja 2015 1 Maja 2015 Witam, robię panel do zarządzania fakturami, chce automatycznie numerować faktury, mam taki skrypt: $num = 0; $mies = date('m'); $rok = date('Y'); $sql = mysql_query("SELECT MAX(numer_faktury) AS maxn FROM faktury"); while($r = mysql_fetch_assoc($sql)) { $maxn = $r['maxn']; if ($maxn >= 1) { $num = $maxn + 1; // ani $maxn++ ani ++$maxn nie działało tak jak powinno }else { $num = 1; } } Wszystko ładnie numeruje, tylko gdy dochodzi do 10, to każda kolejna faktura ma numer 10, gdy zapytanie wpisuje do SQL, to pokazuje że największy numer w bazie to 9, gdzie powinno pokazać 10.. W skrócie, numerowanie zatrzymuje się na 10.. Jakieś pomysły? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
kondork 1 Maja 2015 1 Maja 2015 A nie możesz po prostu zrobić w bazie danych kolejnej kolumny ID z autoinkrementacją Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Cuan 1 Maja 2015 1 Maja 2015 Tworzysz kolumnę "nr" i dajesz jej wartość PRIMARY (aby się nie powtarzały) i AI (Autoincrement). Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Matys 1 Maja 2015 1 Maja 2015 $num = $maxn + 1; Na przykład tak i potem wyświetlić gdzieś numer faktury. $num+=1 Nie wiem co to jest to $maxn. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Matys 2 Maja 2015 2 Maja 2015 Połącz z funkcją date. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Cuan 2 Maja 2015 2 Maja 2015 zapisuj miesiąc i rok dodania faktury do bazy i przy zapisaniu pobierz ilość rekordów z danego miesiąca. Czyli zapisuj np. do kolumny "month" (string[7]): 2015-05, odczytaj za pomocą zapytania: SELECT COUNT(*) as ilosc FROM faktury WHERE month='2015-05' i pobierając, to będzie numer nowej faktury: $nr = $row['ilosc']+1 Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Kontynuuj dyskusję
Dołącz do Pecetowicza, aby kontynuować dyskusję w tym wątku.