Ocena wątku:
  • 0 głosów - średnia: 0
  • 1
  • 2
  • 3
  • 4
  • 5
[PHP][MYSQL] Niepoprawne działanie skryptu z komentarzami i stronicowaniem komentarzy
#1
Witam,

Prosiłbym o pomoc w rozwiązaniu problemu ze skryptem dodającym komentarze i stronicowaniem.
Problem polega na tym, że skrypt dodający komentarze wg mnie działa, bo dane z komentarza zapisują się w bazie danych, ale nie wyświetla się komentarz pod formularzem dodającym komentarz. Dopiero jak odświeżę stronę to wtedy widać go.

Drugi problem jest źle działajace stronicowanie, gdzie prawidłowo jest wyświetlana liczba komentarzy do danego przepisu, ale nie działają linki w stronicowaniu: [1] [2] [3].... .

Na stronie, która wyświetla szczegóły przepisu i komentarze doi niego mam:

Kod:
<?php
            
            if(isset($_GET['strona_komentarzy'])==true)
            $strona=(($_GET['strona_komentarzy']-1)*3);
            else
                $strona=0;
            
            //pobranie wszystkich komentarzy i wyświetlanie ich na stronie


//wyciągamy wszystkie komentarze dotyczące konkretnego przepisu - z id przepisu
$wyniki=mysql_query("SELECT * FROM komentarze WHERE id_przepisu={$_GET['id_przepisu']}");
echo mysql_error();

echo "<div id='komentarze' style='margin-left: 80px; margin-right: 80px;'>";//zle dziala

$licznik=0;

while($komentarz=mysql_fetch_assoc($wyniki))//pokazujeje komentarze jedne pod drugimi
{
    if($licznik%2==0)//parzyste
    {
        echo "<span style='color: blue; '>{$komentarz['komentarz_przepisu']}</span>";
    }    
    else //nieparzyste
    {
        echo "<span style='color: red;'>{$komentarz['komentarz_przepisu']}</span>";    
    }
    $licznik++;
    
    echo "<hr style='color: red; '>";
}

echo "</div>";




//stronicowanie- zle dziala
                    
                    //zapytanie ktore liczy nam ile jest przepisów
                    $wynik=mysql_query("SELECT count(*) as ilosc FROM komentarze WHERE id_przepisu={$_GET['id_przepisu']}");
                    
                    $komentarze=mysql_fetch_assoc($wynik);
                    
                    echo "<span style='margin-left: 80px;'>Komentarzy</span><span style='margin-left:10px; color: green;'>( {$komentarze['ilosc']} )</span>";
                    
                    $liczba_stron=ceil($komentarze['ilosc']/3); //liczba komentarzy/ilosc komentarzy i zaokraglac w gore-ceil (floor-zaokraglenie w dol)
                    
                    echo "<span class='stronicowanie' style=' margin-left: 10px;'>";
                    
                    $licznik=1;
                    
                    while($licznik<=$liczba_stron) //wyswietli tyle razy ile mamy liczbe stron
                    {
                    echo "<a href='pokaz_przepis.php?strona_komentarzy=$licznik#komentarze' style='color: red; margin-left: 10px;'>[ {$licznik} ]</a>";//numery grup komentarzy, #komentarze- na koncu linku przenosi namw miejsce wystapienia diva (div komentarze), i trzeba objac wszystkie komentarze w diva
                    
                    $licznik++;
                    }
                    
                    echo "</span>";
                    
                    echo "</div>";


?>

Program dodający komentarz wygląda następująco:

Kod:
<?php

mysql_connect('localhost','root','haslo');
mysql_select_db('przepisy_kulinarne_mp');
mysql_query("SET NAMES UTF8");//polaczenie w utf8

//zeby nie wstawiac pustych komentarzy-jesli tresc byla pusta to exit
if($_GET['komentarz_przepisu']=='')
    exit();

mysql_query("INSERT INTO komentarze(komentarz_przepisu,id_przepisu) VALUES('{$_GET['komentarz_przepisu']}',{$_GET['id_przepisu']})");//odbieramy id z pola ukrytegio, komentarz razem z przepisem  bedzie on przekazany

//powoduje automatyczne przensozenie do pliku pokaz_przepis bez odswierzania-nie mozna nic wyswietlac-ani echa, ani include,zadnego kodu html nie daje sie

echo "INSERT INTO komentarze(komentarz_przepisu,id_przepisu) VALUES('{$_GET['komentarz_przepisu']}',{$_GET['id_przepisu']})";


header("Location: pokaz_przepis.php");

?>

Tabela przepisy wygląda następująco:

Kod:
id_przepisu, autor_przepisu, id_kategorii, id_rodzaju_kuchni, czas_wykonania, tytul_przepisu, skladniki, tresc_przepisu, czas_przepisu, id_komentarza

Tabela komentarze_przepisu jest taka:

Kod:
id_komentarza, komentarz_przepisu, id_przepisu

Pozdrawiam,

martinstw
Odpowiedz


Wiadomości w tym wątku
[PHP][MYSQL] Niepoprawne działanie skryptu z komentarzami i stronicowaniem komentarzy - przez martinprz - 23-11-2012, 02:40

Podobne wątki…
Wątek: Autor Odpowiedzi: Wyświetleń: Ostatni post
  Jak sprawdzić czy adres www znajduje sie w bazie mysql? jarekcda 8 9,025 13-05-2017, 01:02
Ostatni post: miketodson255
  Limit czasu wykonywania skryptu jasikj 3 5,084 23-09-2013, 14:26
Ostatni post: Engine
  Optymalizacja MySQL-a tomek_00 1 3,928 01-09-2013, 13:31
Ostatni post: hieroshima
  [MySQL] Struktura bazy dla słownika msx83 2 3,926 24-08-2013, 16:26
Ostatni post: msx83
  Komunikacja PHP z MySQL na serwerze pawstrze 5 6,453 16-07-2013, 15:58
Ostatni post: Engine

Skocz do:


Użytkownicy przeglądający ten wątek:
Sponsorzy i przyjaciele
SeoHost.pl