elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Arreglado, de nuevo, el registro del warzone (wargame) de EHN


+  Foro de elhacker.net
|-+  Programación
| |-+  Desarrollo Web
| | |-+  PHP (Moderador: #!drvy)
| | | |-+  Evitar que se borre una ultima entrada
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Evitar que se borre una ultima entrada  (Leído 1,466 veces)
inquilin@19

Desconectado Desconectado

Mensajes: 81



Ver Perfil
Evitar que se borre una ultima entrada
« en: 20 Diciembre 2011, 19:16 pm »

Hola a todos, estoy haciendo un foro en PHP y mi duda es la siguiente:
Tengo que hacer que, al borrar posts de un tema me deje borrar todos menos el ultimo del tema, he conseguido que me haga eso pero cuando solo queda un tema en el foro o cuando el resto de temas no tiene posts (cosa que quiero evitar) aqui os dejo el codigo haber si me podeis decir que he puesto mal

Código:
<?php
   $mysqli = mysqli_connect("localhost", "root",
         "", "foro_1");

  if (!$_POST)  {
       $display_block = "";
      $get_list_sql = "SELECT p.post_id,
                         CONCAT_WS(', ', t.topic_title, p.post_owner) AS display_post
                         FROM forum_posts AS p
INNER JOIN forum_topics AS t ON p.topic_id= t.topic_id ORDER BY post_id";
         $get_list_res = mysqli_query($mysqli, $get_list_sql)
                      or die(mysqli_error($mysqli));
       if (mysqli_num_rows($get_list_res) < 1) {
           $display_block .= "<p><em>No hay ningun tema, se el primero
   en crear <a href=\"addtopic.html\">un tema para postearlo</a></em></p>";
       } else if (mysqli_num_rows($get_list_res) == 1){
   echo "No se puede borrar el ultimo post de un tema";
   echo "<p>Volver a<a href=\"index_foro.html\"> Inicio</p>";
   } else {
           $display_block .= "
              <form method=\"post\" action=\"".$_SERVER["PHP_SELF"]."\">
              <p><strong>Selecciona un post para borrarlo</strong><br/>
              <select name=\"sel_id\">
              <option value=\"\">--Elige uno--</option>";
              while ($recs = mysqli_fetch_array($get_list_res)) {
                  $id = $recs['post_id'];
                $display_name = stripslashes($recs["display_post"]);
                $display_block .= "<option value=\"".$id."\">".
                $display_name."</option>";
           }

             $display_block .= "
             </select>
             <p><input type=\"submit\" name=\"submit\"
                      value=\"Borrar el post\"></p>
<p>VOLVER A <a href=\"topiclist.php\">LOS TEMAS</p>
            </form>";
       }
         mysqli_free_result($get_list_res);
} else if ($_POST) {
     //check for required fields
     if ($_POST["sel_id"] == "")  {
         header("Location: delpost.php");
         exit;
     }

      $del_master_sql = "DELETE FROM forum_posts WHERE
                       post_id = '".$_POST["sel_id"]."'";
    $del_master_res = mysqli_query($mysqli, $del_master_sql)
                      or die(mysqli_error($mysqli));

    $display_block = "<h1>POST BORRADO</h1>
    <p>¿Quieres
    <a href=\"".$_SERVER["PHP_SELF"]."\">borrar otro</a>?</p>
<p>¿Quieres volver a la <a href=\"topiclist.php\">los Temas?</p>";
 }
 ?>
 <html>
 <head>
 <title>Mis temas</title>
 </head>
 <body>
 <?php echo $display_block; ?>
 </body>
 </html>

De antemano muchas gracias


En línea

Sólo mirando al frente se puede seguir, llevar lastres en el camino no te lo permiten
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines