За последние 24 часа нас посетили 21610 программистов и 1024 робота. Сейчас ищут 726 программистов ...

Тема и комментарии

Тема в разделе "PHP и базы данных", создана пользователем eddede, 31 мар 2022.

  1. eddede

    eddede Новичок

    С нами с:
    31 мар 2022
    Сообщения:
    12
    Симпатии:
    0
    Есть задача, чтобы при нажатии на тему на следующей странице появлялись все комментарии к этой теме К примеру Выбираю тему dron и на следующей странице выдает комментарии.

    file = forum.php
    PHP:
    1. $mysqli = new mysqli('localhost','root','','pra');
    2.     printf("Соединение не установлено", mysqli_connect_errno());
    3.     exit();
    4. }
    5.  
    6. $mysqli->set_charset('utf8');
    7.  
    8. $query = $mysqli->query('SELECT*FROM мов_forum');
    9.  
    10.  
    11. while ($row = mysqli_fetch_assoc($query)) {
    12.     echo "<table>
    13.    <tr>
    14.        <td>".$row['id']."</td>
    15.        <td><a href = 'comment.php'>".$row['tema']."</a></td>
    16.        <td>".$row['autor']."</td>
    17.        <td>".$row['data']."</td>
    18.        <td></td>
    19.    </tr>
    20. </table>";
    21. }
    22.  
    23. $mysqli->close();
    file = comment.php
    PHP:
    1. <?php
    2.  
    3. $mysqli = new mysqli('localhost','root','','pra');
    4.     printf("Соединение не установлено", mysqli_connect_errno());
    5.     exit();
    6. }
    7.  
    8. $mysqli->set_charset('utf8');
    9.  
    10. $query = $mysqli->query('SELECT * FROM мов_comment WHERE id_tema = 1' );
    11.   while ($row = mysqli_fetch_assoc($query)) {
    12.     echo $row['id']." ".$row['id_tema']." ".$row['autor']." ".$row['commentar']." ".$row['data'] ."<br>";
    13. }
    14. $mysqli->close();
    15. ?>
    может что-то надо дописать или переписать) пасиба))
     
  2. eddede

    eddede Новичок

    С нами с:
    31 мар 2022
    Сообщения:
    12
    Симпатии:
    0
  3. ADSoft

    ADSoft Старожил

    С нами с:
    12 мар 2007
    Сообщения:
    3.827
    Симпатии:
    738
    Адрес:
    Татарстан
    все перепилить и все переписать.....

    по тому что есть - вы про get параметры когда нибудь слышали?
    вы ведь в comment.php должны как то передать идентификатор той темы - по которой хотите комментарии посмотреть....

    file = forum.php
    Код (Text):
    1. <td><a href = 'comment.php?id={$row['id']}'>".$row['tema']."</a></td>
    file = comment.php
    PHP:
    1. $id = intval($_GET['id']);
    2. $query = $mysqli->query("SELECT * FROM мов_comment WHERE id_tema = $id" );
     
  4. eddede

    eddede Новичок

    С нами с:
    31 мар 2022
    Сообщения:
    12
    Симпатии:
    0
    Спасибо) я если честно и забыл шо есть параметр get) Спасибо)
     
  5. miketomlin

    miketomlin Старожил

    С нами с:
    9 авг 2016
    Сообщения:
    3.794
    Симпатии:
    650
    На этом форуме, да и на множестве других как-то обходятся без GET-параметров ;)
    --- Добавлено ---
    Сама логика второго скрипта у вас ошибочная, помимо использования параметра.
     
  6. eddede

    eddede Новичок

    С нами с:
    31 мар 2022
    Сообщения:
    12
    Симпатии:
    0

    а как лучше сделать 2 скрип?
     
  7. miketomlin

    miketomlin Старожил

    С нами с:
    9 авг 2016
    Сообщения:
    3.794
    Симпатии:
    650
    Сначала нужно проверить наличие самой темы и выбрать ее данные (название и т.п.).
    --- Добавлено ---
    Если темы нет, соответственно 404. Пытаться выбирать комменты несуществующей темы не надо :)
     
  8. antoniii

    antoniii Активный пользователь

    С нами с:
    16 мар 2022
    Сообщения:
    417
    Симпатии:
    71
    Вот в эту строчку добавь после адреса скрипта параметр :
    PHP:
    1. <td><a href = 'comment.php?id='.$row['id'].'>".$row['tema']."</a></td>
    а на странице comment.php его получишь как $_GET['id']