Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][PHP]komentarze pod odpowiednim newsem.
Forum PHP.pl > Forum > Przedszkole
beatZB
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 !");
}

?>


kamilos809
Najprościej będzie jak dodasz do pliku z komentarzami odpowiedni zapis smile.gif
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.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.