2016-06-20 11 views
1

Guten Tag, ich bin auf einem einfachen Projekt zu arbeiten, so dass ich auf PHP, MySQL gewöhnen konnte, ist Hier mein CodeBild ändern nach id in mysql

PHP 
if(isset($_POST["edit"])) 
{ 
$update_data = array( 
    'crit_1'  =>  mysqli_real_escape_string($data->con, $_POST['crit_1']), 
    'crit_2'   =>  mysqli_real_escape_string($data->con, $_POST['crit_2']), 
    'crit_3'   =>  mysqli_real_escape_string($data->con, $_POST['crit_3']) , 
); 
$where_condition = array( 
    'id'  =>  $_POST["id"] 
); 
if($data->update("tbl_tabulation", $update_data, $where_condition)) 
{ 
    header("location:index.php?updated=1"); 
} 
} 
if(isset($_GET["updated"])) 
{ 
    $success_message = 'Post Updated'; 
} 
?> 

Und mein HTML:

<div id="pagewrap"> 

     <section id="content"> 
     <script type = "text/javascript"> 
       function pic1() 
       { 
        document.getElementById("img").src = "img/new.jpg"; 
       } 
       function pic2() 
       { 
        document.getElementById("img").src ="img/new2.gif"; 
       } </script> 
     <div class="table-responsive"> 
       <div class="list-group"> 

        <a href="index.php?edit=1&id=1" class="list-group-item" onclick="pic1()">cand1</a> 
        <a href="index.php?edit=1&id=20" class="list-group-item" onclick="pic2()">cand2s</a> 

       </table> 
      </div> 
     </section> 

     <section id="middle"> 
      <img src="" id="img"> 
      <img src="" id="img"> 
     </section> 

     <aside id="sidebar"> 
     <form method="post"> 
       <?php 
       if(isset($_GET["edit"])) 
       { 
        if(isset($_GET["id"])) 
        { 
        $where = array( 
         'id'  =>  $_GET["id"] 
        ); 
        $single_data = $data->select_where("tbl_tabulation", $where); 
        foreach($single_data as $post) 
        { 
       ?> 
        <label width="20%"><?php echo $post["cand_name"]; ?></label> 
        <br /> 
        <!--CRITERIA --> 
        <label>Poise & Bearing</label> 
        <input type="text" name="crit_1" value="<?php echo $post["crit_1"]; ?>" class="form-control" width="20%" /> 
        <br /> 

       <label>Modeling</label> 
       <input type="text" name="crit_2" value="<?php echo $post["crit_2"]; ?>" class="form-control" width="20%"/> 
        <br /> 
        <label>Overall Impact</label> 
        <input type="text" name="crit_3" value="<?php echo $post["crit_3"]; ?>" class="form-control" width="20%"/> 
        <br /> 
        <input type="hidden" name="id" value="<?php echo $post["id"]; ?>" /> 
        <input type="submit" name="edit" class="btn btn-info" value="Edit" /> 
       <?php 
        } 
        } 
       } 
       else 
       { 

       } 
       ?> 
       <span class="text-success"> 
       <?php 
       if(isset($success_message)) 
       { 
        echo $success_message; 
       } 
       ?> 
       </span> 
      </form> 
     </aside> 

     <footer> 
     <h4>Footer</h4> 
     <p>Footer text</p> 
     </footer> 

    </div> 

Problem ist Wenn ich auf cand1 oder cand2 klicke, wird das Bild nur für eine Sekunde angezeigt. Und die Mitte wird wieder leer sein, sobald sich die URL ändert.

Gibt es irgendwelche Arbeit dafür? jede Hilfe würde geschätzt werden.

Antwort

1

einzigartig sein, weil Sie für die sofortige Aktualisierung Code unten verwenden und umleiten Seite aktualisiert = 1, wenn Sie nicht wollen, dann umleiten verwenden ajax

if($data->update("tbl_tabulation", $update_data, $where_condition)) 
{ 
    header("location:index.php?updated=1"); 
} 
+0

Ich verstehe. Aber gibt es einen anderen Weg, um dies zu erreichen? Wie wird sich das Bild ändern, wenn es umgeleitet wird? Oder sollte ich das Bild auf mysql oder etwas ähnliches hochladen? – Joshua

2

ändern diese: -

<script type = "text/javascript"> 
       function pic1() 
       { 
        document.getElementById("img").src = "img/new.jpg"; 
       } 
       function pic2() 
       { 
        document.getElementById("img1").src ="img/new2.gif"; 
       } </script> 

<section id="middle"> 
      <img src="" id="img"> 
      <img src="" id="img1"> 
     </section> 

Die ID nicht gleich sein sollte, id sollte

+0

noch das Bild lädt nur für eine Sekunde. – Joshua

1

Sie müssen die Standardaktion der Verbindung verhindern, wenn Sie nur das Bild ändern möchten:

   <a href="javascript:void(0)" class="list-group-item" onclick="pic1()">cand1</a> 
       <a href="javascript:void(0)" class="list-group-item" onclick="pic2()">cand2s</a> 

Wenn das nicht das ist, was Sie wollen, dann müssen Sie das Bild durch index.php ändern, wenn es die Nachrichtenseite lädt. Andere Optionen sind event.preventDefault():