2014-10-21 4 views
0

Прошел месяц с тех пор, как я начал изучать сам php, html и mysql. Я создаю простой php-сайт для определенной студенческой организации в моей школе. Во-первых, я искал уже здесь, и это то, что я получил: Delete button for each table rowВывести все изображения из базы данных с помощью сгенерированных кнопок

Этот вопрос для меня совсем не такой, но я действительно застрял здесь. Я хочу, чтобы все мои изображения из моей таблицы отображались на моей странице в столбцах «N», а затем появилась «сгенерированная» кнопка с запросом внутри нее. Это не совсем то, что я должен делать в своих кодах, но для меня это станет отличным началом для понимания всего процесса.

Здесь мой код на странице, где все это произойдет: Примечание: Я использую twitter bootstrap. Я не знаю, как работает bootstrap, но я просто знаю, как редактировать базовые php, html, jquery, javascript, css. JUST ОСНОВА :)

<?php 
    include 'img2db_pdo.class.php'; 
    require("common.php"); 

    if(empty($_SESSION['user'])) 
    { 
     header("Location: http://localhost/se/index.php"); 
     die("Redirecting to login.php"); 
    } 
    else 
    { 
     //This following codes are for checking the session in DB 
     $query = " 
      SELECT 
       id, 
       password, 
       emailAddress, 
       membership 
      FROM memberlist 
      WHERE 
       session = :var_val 
     "; 
     $query_params = array(
      ':var_val' => 'True' 
     );  

     try 
     { 

      $stmt = $db->prepare($query); 
      $result = $stmt->execute($query_params); 

     } 
     catch(PDOException $ex) 
     { 
      die("Failed to run query: " . $ex->getMessage()); 
     } 
     $row = $stmt->fetch(); 



     if ($row['membership'] == 'Officer' || $row['membership'] == 'Member') 
     { 
      header("Location: http://localhost/memberdir/index.php"); 
     } 

    }  
?> 
<!doctype html> 
<html lang="en"> 
    <head> 
     <meta charset = "UTF-8"> 
     <meta name="viewport" content="width=device-width, initial-scale=1"> 
     <title>Annyeong Tomasino</title> 
     <link rel="stylesheet" href="css/bootstrap.min.css"> 
     <link href="custom.css" rel="stylesheet"> 
     <link href="jumbotron.css" rel="stylesheet"> 
     <link href="carousel.css" rel="stylesheet"> 
     <link rel="stylesheet" href="css/pikaday.css"> 
    </head> 

    <body> 

    <?php 
    if (isset($_GET['message'])){ 
    $message2 = $_SESSION[$_GET['message']]; 
    echo "<script type='text/javascript'>alert(message2);</script>"; 
    } 
    ?> 
     <div class="navbar navbar-inverse navbar-fixed-top" role="navigation"> 
      <div class="container"> 
      <div class="menubar"> 
       <div class="navbar-header"> 
        <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse"> 
         <span class="sr-only">Toggle navigation</span> 
         <span class="icon-bar"></span> 
         <span class="icon-bar"></span> 
         <span class="icon-bar"></span> 
        </button> 
        <a class="navbar-brand" href="#"><font color="#ffffff">Annyeong Tomasino</font></a> 
       </div> 
       </div> 

       <div class="navbar-collapse collapse"> 
        <ul class="nav navbar-nav"> 
         <li class="active"><a href="index.php">Home</a></li> 
         <li class="dropdown"> 
          <a href="#" class="dropdown-toggle" data-toggle="dropdown">Admin<b class="caret"></b></a> 
           <ul class="dropdown-menu"> 
            <li><a href="#myModal" data-toggle="modal">Add a Member</a></li> 
            <li><a href="memberlist.php">Member List</a></li> 
            <li><a href="event.php">Create Event</a></li> 
           </ul> 
         </li> 

         <li> <a href="http://hellotomasino.weebly.com/">AT Website</a></li> 

         <li><a href="http://osa.ust.edu.ph/" target="_blank">Office for Student Affairs</a></li> 
         <form class="navbar-form navbar-right" role="form" name="form1" method="post" action="logout.php"> 

         <button type="submit" class="btn btn-danger" name = "logout" >Log out</button> 
         </form> 




       </div><!--/.navbar-collapse --> 
      </div> 
     </div> 

     <!-- Main jumbotron for a primary marketing message or call to action --> 
     <div class="jumbotron"> 
      <div class="container text-center"> 
       <h2>Events List Page</h2> 
       <p>See all the events you have created.</p> 

      </div> 
     </div> 


      <!-- Marketing messaging and featurettes 
    ================================================== --> 
    <!-- Wrap the rest of the page in another container to center all the content. --> 


      <div class="container marketing"> 
      <!-- Three columns of text below the carousel --> 

      <div class="row text-center"> 
       <div class="col-lg-4"> 
        <p> 
         <?php 
          $query = "SELECT * FROM ImageTable WHERE ImageId = :id"; 
          $query_params = array(':id' => 1);   
          $stmt = $db->prepare($query); 
          $result = $stmt->execute($query_params); 
          $row = $stmt->fetch(); 
          $img = $row['ImageFile']; 
          echo '<img height="200" width="200" src="data:image/jpeg;base64,'.base64_encode($img).'"/>'; 
         ?> 
        </p> 
       </div> 

      <div class="row text-center"> 
       <div class="col-lg-4"> 
        <p> 
         <?php 
          $query = "SELECT * FROM ImageTable WHERE ImageId = :id"; 
          $query_params = array(':id' => 2);   
          $stmt = $db->prepare($query); 
          $result = $stmt->execute($query_params); 
          $row = $stmt->fetch(); 
          $img = $row['ImageFile']; 
          echo '<img height="200" width="200" src="data:image/jpeg;base64,'.base64_encode($img).'"/>'; 
         ?> 
        </p> 
       </div> 


      <div class="row text-center"> 
       <div class="col-lg-4"> 
        <p> 
         <?php 
          $query = "SELECT * FROM ImageTable WHERE ImageId = :id"; 
          $query_params = array(':id' => 3);   
          $stmt = $db->prepare($query); 
          $result = $stmt->execute($query_params); 
          $row = $stmt->fetch(); 
          $img = $row['ImageFile']; 
          echo '<img height="200" width="200" src="data:image/jpeg;base64,'.base64_encode($img).'"/>'; 
         ?> 
        </p> 
       </div> 

      </div> 


     </div> <!-- /container --> 


     <!-- Bootstrap core JavaScript 
     ================================================== --> 
     <!-- Placed at the end of the document so the pages load faster --> 
     <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script> 
     <script src="../../dist/js/bootstrap.min.js"></script> 
     <script src="../../assets/js/docs.min.js"></script> 
     <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script> 
     <script src="https://netdna.bootstrapcdn.com/bootstrap/3.1.1/js/bootstrap.min.js"></script> 
     <link rel="stylesheet" type="text/css" href="//netdna.bootstrapcdn.com/bootstrap/3.1.1/css/bootstrap.min.css"> 

    </body> 
</html> 

вот мой выход до сих пор: enter image description here

+0

Значит, вам нужно нажать кнопку, чтобы удалить изображение из БД? – housamz

+0

ДА сэр. это будет мой первый шаг. У меня есть больше продуктов, которые нужно добавить после этой кнопки удаления. –

+0

кто-нибудь? пожалуйста? :( –

ответ

0

поясню здесь очень простую технику для вас:

  1. Вам нужно создать отдельную страницу, которая может принять идентификатор записи из базы данных, а затем он может сделать запрос MYSQL для удаления этого идентификатора из базы данных, предположим, что этот файл называется «process.php»
  2. Вам необходимо добавить связь с HREF для каждого изображения, как показано ниже:

    HREF = «process.php ID =: идентификатор»

Кстати, я действительно нахожу это замечательно, что вы учитесь кода, хотя ваш код требует много хороших практик, но это происходит со временем, продолжайте катиться :)

+0

как ответ на этой странице? -> http://stackoverflow.com/questions/11914286/performing-different-actions-on-dynamically-generated-buttons-php –

+0

эй спасибо, кстати, за помощь и комплимент :) Я думаю, что могу сделать процесс удаления, но все равно хочу, чтобы изображения были выровнены в 3 столбца. –

+0

geez. im действительно застрял. Я не знаю, как выводить все изображения. foreach или while, я не могу их реализовать / –

0

Мне как-то удалось отобразить все изображения с помощью MANUAL, выводящего lol. Я думаю, что это руководство. Я подсчитал количество строк в таблице изображений. Используйте этот счет для моего цикла while.

Теперь мне просто нужна кнопка, которая, я считаю, станет для меня следующей большой проблемой. ха-ха.

<?php 
    include 'img2db_pdo.class.php'; 
    require("common.php"); 

    if(empty($_SESSION['user'])) 
    { 
     header("Location: http://localhost/se/index.php"); 
     die("Redirecting to login.php"); 
    } 
    else 
    { 
     //This following codes are for checking the session in DB 
     $query = " 
      SELECT 
       id, 
       password, 
       emailAddress, 
       membership 
      FROM memberlist 
      WHERE 
       session = :var_val 
     "; 
     $query_params = array(
      ':var_val' => 'True' 
     );  

     try 
     { 

      $stmt = $db->prepare($query); 
      $result = $stmt->execute($query_params); 

     } 
     catch(PDOException $ex) 
     { 
      die("Failed to run query: " . $ex->getMessage()); 
     } 
     $row = $stmt->fetch(); 



     if ($row['membership'] == 'Officer' || $row['membership'] == 'Member') 
     { 
      header("Location: http://localhost/memberdir/index.php"); 
     } 

    }  
?> 
<!doctype html> 
<html lang="en"> 
    <head> 
     <meta charset = "UTF-8"> 
     <meta name="viewport" content="width=device-width, initial-scale=1"> 
     <title>Annyeong Tomasino</title> 
     <link rel="stylesheet" href="css/bootstrap.min.css"> 
     <link href="custom.css" rel="stylesheet"> 
     <link href="jumbotron.css" rel="stylesheet"> 
     <link href="carousel.css" rel="stylesheet"> 
     <link rel="stylesheet" href="css/pikaday.css"> 
    </head> 

    <body> 
    <style> 
     th.padding { 
     padding-right: 300px; 
     padding-left: 300px; 
     } 
     td.padding { 
     padding-right: 300px; 
     padding-left: 300px; 
     } 
    </style> 
    <?php 
    if (isset($_GET['message'])){ 
    $message2 = $_SESSION[$_GET['message']]; 
    echo "<script type='text/javascript'>alert(message2);</script>"; 
    } 
    ?> 
     <div class="navbar navbar-inverse navbar-fixed-top" role="navigation"> 
      <div class="container"> 
      <div class="menubar"> 
       <div class="navbar-header"> 
        <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse"> 
         <span class="sr-only">Toggle navigation</span> 
         <span class="icon-bar"></span> 
         <span class="icon-bar"></span> 
         <span class="icon-bar"></span> 
        </button> 
        <a class="navbar-brand" href="#"><font color="#ffffff">Annyeong Tomasino</font></a> 
       </div> 
       </div> 

       <div class="navbar-collapse collapse"> 
        <ul class="nav navbar-nav"> 
         <li class="active"><a href="index.php">Home</a></li> 
         <li class="dropdown"> 
          <a href="#" class="dropdown-toggle" data-toggle="dropdown">Admin<b class="caret"></b></a> 
           <ul class="dropdown-menu"> 
            <li><a href="#myModal" data-toggle="modal">Add a Member</a></li> 
            <li><a href="memberlist.php">Member List</a></li> 
            <li><a href="event.php">Create Event</a></li> 
           </ul> 
         </li> 

         <li> <a href="http://hellotomasino.weebly.com/">AT Website</a></li> 

         <li><a href="http://osa.ust.edu.ph/" target="_blank">Office for Student Affairs</a></li> 
         <form class="navbar-form navbar-right" role="form" name="form1" method="post" action="logout.php"> 

         <button type="submit" class="btn btn-danger" name = "logout" >Log out</button> 
         </form> 




       </div><!--/.navbar-collapse --> 
      </div> 
     </div> 

     <!-- Main jumbotron for a primary marketing message or call to action --> 
     <div class="jumbotron"> 
      <div class="container text-center"> 
       <h2>Events List Page</h2> 
       <p>See all the events you have created.</p> 

      </div> 
     </div> 


      <!-- Marketing messaging and featurettes 
    ================================================== --> 
    <!-- Wrap the rest of the page in another container to center all the content. --> 


      <div class="container marketing"> 
      <!-- Three columns of text below the carousel --> 
      <!-- LALALA 
      <div class="row text-center"> 
       <div class="col-lg-4"> 
        <p> 
         <?php 
          $query = "SELECT * FROM ImageTable WHERE ImageId = :id"; 
          $query_params = array(':id' => 1);   
          $stmt = $db->prepare($query); 
          $result = $stmt->execute($query_params); 
          $row = $stmt->fetch(); 
          $img = $row['ImageFile']; 
          echo '<img height="200" width="200" src="data:image/jpeg;base64,'.base64_encode($img).'"/>'; 
         ?> 
        </p> 
       </div> 


      </div> 

      --> 
      <?php 
       $query = "select count(ImageId) as count from ImageTable"; 
       $query_params = array();   
       $stmt = $db->prepare($query); 
       $result = $stmt->execute($query_params); 
       $row = $stmt->fetch();    
       $numOfRows = $row['count']; 
       //echo $row['count']; 

       $space = 0; 
       $inc = 0; 
      ?> 
     <center> 
      <?php 
       while($numOfRows != 0) 
       { 
        if ($space == 4) 
        { 
         $space = 0; 
         echo '<br><br><br><br><br><br><br><br>'; 
        } 
        $inc++; 
        $query = "SELECT * FROM ImageTable WHERE ImageId = :id"; 
        $query_params = array('id' => $inc);   
        $stmt = $db->prepare($query); 
        $result = $stmt->execute($query_params); 
        $row = $stmt->fetch(); 
        $img = $row['ImageFile']; 
        echo '&nbsp&nbsp&nbsp'.'<img height="200" width="200" src="data:image/jpeg;base64,'.base64_encode($img).'"/>'.'&nbsp&nbsp&nbsp'; 
        $space++; 
        $numOfRows--; 
       } 
      ?> 
     </center> 

     </div> <!-- /container --> 


     <!-- Bootstrap core JavaScript 
     ================================================== --> 
     <!-- Placed at the end of the document so the pages load faster --> 
     <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script> 
     <script src="../../dist/js/bootstrap.min.js"></script> 
     <script src="../../assets/js/docs.min.js"></script> 
     <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script> 
     <script src="https://netdna.bootstrapcdn.com/bootstrap/3.1.1/js/bootstrap.min.js"></script> 
     <link rel="stylesheet" type="text/css" href="//netdna.bootstrapcdn.com/bootstrap/3.1.1/css/bootstrap.min.css"> 

    </body> 
</html> 
0

Вы должны иметь кнопку, которая перенаправляет в файл РНР, который удаляет конкретный идентификатор из базы данных ...

<button href="delete.php?id=imageid"></button> 

И ваша страница delete.php должна быть как

<?php 

//Execute the Query 
$query = "DELETE FROM table WHERE id = '".$_GET['id']."' "; 
$stmt = $db->prepare($query); 
$result = $stmt->execute(); 

//Go back to the original page 
@header('Location : home.php'); 
Смежные вопросы