Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl


golabow
Napisane: 15.09.2014, 16:27:56





Grupa: Zarejestrowani
Postów: 53
Dołączył: 4.07.2014

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

Napisałem taki skrypt, może Ci pomoże:
Skrypt js

Zaznaczam że wtyczka do sprawdzania miejsca upuszczenia elementu nie jest napisana przeze mnie.
  Forum: Przedszkole · Podgląd postu: #1124928 · Odpowiedzi: 4 · Wyświetleń: 480

golabow
Napisane: 13.09.2014, 17:16:10





Grupa: Zarejestrowani
Postów: 53
Dołączył: 4.07.2014

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

Przepisałem to w jQuery i dodałem opcje o które Ci chodziło. Zobacz tutaj:
skrytp js
  Forum: Przedszkole · Podgląd postu: #1124669 · Odpowiedzi: 2 · Wyświetleń: 1 097

golabow
Napisane: 12.09.2014, 11:07:05





Grupa: Zarejestrowani
Postów: 53
Dołączył: 4.07.2014

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

Jeżeli chodzi o rozmiar okna, testowałem i wszystko u mnie dobrze chodzi, nie wiem dlaczego u Ciebie są takie problemy. Zmieniłem prędkość animacji ze 'slow' na 'medium' więc może to pomoże gdy elementy będą się szybciej pojawiać.

Natomiast jeśli chcesz uzyskać efekt wcześniejszego pojawienia się elementów wystarczy zwiększyć "moment zdarzenia" o dodatkową wartość.

Przerobiony skrypt: skrypt JS

PS. Jeżeli którymś postem pomogłem Ci wystarczy że wciśniesz guzik "pomógł", po to jest ten przycisk.
  Forum: Przedszkole · Podgląd postu: #1124521 · Odpowiedzi: 7 · Wyświetleń: 577

golabow
Napisane: 10.09.2014, 18:34:02





Grupa: Zarejestrowani
Postów: 53
Dołączył: 4.07.2014

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

sprawdź czy ścieżka do pliku jest poprawna, wygląda jakby nie widział pliku
  Forum: Przedszkole · Podgląd postu: #1124240 · Odpowiedzi: 10 · Wyświetleń: 523

golabow
Napisane: 3.09.2014, 11:04:33





Grupa: Zarejestrowani
Postów: 53
Dołączył: 4.07.2014

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

Napisałem taki skrypt wydaje się dawać dobre wyniki:
  1. <script>
  2. var string = "jakis tekst my_function('arg1,arg2,argument23') jakis tekst my_function('arg100,arg200')";
  3. var regex = /my_function\((.*?)\)/g;
  4. var funArray = string.match(regex);
  5. var wynik = [];
  6. for( var i = 0; i < funArray.length; i++ )
  7. {
  8. wynik[i] = funArray[i].match(/my_function\((.*?)\)/);
  9. }
  10. // wypisuje wynik
  11. for ( var i = 0; i < wynik.length; i++ )
  12. {
  13. console.log( wynik[i][1] );
  14. }
  15. </script>


Najpierw globalnie wyszukuje wszystkie dopasowania a następnie wyciągam argumenty.
  Forum: Przedszkole · Podgląd postu: #1122899 · Odpowiedzi: 5 · Wyświetleń: 294

golabow
Napisane: 3.09.2014, 10:21:14





Grupa: Zarejestrowani
Postów: 53
Dołączył: 4.07.2014

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

Może to Ci pomoże:

  1. <script>
  2. var string = "jakis tekst my_function('arg1,arg2,argument23') jakis tekst";
  3. var regex = /my_function\((.*?)\)/;
  4. console.log( string.match(regex)[1]);
  5. </script>
  Forum: Przedszkole · Podgląd postu: #1122888 · Odpowiedzi: 5 · Wyświetleń: 294

golabow
Napisane: 28.08.2014, 16:25:21





Grupa: Zarejestrowani
Postów: 53
Dołączył: 4.07.2014

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

Myślę że lepszym rozwiązaniem było by użycie zmiennej sesji.
Skrypt który odczytuje dodany towar i zapisuje go w koszyku użytkownika:
  1. <?php
  2. session_start(); // start sesji
  3.  
  4. // jezeli jest juz w sesji to pobierz, w przeciwnym przypadku stworz nowa tablice
  5. $koszyk = isset( $_SESSION['koszyk'] ) ? $_SESSION['koszyk'] : array();
  6. $wybor = $_GET['wybor']; // zmienna ktora przechowuje nazwe towaru
  7.  
  8. // zwiekszenie w koszyku ilosc towaru
  9. if ( isset( $koszyk[$wybor] ) ) // jezeli istnieje w koszyku
  10. {
  11. $koszyk[$wybor]++;
  12. }
  13. else // w przeciwnym przypadku dodajesz towar do koszyka
  14. {
  15. $koszyk[$wybor] = 1;
  16. }
  17.  
  18. // zapisanie zmian w koszyku
  19. $_SESSION['koszyk'] = $koszyk;
  20. ?>


Mam nadzieje że takie rozwiązanie będzie dla Ciebie prostsze i wygodniejsze niż używanie bazy danych. Natomiast jeżeli zależało Ci na utrzymaniu koszyka na dłużej niż czas sesji to zawsze możesz go cashować.

Jeżeli chcesz szybko zobaczyć wynik działanie takiego koszyka to możesz go wypisać w tabelce HTML:
  1. <table>
  2. <tr>
  3. <th>Towar</th>
  4. <th>Ilosc</th>
  5. </tr>
  6. <?php foreach( $koszyk as $towar => $ilosc ): ?>
  7. <tr>
  8. <td><?php echo $towar;?></td>
  9. <td><?php echo $ilosc; ?></td>
  10. </tr>
  11. <?php endforeach; ?>
  12. </table>
  Forum: Przedszkole · Podgląd postu: #1122123 · Odpowiedzi: 1 · Wyświetleń: 281

golabow
Napisane: 26.08.2014, 16:16:47





Grupa: Zarejestrowani
Postów: 53
Dołączył: 4.07.2014

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

Spróbuj zapytanie umieścić w podwójnych ciapkach:

  1. $wynik = mysql_query ("SELECT count(*) AS ilosc FROM user WHERE suma > $min AND suma < $max ");
  Forum: Przedszkole · Podgląd postu: #1121669 · Odpowiedzi: 1 · Wyświetleń: 213

golabow
Napisane: 26.08.2014, 11:25:44





Grupa: Zarejestrowani
Postów: 53
Dołączył: 4.07.2014

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

Może to Ci pomoże ( ten sam efekt jedną linijką ) :

  1. $wynikowaTablica = array( 'tablica1' => array_values( $array['tablica1'] ) );
  Forum: Przedszkole · Podgląd postu: #1121608 · Odpowiedzi: 1 · Wyświetleń: 159

golabow
Napisane: 24.08.2014, 13:40:58





Grupa: Zarejestrowani
Postów: 53
Dołączył: 4.07.2014

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

Akurat chodziło mi o twoją własną funkcje do łączenia się z bazą danych, ale również można to zapisać przy użyciu funkcji mysqli_connect().
Dodałem też jak wygląda stworzenie linka.

  1. <?php
  2.  
  3. $tablicaLinkow = array( 'http://forum.php.pl/', 'http://google.pl', 'http://wp.pl' ); // tablica linkow
  4.  
  5. $db = mysqli_connect( 'localhost', 'twojLogin', 'twojeHaslo', 'twojaBazaDanych' ); // tutaj twoja funkcja do polączenia z baza
  6. $q = $db->query( 'SELECT * FROM tabelaCzas LIMIT 1' ); // pobieram pierwszy rekord
  7. $klucz = 0; // domyslnie jest to pierwszy link
  8.  
  9. if ( !$q->num_rows ) // jezeli pusta tablica
  10. {
  11. $time = getdate();
  12. $time = $time[0];
  13. $db->query( "INSERT INTO tabelaCzas VALUES( $time, 0 )" ); // aktualny czas i numer pierwszego elementu tablicy;
  14. }
  15. else // mamy rekord
  16. {
  17. $row = $q->fetch_assoc();
  18. $lastTime = $row['lastTime']; // lastTime to nazwa pola w tabeli
  19. $lastIndex = $row['lastIndex'];
  20.  
  21. $aTime = getdate(); // aktualny czas
  22. $aTime = $aTime[0];
  23. if ( $aTime - $lastTime >= ( 24 * 60 * 60 ) )
  24. {
  25. $aIndex = ( $lastIndex + 1 ) % count( $tablicaLinkow );
  26. $db->query( "UPDATE tabelaCzas SET lastTime=$aTime, lastIndex=$aIndex WHERE lastTime=$lastTime" ); // aktualizacja danych w bazie
  27. $klucz = $aIndex; // ustawiam nowy element tablicy
  28. }
  29. }
  30.  
  31. echo "<a href=' {$tablicaLinkow[ $klucz ]} '> Link </a>"; // generuje link
  32.  
  33. ?>


Tablice wykorzystywaną w przykładzie możesz utworzyć poleceniem:
  1. CREATE TABLE tabelaCzas( lastTime int NOT NULL, lastIndex int NOT NULL);
  Forum: Przedszkole · Podgląd postu: #1121295 · Odpowiedzi: 9 · Wyświetleń: 449

golabow
Napisane: 24.08.2014, 14:51:39





Grupa: Zarejestrowani
Postów: 53
Dołączył: 4.07.2014

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

Napisałem przykładowe rozwiązanie, zobacz czy Ci odpowiada ( przetestuj ) :

  1. <?php
  2.  
  3. function silnia( $n ) { return !$n ? 1 : $n * silnia( $n - 1 ); }
  4.  
  5. function czyJest( $kombinacje, $tmp )
  6. {
  7. foreach( $kombinacje as $element )
  8. {
  9. if ( $element == $tmp ) return true;
  10. }
  11.  
  12. return false;
  13. }
  14.  
  15. function generujKombinacje($tablica, $dlugosc)
  16. {
  17. $arr = array();
  18. for ( $i = 0; $i < $dlugosc; $i++ ) $arr[$i] = 0;
  19. $len = count( $tablica );
  20. // ilosc kombinacji wzór z Wikipedii :)
  21. $iloscKombinacji = silnia( $dlugosc + $len - 1 ) / ( silnia( $dlugosc ) * silnia( $len - 1 ) );
  22.  
  23. $kombinacje = array();
  24. while ( $iloscKombinacji )
  25. {
  26. $tmp = '';
  27. foreach( $arr as $j ) $tmp .= $tablica[ $j ];
  28. $tmp = str_split( $tmp );
  29. sort( $tmp );
  30. $tmp = implode( '', $tmp );
  31.  
  32. if ( !czyJest( $kombinacje, $tmp ) )
  33. {
  34. $kombinacje[] = $tmp;
  35. $iloscKombinacji--;
  36. }
  37.  
  38. for ( $k = $dlugosc - 1; $k >= 0; $k-- )
  39. {
  40. $arr[$k]++;
  41. if ( $arr[$k] == $len )
  42. {
  43. $arr[$k] %= $len;
  44. }
  45. else break;
  46. }
  47. }
  48.  
  49. return $kombinacje;
  50. }
  51.  
  52. $wynik = generujKombinacje( array('6', '9', '3', 'k', 'd', 'e', 'w', 'b'), 2 );
  53.  
  54. foreach( $wynik as $element ) echo $element.'<br />';
  55.  
  56. ?>


EDIT: porawiłem, teraz powinny być dobre wyniki. Warto wspomnieć że nie jest to optymalne rozwiązanie, ale sam jestem początkujący.
  Forum: Przedszkole · Podgląd postu: #1121307 · Odpowiedzi: 3 · Wyświetleń: 587

golabow
Napisane: 16.08.2014, 16:03:12





Grupa: Zarejestrowani
Postów: 53
Dołączył: 4.07.2014

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

rzeczywiście z tymi tablicami to nawet nie zauważyłem.. za dużo JS.
Skrypt działa w ten sposób:
- Sprawdza ile mieści się całkowicie tygodni, dni.. w danym czasie.
- Jeżeli jest co najmniej jeden tydzień, dzień.. to dopisuje do wyniku tą ilość + skrót
- Odejmuje od czasu ilość zapisanych do wyniku tygodni, dni... więc jeżeli na przykład nie mieści się tydzień to nic nie odejmie bo na zmiennej $tmp jest wartość 0.
  Forum: Przedszkole · Podgląd postu: #1120141 · Odpowiedzi: 4 · Wyświetleń: 364

golabow
Napisane: 13.08.2014, 19:06:09





Grupa: Zarejestrowani
Postów: 53
Dołączył: 4.07.2014

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

tak na szybko.

  1. <?php
  2. function getTableRangi() {
  3. $db = connectDB(); // laczenie z baza danych, uzyj wlasnej funckcji
  4. $q = $db->query( 'SELECT * FROM rangi' );
  5. $arr = array(); // tablica bedzie zawierac wszystkie rangi
  6. while ( $row = $q->fetch_assoc() ) {
  7. $arr[ $row['tytul'] ] = $row['punkty'] ;
  8. }
  9.  
  10. return $arr;
  11. }
  12.  
  13. function getRanga( $ilePunktow, $rangi ) {
  14. $ranga = null;
  15. foreach( $rangi as $k => $v ) {
  16. if ( $ilePunktow >= $v ) $ranga = $k;
  17. else break;
  18. }
  19.  
  20. return ( $ranga ) ? $ranga : 'brak rangi';
  21. }
  22.  
  23. $arr = getTableRangi(); // pobieram rangi
  24. $ranga = getRanga( 30, $arr ); // moge pobrac range dla dowolnego uzytkownika
  25. ?>


edit: testowalem powinno dzialac, tablice z rangami generuj na początku skryptu, następnie możesz dla każdego użytkownika pobierać range, podając
jego ilość punktów i tablice z rangami.
  Forum: Przedszkole · Podgląd postu: #1119801 · Odpowiedzi: 5 · Wyświetleń: 284

golabow
Napisane: 12.08.2014, 10:04:06





Grupa: Zarejestrowani
Postów: 53
Dołączył: 4.07.2014

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

good game, well played
  Forum: Przedszkole · Podgląd postu: #1119500 · Odpowiedzi: 5 · Wyświetleń: 1 228

golabow
Napisane: 9.08.2014, 13:48:46





Grupa: Zarejestrowani
Postów: 53
Dołączył: 4.07.2014

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

u mnie to działa.
Czemu używasz nowej zmiennej $LEVEL, jeżeli już na zmiennej $Lvl masz aktualny poziom?
Dotego warunek pod konieć pętli możesz dać do warunku while:
  1. <?php
  2. $Lvl = 0;
  3. $Exp = 10;
  4. $Procent = 7;
  5. $EXP = 234;
  6.  
  7. while( $Lvl < 100 && $Exp < $EXP )
  8. {
  9. $Exp = round($Exp*(1+($Procent/100)), 2);
  10. echo 'LvL: '.++$Lvl.', Exp: '.$Exp .'<br/>';
  11. }
  12.  
  13. echo 'Ep: '.$EXP.' = '.$Lvl.'LvL';
  14. ?>
  Forum: Przedszkole · Podgląd postu: #1119290 · Odpowiedzi: 9 · Wyświetleń: 514

golabow
Napisane: 6.08.2014, 09:31:11





Grupa: Zarejestrowani
Postów: 53
Dołączył: 4.07.2014

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

tak na szybko.

  1. <?php
  2. $czas = '09:15:32';
  3. $dodatkowyCzas = 300;
  4.  
  5. list($h,$m,$s) = explode(':',$czas);
  6.  
  7. $sekundy = $h*60*60 + $m*60 + $s;
  8. $sekundy += $dodatkowyCzas;
  9.  
  10. $t['h'] = floor( $sekundy / 3600 );
  11. $sekundy -= $t['h'] * 3600;
  12. $t['h'] %= 24;
  13. $t['m'] = floor( $sekundy / 60 );
  14. $sekundy -= $t['m'] * 60;
  15. $t['s'] = $sekundy;
  16. foreach( $t as $k => $v ) $t[$k] = ( $v < 10 ) ? '0'.$v : $v;
  17.  
  18. $w = implode( ':', $t );
  19. echo $w;
  20. ?>
  Forum: Przedszkole · Podgląd postu: #1118700 · Odpowiedzi: 7 · Wyświetleń: 431

golabow
Napisane: 18.07.2014, 13:47:08





Grupa: Zarejestrowani
Postów: 53
Dołączył: 4.07.2014

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

Rozwiązanie twoich problemów jest tutaj:
http://php.net//manual/pl/language.oop5.interfaces.php
http://php.net//manual/pl/language.oop5.abstract.php
  Forum: Przedszkole · Podgląd postu: #1115894 · Odpowiedzi: 8 · Wyświetleń: 322


New Posts  Nowe odpowiedzi
No New Posts  Brak nowych odpowiedzi
Hot topic  Popularny temat (Nowe)
No new  Popularny temat (Brak nowych)
Poll  Sonda (Nowe)
No new votes  Sonda (Brak nowych)
Closed  Zamknięty temat
Moved  Przeniesiony temat
 

RSS Wersja Lo-Fi Aktualny czas: 29.03.2024 - 15:30