• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Jeden skrypt, wyniki w wielu divach.

Aruba Cloud VPS - 50% taniej przez 3 miesiące!
0 głosów
150 wizyt
pytanie zadane 17 listopada 2020 w PHP przez Fover3241 Nowicjusz (230 p.)

Zrobiłem całe zadanie egzaminacyjne, jednak nauczyciel kazał je poprawić, ponieważ mam w pliku kilka skryptów php, a nie jeden. Rozdzieliłem te skrypty, żeby łatwiej było mi je umieścić na stronie (jeden w jednym divie, kolejny w innym). Jak połączyć te skrypty w jeden, tak żeby wyniki tych skryptów pokazywały mi się w divach, które wskażę? Poniżej dodaję kod który mam aktualnie.

<!doctype HTML>
<HTML>
<head>
    <link rel="stylesheet" href="styl.css"/>
    <meta charset="UTF-8"/>
    <title>Szkoła Ponadgimnazjalna</title>
</head>

<body>

    <div class="baner">
        <h1>Oceny uczniów: język polski</h1>
    </div>

    <div class="lewy">
        <h2>Lista uczniow:</h2>
        <ol>
        <li><?php
            $login="root";
            $host="localhost";
            $haslo="";
            $db_name="szkola";
            $polacz= mysqli_connect($host,$login,$haslo,$db_name);
            $sql="SELECT imie,nazwisko FROM `uczen` where id='1' ";
                if ($rezult=mysqli_query($polacz,$sql))
                {
                    while ($row=mysqli_fetch_row($rezult))
                    {
                        printf ("%s %s\n",$row[0],$row[1]);
                    }
                }
            $polacz->close();
        ?>
        </li>
        <li>
            <?php
                $login="root";
                $host="localhost";
                $haslo="";
                $db_name="szkola";
                $polacz= mysqli_connect($host,$login,$haslo,$db_name);
                $sql2="SELECT imie,nazwisko FROM `uczen` where id='2' ";
                    if ($rezult2=mysqli_query($polacz,$sql2))
                        {
                            while ($row2=mysqli_fetch_row($rezult2))
                            {
                                printf ("%s %s\n",$row2[0],$row2[1]);
                            }
                        }
                $polacz->close();
            ?>
        </li>
        </ol>
    </div>

    <div class="prawy">
        <h2>Uczeń:
            <?php 
                $login="root";
                $host="localhost";
                $haslo="";
                $db_name="szkola";
                $polacz= mysqli_connect($host,$login,$haslo,$db_name);
                $sql="SELECT imie,nazwisko FROM `uczen` where id='2' ";
                    if ($rezult=mysqli_query($polacz,$sql))
                    {
                        while ($row=mysqli_fetch_row($rezult))
                        {
                            printf ("%s %s\n",$row[0],$row[1]);
                        }
                    }
                $polacz->close();
            ?>
        </h2>
            <?php 
                $login="root";
                $host="localhost";
                $haslo="";
                $db_name="szkola";
                $polacz= mysqli_connect($host,$login,$haslo,$db_name);
                $rezultat= mysqli_query($polacz,"SELECT AVG(ocena) FROM `ocena` WHERE uczen_id='2' and przedmiot_id='1'");
                echo "<p>Średnia ocen z języka polskiego: ";
                echo mysqli_fetch_row($rezultat)[0];
                echo "</p>";
                $polacz->close();

        
            ?>
        
    </div>

    <div class="stopka">
        <h3>Zespół Szkół Ponadgimnazjalnych</h3>
        <p>Stronę opracował: Korbel</p>
    </div>

</body>
</HTML>
*{
    margin:0;
}

body{
}

.baner{
    background-color: #3A7AD9;
    text-align: center;
    height: 50px;
}

.lewy{
    background-color: #5D93E2;
    height: 400px;
    width: 30%;
    float: left;
}

.prawy{
    background-color: #88B0EC;
    height: 400px;
    width: 70%;
    float: left;
}

.stopka{
    background-color: #3A7AD9;
    width: 100%;
    text-align: right;
}

 

komentarz 17 listopada 2020 przez Tomek Sochacki Ekspert (227,490 p.)
To zadanie jest zrobione źle już w samych założeniach. Zauważ, że powielasz kod milion razy, w tym robisz wielokrotnie połączenie z bazą danych. Po co tak co chwilę robić nowe połączenie, a nie skorzystać z jednego z róznymi query? Druga rzecz, że te rezultaty query jak i same query też są praktycznie takie same... to powinno być zamknięte w jakiś funkcjach, które przyjmą odpowiednie parametry. Taki kod szczerze mówiąc moim zdaniem powinien zostać całkowicie odrzucony jako rozwiązanie jakiegoś egzaminu itp.

A druga rzecz, że dzielenie na pliki to jak najbardziej poprawne podejście - zapytaj tego nauczyciela jaki sens jest wg niego robienia jednego wielkiego pliku i zapytaj, w ilu aplikacjach komercyjnych tak się wg niego robi...
komentarz 17 listopada 2020 przez Fover3241 Nowicjusz (230 p.)
Bardzo podobny kod ma mój znajomy (robiliśmy zadanie razem), przy sprawdzaniu obu komentarz był ten sam, kilka skryptów zamiast jednego. Nie mówił nic na temat kilkukrotnego łączenia się z bazą. Dla mnie ważne jest, że działa, bo z tym nauczycielem zawsze były ciekawe sytuacje i na innym przedmiocie z innym nauczycielem się tak naprawdę uczę, a ten przedmiot na który mam to zadanie to... relaks.

Nauczyciel na swój argument podaje, że jest egzaminatorem i wie jak ma oceniać takie rzeczy, a w poleceniu jest napisany skrypt w liczbie pojedynczej, a nie mnogiej. Normalnie to bym z nim z chęcią podyskutował, ale mam tyle rzeczy na głowie, że nie chce marnować czasu na takich osobników.
komentarz 17 listopada 2020 przez Tomek Sochacki Ekspert (227,490 p.)
heh... dla mnie to nauczyciel, który powinien sobie darować ten zawód bo kompletnie się do tego nie nadaje... smutne jest to, jak widzę często na jakim poziomie jest nauka w szkołach w Polsce i to nie tylko jeśli chodzi o IT, ale tutaj szczególnie mnie to boli tym bardziej, jak potem dowiaduję się ilu to "nauczycieli" z technikum itp. uczy programowania na bootcampach itp... na prawdę słyszałem tylko pojedyncze historie, gdzie ludzie wypowiadali się pozytywnie o nauczycielach...

Niech ten nauczyciel idzie do firmy komercyjnej i tam wygłasza sobie takie teorie... w 5 sekund by go zgasili z tymi jego pomysłami jak powinien wyglądać kod...

Smutne :(

1 odpowiedź

+1 głos
odpowiedź 17 listopada 2020 przez SzkolnyAdmin Szeryf (89,030 p.)
Jak chce jeden skrypt to niech ma. Pozostaw znacznik otwierający pierwszy skrypt, pozostaw znacznik zamykający ostatni skrypt. Na początku pozostaw połączenie z bazą. Wypisz potrzebne dane uzyskane  z bazy. Nie zamykaj połączenia. Niezbędne elementy HTML wypisz przy pomocy echo. Zadaj następne zapytanie, wypisz wyniki, itd. Ogólnie kaszanka, ale jak chce to ma.

Podobne pytania

0 głosów
1 odpowiedź 272 wizyt
pytanie zadane 6 stycznia 2017 w JavaScript przez Marshall_ Początkujący (350 p.)
0 głosów
1 odpowiedź 274 wizyt
0 głosów
0 odpowiedzi 438 wizyt
pytanie zadane 23 lipca 2018 w PHP przez kevin Mądrala (5,010 p.)

93,187 zapytań

142,201 odpowiedzi

322,012 komentarzy

62,514 pasjonatów

Advent of Code 2024

Top 15 użytkowników

  1. 2365p. - dia-Chann
  2. 2315p. - Łukasz Eckert
  3. 2209p. - Łukasz Piwowar
  4. 2037p. - Tomasz Bielak
  5. 2006p. - rucin93
  6. 2006p. - Michal Drewniak
  7. 2005p. - Łukasz Siedlecki
  8. 1964p. - CC PL
  9. 1946p. - Adrian Wieprzkowicz
  10. 1901p. - Mikbac
  11. 1744p. - rafalszastok
  12. 1734p. - Anonim 3619784
  13. 1586p. - Dawid128
  14. 1520p. - Marcin Putra
  15. 1480p. - ssynowiec
Szczegóły i pełne wyniki

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj

Wprowadzenie do ITsec, tom 1 Wprowadzenie do ITsec, tom 2

Można już zamawiać dwa tomy książek o ITsec pt. "Wprowadzenie do bezpieczeństwa IT" - mamy dla Was kod: pasja (użyjcie go w koszyku), dzięki któremu uzyskamy aż 15% zniżki! Dziękujemy ekipie Sekuraka za fajny rabat dla naszej Społeczności!

...