Diskuze: PHP diskuze s reakcemi

PHP PHP PHP diskuze s reakcemi American English version English version

Aktivity (1)
Avatar
mr.sammet
Člen
Avatar
mr.sammet:10.3.2016 19:10

Zdravím, mohli byste mi prosím někdo pomoct s problémem, který řeším snad celý den? Tvořím v PHP diskuzi s reakcemi spojenou s databází a mám problém s vypsáním reakcí. Pokaždé mi to vypíše pouze první příspěvek s reakcemi, ale další už ne. Děkuji

Kód:

<?php $sql = "SELECT ID_diskuze, autor_diskuze, predmet_diskuze, text_diskuze, datum_cas_diskuze
                     FROM diskuze";
              $result = mysql_query($sql);

           while ($row = mysql_fetch_array($result)){

           $ID_diskuze = $row['ID_diskuze'];
           $autor_diskuze = $row['autor_diskuze'];
           $predmet_diskuze = $row['predmet_diskuze'];
           $text_diskuze = $row['text_diskuze'];
           $datum_cas_diskuze = $row['datum_cas_diskuze']; ?>

          <p>
          <span style="color:rgb(204,0,0); font-weight:bold; font-size: 20px">OD: <?php echo $autor_diskuze ?></span>
          <span style="color:rgb(0,0,0); font-size: 16px"> (<?php echo $datum_cas_diskuze ?>)</span><br />
          <span style="color:rgb(0,0,204); font-weight:bold; font-size: 16px">TITULEK: <?php echo $predmet_diskuze ?></span><br />
          <span style="font-weight:bold;">NAPSAL: </span><?php echo $text_diskuze ?>
          </p>

          <?php $sql = "SELECT ID_diskuze, hloubka_odpovedi, autor_odpovedi, text_odpovedi, datum_cas_odpovedi
                        FROM odpovedi
                        WHERE ID_diskuze = $ID_diskuze
                        ORDER BY hloubka_odpovedi ASC";
              $result = mysql_query($sql);

           while ($row = mysql_fetch_array($result)){

           $ID_diskuze = $row['ID_diskuze'];
           $hloubka_odpovedi = $row['hloubka_odpovedi'];
           $autor_odpovedi = $row['autor_odpovedi'];
           $text_odpovedi = $row['text_odpovedi'];
           $datum_cas_odpovedi = $row['datum_cas_odpovedi'];

           $reakce = $autor_odpovedi." - ".$datum_cas_odpovedi." - ".$text_odpovedi;

           ?>

           <p>
           <span style="color:rgb(0,204,0); font-weight:bold; font-size: 16px">REAKCE: <?php echo $reakce ?></span><br />
           </p>

      <?php }

          if((isset ($_SESSION['login_admin']) == true) and (isset ($_SESSION['pass_admin']) == true)) { ?>

          <form class="form-reakce" method="POST" action="diskuze.php">
          <input type="submit" name="<?php echo $ID_diskuze ?>" value="REAGOVAT">
          </form>

          <?php }

          if(isset($_POST[$ID_diskuze])){ ?>

          <form class="form-reakce" method="POST" action="diskuzereakce.php">
          <textarea name="reakce_diskuze" cols="100%" rows="4" ></textarea>
          <input type="submit" name="<?php echo $ID_diskuze ?>" value="Odeslat reakci">
          </form>

          <?php



          } }


          ?>
Editováno 10.3.2016 19:13
 
Odpovědět 10.3.2016 19:10
Avatar
Marek Z.
Redaktor
Avatar
Odpovídá na mr.sammet
Marek Z.:10.3.2016 19:45

U druhého cyklu přepiš $result na $result2 například.

Akceptované řešení
+20 Zkušeností
+1 bodů
Řešení problému
Nahoru Odpovědět  +1 10.3.2016 19:45
Chybami se člověk učí, běžte se učit jinam!
Avatar
mr.sammet
Člen
Avatar
Odpovídá na Marek Z.
mr.sammet:10.3.2016 19:48

nemám slov prostě, jaká jsem lopata :-D ... děkuji mockrát!!! :-)

Editováno 10.3.2016 19:49
 
Nahoru Odpovědět  +1 10.3.2016 19:48
Avatar
Martin Štěpánek (Enormyk):10.3.2016 21:15

jen doporučuji ty data od uživatele ošetřovat funkcí htmlspecialchars() ;-)

Nahoru Odpovědět 10.3.2016 21:15
Nesnáším, když někdo u if nepoužívá {}, byť se jedná o jeden řádek.
Avatar
mr.sammet
Člen
Avatar
Odpovídá na Martin Štěpánek (Enormyk)
mr.sammet:15.3.2016 16:16

jop SQL Injection jsem vyřešil hned poté, děkuji :-)

 
Nahoru Odpovědět 15.3.2016 16:16
Avatar
Nahoru Odpovědět  +2 15.3.2016 16:29
Aktuálně připravuji browser RPG, FB stránka - https://www.facebook.com/AlteiraCZ
Avatar
shaman
Člen
Avatar
Odpovídá na mr.sammet
shaman:15.3.2016 16:37

htmlspecialchars nie je osetrenie voci sql injection, aj ked na prvy pohlad ta moze ukludnit. Tiez tie mysql_ prikazy su uz niekolko rokov neodporucane pouzivat a v PHP7 uplne odstranene. Prepis ich aspon na mysqli alebo PDO.

Nahoru Odpovědět  +2 15.3.2016 16:37
try {...} catch (Exception ignored) { echo " ¯\_(ツ)_/¯ "; }
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 7 zpráv z 7.