schemat blokowy PHP - trudny przypadek

0

Wiatm serdecznie :)

Zapewne każdy z Was miał w życiu taką sytuację, kiedy natrętny profesor wymagał rzeczy, na których kompletnie się nie znacie i trzeba było to jakoś zaliczyć. Zasięga się wtedy rady eksperta i z tąd mój post.

Posiadam programik w PHP - wyszukiwarka pracowników. Po wpisaniu w nazwisku,imieniu... litery lub ciągu znaków wyszukuje przypadek zawierający ten ciąg. tym różni się od standardowej wyszukiwarki. Baza nazwisk znajduje sie w pliku txt. Program mozecie obejrzeć pod adresem:
http://test.microproject.pl/pracownicy/
Problem jest taki, że należy stworzyć schemat blokowy do tego, moze być prosty, niezbyt skomplikowany.
Bardzo proszę Was o pomoc mam nadzieję, że znajdzie się jakiś "miłosierny samarytanin" [browar]

Poniżej zamieszczam kod:

<?php

$file = file('data.txt');

$zawody = array();
$wyniki = array();



for($i=1; $i<sizeof($file); $i++) {

    $tmp = 0;

    $line = explode(';', $file[$i]);
    $zawody[] = $line[3];

    $imie = $line[0];
    $nazwisko = $line[1];
    $wiek = $line[2];
    $zawod = $line[3];
    $jezyk = $line[4];
    $plec = trim($line[5]);
    $prawo_jazdy = trim($line[6]);


    if(!preg_match('@(.*?)'.$_POST['imie'].'(.*?)@is', $imie) && !empty($_POST['imie'])) {
        $tmp = 1;
    }

    if(!preg_match('@(.*?)'.$_POST['nazwisko'].'(.*?)@is', $nazwisko) && !empty($_POST['nazwisko'])) {
        $tmp = 1;
    }

    if( ($wiek < $_POST['wiek_od'] && !empty($_POST['wiek_od'])) || (!empty($_POST['wiek_do']) && $wiek> $_POST['wiek_do'])) {
        $tmp = 1;
    }

    if($_POST['zawod']!=$zawod && !empty($_POST['zawod'])) {
        $tmp = 1;
    }

    if(($_POST['jezyk']!=$jezyk && !empty($_POST['jezyk']))) {
        $tmp = 1;
    }

    if(($_POST['plec']!=$plec && !empty($_POST['plec']))) {
        $tmp = 1;
    }

    if($_POST['prawo_jazdy']!=$prawo_jazdy && !empty($_POST['prawo_jazdy'])) {
        $tmp = 1;
    }


    if($tmp == 0 && $_POST['act']=='szukaj') {
        $wyniki[] = $line;
    }

}

$zawody = array_unique($zawody);
?>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title></title>
        <style>
            body { font-family: Tahoma; }
            td { text-align: center;}
            .row td { background-color: #ccc; }
        </style>
    </head>
    <body>
        <center>
            <img src="logo.jpg" /><br/>
            <br/>&nbsp;<br/>
            <table>
                <tr>
                    <th>
                        Imię
                    </th>
                    <th>
                        Nazwisko
                    </th>
                    <th>
                        Wiek
                    </th>
                    <th>
                        Zawód
                    </th>
                    <th>
                        Język
                    </th>
                    <th>
                        Płeć
                    </th>
                    <th>
                        Prawo jazdy kat. B
                    </th>
                    <th>
                        Akcja
                    </th>
                </tr>
                <form method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>"  >
                    <input type="hidden" name="act" value="szukaj" />
                    <tr>
                        <td>
                            <input type="text" name="imie" value="<?php echo $_POST['imie']; ?>"/>
                        </td>
                        <td>
                            <input type="text" name="nazwisko" value="<?php echo $_POST['nazwisko']; ?>"/>
                        </td>
                        <td>
                            Od: <input type="text" size="2" name="wiek_od" value="<?php echo $_POST['wiek_od']; ?>"/>

                            do: <input type="text" size="2" name="wiek_do" value="<?php echo $_POST['wiek_do']; ?>"/>
                        </td>
                        <td>
                            <select name="zawod">
                                <option value=""> wszystkie </option>
                                <?php foreach($zawody as $zawod): ?>
                                <option value="<?php echo $zawod; ?>" <?php if($_POST['zawod'] == $zawod): ?>selected="selected"<?php endif; ?>><?php echo $zawod; ?></option>
                                <?php endforeach; ?>
                            </select>
                        </td>
                        <td>
                            <select name="jezyk">
                                <option value=""> wszystkie </option>
                                <option value="en" <?php if($_POST['jezyk']=='en'): ?>selected="selected"<?php endif; ?>>angielski</option>
                                <option value="de" <?php if($_POST['jezyk']=='de'): ?>selected="selected"<?php endif; ?>>niemiecki</option>
                                <option value="ru" <?php if($_POST['jezyk']=='ru'): ?>selected="selected"<?php endif; ?>>rosyjski</option>
                            </select>

                        </td>
                        <td>
                            <select name="plec">
                                <option value=""> obojętnie </option>
                                <option value="k" <?php if($_POST['plec']=='k'): ?>selected="selected"<?php endif; ?>>kobieta</option>
                                <option value="m" <?php if($_POST['plec']=='m'): ?>selected="selected"<?php endif; ?>>mężczyzna</option>

                            </select>
                        </td>
                        <td>
                            <select name="prawo_jazdy">
                                <option value="">nie istotne</option>
                                <option value="tak" <?php if($_POST['prawo_jazdy'] == 'tak'): ?>selected="selected"<?php endif; ?>>TAK</option>
                                <option value="nie" <?php if($_POST['prawo_jazdy'] == 'nie'): ?>selected="selected"<?php endif; ?>>NIE</option>
                            </select>
                        </td>
                        <td>
                            <input type="submit" name="submit" value="szukaj"/>
                        </td>
                    </tr>
                </form>
                <tr>
                    <td colspan="7">
                        <hr/>
                    </td>
                </tr>

                <?php if(sizeof($wyniki)>0): ?>
                    <?php foreach($wyniki as $i=>$wynik): ?>
                <tr <?php if($i%2==0): ?>class="row"<?php endif; ?>>
                    <td>
                                <?php echo $wynik[0]; ?>
                    </td>
                    <td>
                                <?php echo $wynik[1]; ?>
                    </td>
                    <td>
                                <?php echo $wynik[2]; ?>
                    </td>
                    <td>
                                <?php echo $wynik[3]; ?>
                    </td>
                    <td>
                                <?php echo $wynik[4]; ?>
                    </td>
                    <td>
                               <?php if($wynik[5]=='k'): ?> kobieta<?php elseif($wynik[5]=='m'): ?>mężczyzna<?php endif; ?>

                    </td>
                    <td>
                                <?php echo $wynik[6]; ?>
                    </td>


                </tr>
                    <?php endforeach; ?>
                <?php elseif($_POST['act']=='szukaj'): ?>

                <tr>
                    <td colspan="7">
                        Niestety nic nie znaleziono.
                    </td>
                </tr>

                <?php endif; ?>

            </table>

        </center>
    </body>
</html>

i plik TXT

imie;nazwisko;wiek;zawód;język;płeć;prawo jazdy
Szymon;Perski;27;kucharz;en;m;tak
Wojciech;Kaczmarek;40;kucharz;ru;m;nie
Dawid;Kowalski;26;piekarz;ru;m;tak
Dawid;Wiącek;24;grafik komp;en;m;tak
Mateusz;Kurkowski;32;grafik komp;de;m;tak
Lidia;Marks;27;grafik komp;en;k;tak
Aleksandra;Pryk;23;grafik komp;en;k;nie
Tomasz;Szczęsny;41;programista;;m;nie
Julian;Tabor;31;programista;;m;tak
Anna;Larks;45;programista;;k;nie
Dariusz;Walczak;24;programista;en;m;tak
Joanna;Perepeczko;19;webdesigner;en;k;tak
Edmund;Kulas;25;webdesigner;en;m;tak
Michał;Wrótniak;23;hydraulik;en;m;tak
Dariusz;Sadowski;49;hydraulik;ru;m;tak
Anna;Mucha;30;aktor;en;k;tak
Krzysztof;Ibisz;41;aktor;en;m;tak
Marcin;Urban;45;kelner;en;m;nie
</url>
0

kiedy natrętny profesor wymagał rzeczy, na których kompletnie się nie znacie i trzeba było to jakoś zaliczyć

Dziennie do kosza trafia średnio ~15 tematów. Z tego 90% to biedulki którym wredny profesor kazał napisać coś o czym nie mają pojęcia, bo przecież to nie ich wina że nie chodzili na wykłady ;/

Napisałeś taki kawał kodu i nie wiesz jak działa?

0

Bardzo Ci dziękuję za pomoc inteligencie. Widzę, że pomoc z Twojej strony można uzyskać tylko za pieniądze bo na dobre chęci nie mam co liczyć. Na szczęście nie wszyscy forumowicze są tacy.

Małe sprostowanie dla:

  1. Co do programu: został on napisany przez kolegę i nie wnikam jak on to pisał. Ważne, że pomógł i nie płakał nad tym tak jak Ty.
  2. Profesor olewa wykłady, a zaliczyć to trzeba.
  3. Jestem grafikiem specjalizującym się w corelu i nie wiążę swojej przyszłości z programowaniem więc uważam, że nie warto poświęcać czasu na naukę czegoś co się nie przyda. tym bardziej, że pracuję i studiuję zaocznie więc tego czasu nie mam za wiele.

Jeśli chociaż jeden forumowicz rozumie moją sytuację proszę o pomoc. Z góry dziękuję.

0

jak na mój gust tacy profesorowie sa potrzebni bo po coś w końcu te studia się robi. Nie powiem, że wszystko jest łatwe ale wszystko da się nauczyć przy odrobinie chęci. Sam nie raz jak coś się uczę to się męczę ale powoli powoli i potem wiem, a czasem poziom postów w stylu wypełnij tablice ciągiem o różnicy 3 albo odwróć zdanie poraża :) .

0

Aha, czyli jednak zgadłem, że skrypt był pisany przez kolegę? Ma się te doświadczenie.

Na tym forum niestety biedni studenci którzy szukają frajerów (bo to jest właściwe określenie) którzy zrobią całą robotę za nich, nie znajdą pomocy. Nie rozumiem czegoś takiego jak "nie da się" czy "nie wiem jak do tego podejść". Wystarczy znać programowanie na poziomie newbie i postudiować PHP Manual przez 30 minut. I już wiesz co jaka funkcja robi - jak nie rozumiesz konkretnego fragmentu, to z chęcią ci wytłumaczę.

Niestety pomoc ogranicza się do pomocy, nie wyjaśnię ci jak działa twoja praca na zaliczenie.

0
Dean napisał(a)

Zasięga się wtedy rady eksperta i z tąd mój post.

To w końcu chcesz zasięgnąć rady, czy szukasz murzyna? Wielu ludziom wydaje się, że żyją w komunie i im się należy, co widać po Twojej odpowiedzi na post D.M. Jak na razie to Ty nie wykazałeś ani odrobiny "dobrej chęci", która mogła by skutkować zrobieniem czegokolwiek samodzielnie (piszesz, że program napisał już ktoś za Ciebie).

Jeżeli jednak dalej uważasz, że na forum powinien być jakiś "miłosierny samarytanin", możesz być jednym z nich! Mianowicie potrzebuję kogoś do odśnieżania mi rano samochodu. Zazwyczaj uczę się lub pracuję do późnej nocy i nie umiem wstać odpowiednio rano, zresztą i tak nie mam na to czasu. Chyba nie będziesz oczekiwał za pomoc pieniędzy, bo przecież wystarczy odrobina dobrych chęci.

edit: Żeby ten post był jednak odrobinę pomocny: zajrzyj na zlecenia.przez.net, tam chyba nawet da radę znaleźć kogoś, kto coś zrobi za free, tylko po to, żeby się podszkolić.

0
Dean napisał(a)

inteligencie. Widzę, że pomoc z Twojej strony można uzyskać tylko za pieniądze bo na dobre chęci nie mam co liczyć. Na szczęście nie wszyscy forumowicze są tacy.

Próbujesz grać na emocjach, ale być może nie wiesz, że na tym forum nie wszyscy użytkownicy są... głupi. Wręcz przeciwnie. Programiści potrafią myśleć analitycznie i przynajmniej wśród tych dobrych raczej trudno o jeleni.

Uzyskać pomoc, mówisz... Wejdź sobie w mój profil i kliknij przycisk wyszukujący moje posty. Mało pomagam? Słabo pomagam? Wszystko to za darmo. Tobie jednak nie pomogę i nie dlatego, że Cię nie lubię -- przecież się nie znamy (a parę postów to za mało, by się poznać) -- ani że mi się nie chce.

Pomoc to jednak jedno, zrobienie czegoś za kogoś to drugie. Dla mnie tłumaczenie czegoś komuś jest nawet fajne. Nie jest zawsze samą przyjemnością, bo wielu nowicjuszy ma problemy np. z testowaniem czy sprawdzaniem działania aplikacji i czasem zgłaszają błędy, których nie ma. Czasem muszę zerknąć w jakąś specyfikację, czasem nawet pomagam przy czymś, co mnie nie bardzo interesuje.

Ale tutaj jest tak, że ani mnie to nie interesuje, ani nie jest szczególnie ambitne. Myślisz, że powinienem tłumaczyć coś komuś, kto nawet nie chce tego zrozumieć? I Twoim zdaniem jeśli tego nie zrobię, to będę be? Litości, chłopie! Abstrahując od tego, napisałeś otwarcie, że to na zaliczenie. Wg mojego rozeznania (konsultowałem to ze studentami prawa) co prawda pomoc byłaby jak najbardziej OK, ale POMOC, a nie zrobienie pracy za Ciebie. W takim wypadku byłoby to po prostu... nielegalne (!).

Zastanów się, czy Ty byś komuś pomógł w takiej sytuacji? Poświęciłbyś trochę czasu na jakiś np. design, gdybyś wiedział, że zostanie wykorzystany do oszustwa, że zrobisz to za darmo i że nawet nie będziesz mógł się pod tym podpisać? I co, jeśli tego byś nie zrobił, to byłbyś niedobry? Czy może gdybyś to zrobił?

Cóż, jeśli masz na studiach sporo programowania, a Cię to nie interesuje, to może źle wybrałeś studia? Może w ogóle studia Ci są niepotrzebne, tzn. nie jesteś w stanie ich przejść? Studia nie są dla wszystkich. Zresztą, może powinieneś iść na ASP? Znam paru grafików po ASP lub pokrewnych. Niektórzy są świetni, inni tacy-se. Z programowania znają albo podstawy (głównie na skutek współpracy z webdeveloperami), albo nie wiedzą zupełnie niczego (np. webdesignerzy, którzy nie wiedzą, co to jest HTML, PHP i CSS). Mam też kumpla, który jest dobrym designerem, ale jest po informie i to na uczelni technicznej. Za programowaniem nigdy nie przepadał i nie można powiedzieć, by był z tego szczególnie dobry, ale potrafi np. pociąć layout. A jak czegoś nie wie, to pyta się mnie o ten szczegół. Podejrzewam, że jakby miał zrobić obsługę bazy danych, to wziąłby w łapę manual i tutoriale i jakoś by to zrobił. Niekoniecznie super optymalnie, ale by działało. I on jest grafikiem po (dobrej) informie. Może Ty na takiego się po prostu nie nadajesz. Nie mnie to oceniać.

Jednak nie licz, że takie teksty, jakie Ty tu wypisujesz, wjadą komuś na emocje. Na mnie to nie zadziała. I czy to na pewno znaczy, że jestem be?

Wiesz co ja robię, gdy chcę za darmo komuś pomóc? Gdy chcę od początku do końca coś za kogoś zrobić? Powiem Ci, bo zaraz otwieram edytor i będę się tym zajmował. Tnę layout strony chorego dziecka, którego rodzice chcą zebrać trochę kasy na niezbędne operacje. Jeśli miałbym być "nieczuły", to wtedy, gdybym zamiast tego zrobił schemat blokowy dla studenta, któremu się nie chce. Mam nadzieję, że przynajmniej przemyślisz to, co tu pisałeś i co sobie myślałeś o tych wstrętnych zawodowych koderach, którzy nie chcą za kogoś zrobić projektu.

BTW. w razie czego nie musisz iść na zlecenia przez net. Tutaj jest dział Praca i ludzie robią czasem tego typu rzeczy. Ważne: wydaje mi się, że tego typu oszukiwanie jest nielegalne i gdyby ktoś wiedział, że robi Ci projekt na zaliczenie, to łamałby prawo.

0

Wydaje mi się, że to powinno pomóc.
http://pl.php.net/manual/pl/function.echo.php
user image

1 użytkowników online, w tym zalogowanych: 0, gości: 1