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

dlaczego dostaje błąd skałdni echo<<<

Object Storage Arubacloud
+1 głos
319 wizyt
pytanie zadane 16 marca 2022 w PHP przez gatka84 Bywalec (2,150 p.)

Witajcie przerabiam tutorial (https://www.youtube.com/watch?v=sJsVoAZLa1Q) i nie wiem czemu nie chce mi to działać mam błąd składni tj

    <?php 
                
                $query = "SELECT * FROM `blog_1`";
                $result = mysqli_query($con,$query);
                $i=1;
                $fetch_src=FETCH_SRC;


                while($fetch=mysqli_fetch_assoc($result))
                {
                    echo<<<product
                        <tr class="algin-middle">
                            <th scope="row">$i</th>
                            <td><img src="$fetch_src$fetch[image]" width="150px"</td>
                            <td>$fetch[name]</td>
                            <td>$fetch[price]</td>
                            <td>$fetch[description]</td>
                            <td>
                            <a href="?edit=$fetch[id]" class="btn btn-warning me-2"><i class="bi bi-pencil-square" ></i></a>
                            <button onclick="confirm_rem($fetch[id])" class="btn btn-danger"><i class="bi bi-trash"></i></button>
                            </td>
                        </tr>
                        product;  <--tu mi podkreśla błąd czyli nie gra tu coś 
                    $i++;
                }            
                ?>

nie mogę odpalić

<div class="modal fade" id="editproduct" data-bs-backdrop="static" data-bs-keyboard="false" tabindex="-1"
        aria-labelledby="staticBackdropLabel" aria-hidden="true">

        <form action="crud.php" method="POST" enctype="multipart/form-data">
            <div class="modal-dialog">
                <div class="modal-content">
                    <div class="modal-header">
                        <h5 class="modal-title">Edytuj Card</h5>
                    </div>
                    <div class="modal-body">
                        <div class="input-group mb-3">
                            <span class="input-group-text">Name</span>
                            <input type="text" class="form-control" name="name" id="editname">
                        </div>
                    </div>
                    <div class="modal-body">
                        <div class="input-group mb-3">
                            <span class="input-group-text">Price</span>
                            <input type="number" class="form-control" name="price" id="editprice">
                        </div>
                    </div>
                    <div class="input-group">
                        <span class="input-group-text">Description</span>
                        <textarea class="form-control" name="desc" id="editdesc"></textarea>
                    </div>
                    <img scr="" id="editimg" width="100%" class="mb-3"><br>
                    <div class="input-group mb-3">
                        <label class="input-group-text" for="inputGroupFile01">Image</label>
                        <input type="file" class="form-control" name="image" accept=".jpg, .png, .svg, .webp">
                    </div>
                    <div class="modal-footer">
                        <button type="reset" class="btn btn-outline-secondary" data-bs-dismiss="modal">Canel</button>
                        <button type="submit" class="btn btn-success" name="editproduct">Edit</button>
                    </div>
                </div>
        </form>
    </div>

może ktoś miał podobny problem z modal albo może jakieś nakierowanie jak wychwycić gdzie jest błąd

1 odpowiedź

0 głosów
odpowiedź 16 marca 2022 przez rafal.budzis Szeryf (85,260 p.)

Z tego co znalazłem to przed product;  nie może być żadnych białych znaków ;) 

            while($fetch=mysqli_fetch_assoc($result))
            {
                echo<<<product
                    <tr class="algin-middle">
                        <th scope="row">$i</th>
                        <td><img src="$fetch_src$fetch[image]" width="150px"</td>
                        <td>$fetch[name]</td>
                        <td>$fetch[price]</td>
                        <td>$fetch[description]</td>
                        <td>
                        <a href="?edit=$fetch[id]" class="btn btn-warning me-2"><i class="bi bi-pencil-square" ></i></a>
                        <button onclick="confirm_rem($fetch[id])" class="btn btn-danger"><i class="bi bi-trash"></i></button>
                        </td>
                    </tr>
product;
                $i++;
            }

Jednak w moim odczuciu lepiej się pobawić w szablony jakoś wole tą składnie :

 

<?php 
    $query = "SELECT * FROM `blog_1`";
    $result = mysqli_query($con,$query);
    $i=1;
    $fetch_src=FETCH_SRC;
?>
 
<?php while($fetch=mysqli_fetch_assoc($result)) : ?>
    <tr class="algin-middle">
        <th scope="row"><?=$i++?></th>
        <td><img src="<?=$fetch_src.$fetch['image']?>" width="150px"</td>
        <td><?=$fetch['name']?></td>
        <td><?=$fetch['price']?></td>
        <td><?=$fetch['description']?></td>
        <td>
            <a href="?edit=<?=$fetch[id]?>" class="btn btn-warning me-2">
                <i class="bi bi-pencil-square" ></i>
            </a>
            <button onclick="confirm_rem(<?=$fetch['id']?>)" class="btn btn-danger">
                <i class="bi bi-trash"></i>
            </button>
        </td>
    </tr>
<?php endwhile ?>



 

komentarz 16 marca 2022 przez gatka84 Bywalec (2,150 p.)

Dziękuje za podpowiedz faktycznie błąd składni znikł ale dalej nie odpala modala po naciśnięciu edit w ścieżce podaje

http://127.0.0.1/cms8/?edit=5

i miało być przez skrypt poniżej przejęte i wyświetlić modal z edycją wybranego wiersza

<?php
    if(isset($_GET['edit']) && $_GET['edit']>0)
    {
        $query = "SELECT * FROM `blog_1` WHERE `id`='$_GET[edit]'";
        $result=mysqli_query($con,$query);
        $fetch=mysqli_fetch_assoc($result);
        echo"
            <script>
                var editproduct = new bootstrap.Modal(document.getElementById('editproduct'), {
                    keyboard: false
                });
                document.querySelector('#editname').value=`$fetch[name]`;
                document.querySelector('#editprice').value=`$fetch[price]`;
                document.querySelector('#editdesc').value=`$fetch[description]`;
                document.querySelector('#editimg').value=`$fetch_src$fetch[image]`;
                document.querySelector('#editpid').value=`$GET[edit]`;
                editproduct.show();              
            </script>
        ";
    }

    ?>

co zrobiłam nie tak że nie chce to działać, tutorial analizowałam wiele razy i nie potrafię wychwycić błędu, a że się dopiero uczę to prosiła bym lepszych o pomoc

komentarz 16 marca 2022 przez rafal.budzis Szeryf (85,260 p.)
Musisz wysłać jakiś błąd. Bez znalezienia informacji o błędzie nie warto naprawiać niczego no bo jak?

Odpal stronę w przeglądarce i kliknij F12. W zakładce konsola pewnie będziesz miała jakiś konkretny błąd ;)
komentarz 16 marca 2022 przez VBService Ekspert (252,660 p.)

Nie jest zalecane generowanie kodu js-a w ten sposób za pomocą choćby php-a. 

IMHO, lepiej jest po prostu "przeładować" stronę, lub jak w Twoim przypadku gdy masz modal-a, użyć ajax-a i json-a.

komentarz 17 marca 2022 przez rafal.budzis Szeryf (85,260 p.)

Może i są lepsze sposoby ale watro się uczyć kroczek po kroczku. Widziałem takie kody wykorzystywane na produkcji i warto nauczyć się utrzymywać taki kod. Nigdy nie wiesz gdzie trafisz. Ale masz racje też bym wolał w np. globalnym scope zrobić jakiegoś JSONa

komentarz 17 marca 2022 przez gatka84 Bywalec (2,150 p.)

@rafal.budzis, 

Zrobiłam jak pisałeś i mam taki błąd:

Uncaught TypeError: document.querySelector(...) is null
    <anonymous> http://localhost:3000/cms8/index.php?edit=5:181

 

komentarz 17 marca 2022 przez gatka84 Bywalec (2,150 p.)
ok już naprawiłam błąd

document.querySelector('#editpid').value=`$GET[edit]`;

a ma być

document.querySelector('#editproduct').value=`$GET[edit]`;

i teraz błędu nie wywala ale po naciśnięciu edytuj i teraz powinno pojawić się okno modal to zamiast tego ekran się przyciemnia ale nie wyświetla się okno modalu

jakieś pomysły?

Podobne pytania

0 głosów
0 odpowiedzi 94 wizyt
0 głosów
0 odpowiedzi 67 wizyt
0 głosów
1 odpowiedź 132 wizyt

92,536 zapytań

141,377 odpowiedzi

319,456 komentarzy

61,922 pasjonatów

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.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...