![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 19 Pomógł: 0 Dołączył: 10.12.2014 Ostrzeżenie: (0%) ![]() ![]() |
Witam.
Nie wiem jak poradzic sobie z następującą kwestią: mam skrypt który wyświetla mi dane z tabeli bazy id|nazwa|przepis|kategoria| wyświetla mi je po kolei, mam skrypt dodawania komentarzy jale dodaje komentarz do każdego przepisu. A nie tylko do tego co chcę. Skrypt zapisuje komentarze w pliku tekstowym. I teraz moje pytanie, da się zmienic skrypt komentarzy który zapiuje je w .txt na taki który będzie dodawał do odpowiedniego przepisu komentarz - czy musem jest zrobic osobną tabelę z komentarzami i napisac zupełnie inny skrypt ? Jeśli tak- to w jaki sposób zrobic, aby w osobnych tabelach trzymac dane a żeby komentarz był akurat do tego przepisu co chcę?... wyświetlanie danych: CODE <?php try { $pdo = new PDO('mysql:host=localhost;dbname=przepisy', 'beatam', '123') or die ('problem z nawiązaniem połączenia!'); $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); $stmt = $pdo->query("SELECT * FROM przepis WHERE kategoria='makaronowe'"); echo '<ul>'; foreach($stmt as $row) { echo '<li>'.$row['nazwa'].': '.$row['przepis'].':'.$row['id'].' </li>' ; include 'komcio.php'; ?> komcio.php CODE <div class="komen"> <?php $nazwa = file("komentarze.txt"); echo "<komentarze>komentarze: " . count($nazwa) . " "; ?></komentarze> <br> <br><br> <?php include("komentarze.txt"); ?> <form action="komentarz.php" method="POST" onsubmit="return validateForm(this);"> <form> <div class="item"> <label for="name">Imię: </label> <div class="field-holder"> <div class="left name"></div> <input type="text" name="nick" class="field" id="name" required="required" placeholder="imie" pattern="[A-Za-z0-ˇą-Żż]{1,}" /> <div class="right"></div> <div class="clear"></div> </div> </div> <div class="item"> <label for="phone">mail: </label> <div class="field-holder"> <div class="left phone"></div> <input type="text" name="mail" class="field" id="phone" required="required"placeholder="email" pattern="([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})"> <div class="right"></div> <div class="clear"></div> </div> </div> <div class="item"> <label for="message">Wiadomość: </label> <div class="area-holder"> <div class="tArea-left"></div> <textarea name="pole" id="message" class="tArea" required="required" placeholder="treść" pattern="[A-Za-z0-ˇą-Żż]{3,}"></textarea> <div class="tArea-right"></div> <div class="clear"></div> </div> </div> <br><br> <input type="hidden" name="sent" value="1" /> <div class="submit-holder"> <input type="submit" class="submit" name="submit" value="" title="Wyślij" /> <input type="reset" class="reset" value="" title="Wyczyść" /> </div> </form> komentarz.php CODE <?php $nick = $_POST['nick']; $mail = $_POST['mail']; $date=date('H:i d.m.Y'); $pole = $_POST['pole']; $nick = HTMLSpecialChars($nick); $mail = HTMLSpecialChars($mail); $pole = HTMLSpecialChars($pole); if(strlen($pole) > 5) if(strlen($nick) > 2) { $tresc = wordwrap($pole, 50, "\n", 1); $wynik = '<autor>'. $nick .'</autor> <adres> '. $mail .'</adres> <data>'.$date.'</data> <br><koment>'. $tresc .'</koment> <br><br>'; $wynik .= PHP_EOL; $plik = "komentarze.txt"; $fp = fopen($plik, "a"); fwrite ($fp, $wynik); echo("Twój komentarz to $pole,<br> Aby zobaczyć komentarze <a href='komentarze.php'>kliknij tutaj</a>"); }else{ echo(" błąd musisz wpisać nick min.3 znaki!"); } else{ echo(" błąd musisz wpisać treść min.6 znaki !"); } ?> |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 165 Pomógł: 3 Dołączył: 2.04.2010 Ostrzeżenie: (10%) ![]() ![]() |
Najprościej będzie jak dodasz do pliku z komentarzami odpowiedni zapis
![]() Skoro każdy przepis ma swoje ID, to zrób w tej tekstowej bazie z komentarzami zapis o id żeby wyglądało to tak: komentujący | Treść komentarza | id przepisu pod id przepisu będzie dane ID, a dzięki PHP możesz spokojnie obrobić to tak, żeby jeżeli id przepisu=1 wtedy wyświetli Ci wszystkie komentarze do tego przepisu a nie żadne inne, ponieważ to co zrobiłeś, po prostu wstawia plik z komentarzami do kodu i tyle. |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 19.07.2025 - 05:36 |