Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP] Random dates, zlożenie w całość
shpaque
post
Post #1





Grupa: Zarejestrowani
Postów: 651
Pomógł: 3
Dołączył: 31.01.2011
Skąd: Warszawa

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


Witam serdecznie, trochę się zagubiłem i potrzebuję pomocy. Już opisuję na czym rzeczp olega. Daty są ładowane inputem z przecinkiem (w różnym formacie dat), wiec skrypt rozladowuje daty na string i pozniej trzeba to zlozyc w calosc wg instrukcji mm/dd/yyyy, jak w wycinku ponizej, i zrandomowac:

  1. $dates = explode(',', $_POST['date']);
  2. $today = date('m/d/Y');
  3. $checkDates = array_filter($dates, function ($dates) use ($today) {return $dates < $today;});
  4. $correctDates = array_filter($dates, function ($dates) use ($today) {return $dates != $checkDates;});
  5. $countCheckDate = count($correctDates);
  6.  
  7. if ($countCheckDate == 0)
  8. {
  9. echo "<script>alert('There is no valid date!');</script>";
  10. }
  11. else
  12. {
  13. foreach ($correctDates as $date)
  14. {
  15. $dates = date('m/d/Y', strtotime($date));
  16. }
  17.  
  18. for ($i = 0; $i < $numberOfSubmissions; $i++)
  19. {
  20.  
  21. $randomDates = array_rand($dates);
  22. echo $dates[$randomDates];
  23. }
  24. }


skrypt przy dacie zwraca mi 1 zamiast daty


oj dobra maly blad:
  1. $dates = array(date('m/d/Y', strtotime($date)));


do zamkniecia smile.gif

Ten post edytował shpaque 11.05.2018, 09:14:04
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 4)
Pyton_000
post
Post #2





Grupa: Zarejestrowani
Postów: 8 068
Pomógł: 1414
Dołączył: 26.10.2005

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


Chyba słabo wink.gif
Go to the top of the page
+Quote Post
shpaque
post
Post #3





Grupa: Zarejestrowani
Postów: 651
Pomógł: 3
Dołączył: 31.01.2011
Skąd: Warszawa

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


slabo bo cos powalilem znowu. przy tej poprawce wyswietla mi tylko jedna date, a kiedy wprowadzam 3 (w tym jedna z przeszlosci) powinnna mi tablica zwrocic dwie... :/
Go to the top of the page
+Quote Post
nospor
post
Post #4





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Tak sie zastanawiam, kiedy sie nauczysz tworzyc sensowne nazwy zmiennych...

Co do problemu: to ty masz do tablicy dodawac date a nie za kazdym razem tworzyc tablice z jednym elelementem


  1. $dates = [];
  2. foreach ($correctDates as $date)
  3. {
  4. $dates[] = date('m/d/Y', strtotime($date));
  5. }
  6.  


ps: przenosze
ps2: masz jeszcze jeden blad na poczatku skryptu ale jak zwykle go niewidzisz bo nie raczyles wlaczyc wyswietlania bledow... twoja sprawa


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

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
shpaque
post
Post #5





Grupa: Zarejestrowani
Postów: 651
Pomógł: 3
Dołączył: 31.01.2011
Skąd: Warszawa

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


dziękuję bardzo. Prawidłowy skrypt tutaj:

  1. if (($_SERVER['REQUEST_METHOD'] === 'POST') && ($_POST['action'] === 'submit'))
  2. {
  3. $numberOfSubmissions = $_POST['number'];
  4. $datesWithNoSpaces = str_replace(' ', '', $_POST['date']);
  5. $dates = explode(',', $datesWithNoSpaces);
  6. $today = date('m/d/Y');
  7. $correctDates = array_filter($dates, function ($date) use ($today) {return $date >= $today;});
  8. $countCheckDate = count($correctDates);
  9.  
  10. if ($countCheckDate == 0)
  11. {
  12. echo "<script>alert('There is no valid date!');</script>";
  13. }
  14. else
  15. {
  16. $names = ['John', 'Mark', 'Michael', 'Jane', 'Barrack', 'James', 'Naomi', 'Julian', 'Patrick', 'Thomas', 'Steve', 'Jessica', 'Victoria', 'Amelia', 'Sarah', 'Joseph', 'Linda'];
  17. $surnames = ['Wick', 'Bond', 'Snow', 'September', 'Jobs', 'Obama', 'White', 'Grey', 'Jackson', 'Doe', 'Jackson', 'Miller', 'Vosconi', 'Pepperoni', 'Freeman', 'Smith'];
  18. $ends = ['com', 'eu', 'info', 'net', 'biz', 'uk', 'us', 'org', 'de', 'pl'];
  19. $dates = array();
  20. foreach ($correctDates as $d)
  21. {
  22. $dates[] = date('m/d/Y', strtotime($d));
  23. }
  24.  
  25. function randomEmailName($length = 11)
  26. {
  27. $characters = 'abcdefghijklmnopqrstuvwxyz';
  28. $charactersLength = strlen($characters);
  29. $randomString = '';
  30. for ($i = 0; $i < $length; $i++)
  31. {
  32. $randomString .= $characters[rand(0, $charactersLength - 1)];
  33. }
  34. return $randomString;
  35. }
  36. function randomDomain($length = 7)
  37. {
  38. $characters = 'abcdefghijklmnopqrstuvwxyz';
  39. $charactersLength = strlen($characters);
  40. $randomString = '';
  41. for ($i = 0; $i < $length; $i++)
  42. {
  43. $randomString .= $characters[rand(0, $charactersLength - 1)];
  44. }
  45. return $randomString;
  46. }
  47.  
  48. for ($i = 0; $i < $numberOfSubmissions; $i++)
  49. {
  50. $randomNames = array_rand($names);
  51. $randomSurnames = array_rand($surnames);
  52. $randomEnds = array_rand($ends);
  53. $randomDates = array_rand($dates);
  54.  
  55. $phone = rand(100000000, 999999999);
  56. $randomPhone = implode(' ', str_split($phone, 3));
  57.  
  58. $mailEnd = $ends[$randomEnds];
  59. $randomEmail = randomEmailName().'@'.randomDomain().'.'.$mailEnd;
  60.  
  61. echo $names[$randomNames]." ".$surnames[$randomSurnames].", ".$randomPhone.", ".$randomEmail.", ".$dates[$randomDates]."<br>"; // Zobaczmy co się tu dzieje
  62. }
  63. }
  64. }
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 Aktualny czas: 19.08.2025 - 16:11