Mam sobie taki kod
( date DATETIME NOT NULL, user VARCHAR(255) NOT NULL, pass INT(255) NOT NULL, PRIMARY KEY (pass) )"); $number = $_POST['number']; $i = 0; while ($i < $number) { $i++; } echo '<form method="post" action="createpass.php" name="log_in"> wpisz liczbę kursantów: <input type="text" name="number"></input> <input type="submit" name="" value="STWÓRZ HASŁA"></input><br> </form>'; { } ?>
Chodzi o tworzenie x-ilości użytkowników i haseł jednorazowych.
I do etapu twozrenia i dodawania tych danych do bazy jest wszystko ok. Ale mam problemy z napisaniem fragmentu do wyświetlania kolumn users i pass w tabelce do puźniejszego drukowania. Problem polega właśnie na tym, że ilość wyświetlanych rekordów musi być równa ilości podanych uczestników, dla których tworzy się hasła np: jeżeli w polu formularza wpisze się że 2 - to mają pokazywać się tylko dwa najnowsze rekordy, jeżeli 10 - 10 najnowszych rekordów.
Szukałąm po necia podpowiedzi, gdyż byłam pewna, że kiedyś już na coś podobnego trafiłam i było oparte o foreach. Ale przy foreach jestem w stanie wypisać tylko jedną kolumnę, a jak dodaje drygie foreach to dane z tej kolumny wyświetlaja mi się przesunięte, tak że nie pasują do odpowiedajacych im danych w bazie. Domyślam się, że można użyć jeszcze jakoś COUNT() albo MYSQL_NUN_ROW, ale ani też mi to nie wychodzi.
Myślałam jeszcze o połaczeniu pól user i pass podczas select (wtedy dało by się użyć foreach), ale nie znalazłam nic, co by na to pozwalało. Chyba, ze coś ominełam, o wielu funkcjach czytałąm tylko po angielsku.
Drugi problem, to wskazywanie, że chcę wyświetlić właśnie x-rekordów. Najpierw myślałąm, że do limit mogę wstawić zmienną $number (czyli z liczbą tworzonych haseł), ale po wnikliwych :-D przeszukiwaniach neta, okazało sie, że tak prosto nie ma. Więc postanowiłam wyselekcjonować tylko te rekordy w których kolumna date jest równa zmiennej date. Niestety datetime z mysqla i date() z php przyjmują trochę inny format przez co ich porównanie wypada negatywnie. Do date() próbowałąm dopisać u, które oznacza mikrosekundy (czyli to, czego brak powoduje, ze nie mogę porównać tych danych) ale nestety, nie idzie.
Chyba podałąm wszystkie potrzebne informacje.
Z góry dziękuje ze każdą podpowiedz