2016-10-15 8 views
0

Ich habe Daten, die ich in einer Tabelle anzeigen, mit Bootstrap. Für jeden von denen möchte ich ein Modal machen, auf dem Sie bestätigen würden, dass Sie eine E-Mail senden möchten.Bootstrap MYSQL PHP - Senden Modal Inhalt

Dies ist der Link würde sie klicken:

<a data-toggle="modal" data-target="#email-'.$row['id'].'">Resend Email</a> 

Die modale auf einer anderen Seite ist, und ich habe dies für die MYSQL Daten innerhalb der während inbegriffen mit:

include 'modal/modal-resend-email.php'; 

Auf diese Seite lade ich dann das Modal mit:

<div id="email-<?php echo $row['id'];?>" class="modal fade" role="dialog"> 
    <div class="modal-dialog"> 

    <!-- Modal content--> 
    <div class="modal-content"> 
     <div class="modal-header"> 
     <button type="button" class="close" data-dismiss="modal">&times;</button> 
     <h4 class="modal-title">Modal Header</h4> 
     </div> 
     <div class="modal-body"> 
     <p><?php echo $row['number_tenants']; echo $row['full_name_one'];?></p> 
     </div> 
     <div class="modal-footer"> 
     <button type="button" class="btn btn-default" data-dismiss="modal">Close</button> 
     </div> 
    </div> 

    </div> 
</div> 

Für jede der Schaltflächen, die Sie laden können Sie klicken Sie auf und Es wird ein Modal öffnen, das Problem ist, dass es nur Daten aus der ersten Zeile zeigt, mache ich etwas falsch oder gibt es einen besseren Weg dies zu tun?

Danke!

Antwort

1

Ich denke, Ihr <a data-toggle="modal" data-target="#email-'.$row['id'].'">Resend Email</a> Anker muss eine Klasse haben.

Ich würde es auf eine einfachere Weise als Sie schreiben: <a href="" class="modal-open">Resend Email</a>.

Dann müssen Sie irgendwie, übergeben Sie Ihre Daten von db, zu jedem modalen. Also werde ich den obigen Anker aktualisieren wollen, um auch die Datenbankdaten zu haben. Also würde ich benutzerdefinierte HTML-Attribute hinzufügen, um alle Daten zu speichern, die von db kommen. Ich benutze einen einfachen Fall, wenn Sie nur einen Namen aktualisieren möchten. Sie sollten dieses Beispiel also an Ihre Bedürfnisse anpassen.

<a href="" class="modal-open" data-id="<?php echo $row['id'];?>" data-name="<?php echo $row['name'];?>">Resend Email</a>.

das Vortäuschen ist Ihr modal:

<div class="modal fade" tabindex="-1" role="dialog" id="modal-update"> 
    <div class="modal-dialog" role="document"> 
     <div class="modal-content"> 
      <div class="modal-header"> 
       <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button> 
       <h4 class="modal-title">Modal title</h4> 
      </div> 
      <div class="modal-body"> 
       <form action="update.php" method="POST" id="update-form"> 
        <div class="form-group"> 
         <label for="modal-update-id">ID</label> 
         <input type="number" id="modal-update-id" class="form-control modal-update-id" disabled="disabled"> 
        </div> 
        <div class="form-group"> 
         <label for="modal-update-name">Name</label> 
         <input type="text" id="modal-update-name" class="form-control modal-update-name"> 
        </div> 
       </form> 
      </div> 
      <div class="modal-footer"> 
       <button type="button" class="btn btn-default" data-dismiss="modal">Close</button> 
       <button type="button" class="btn btn-primary" id="modal-save">Save changes</button> 
      </div> 
     </div><!-- /.modal-content --> 
    </div><!-- /.modal-dialog --> 
</div><!-- /.modal --> 

Dann würde ich Javascript legte den Job zu erledigen. Erstens, wenn der Benutzer auf einen der Resend Email Links klickt, müssen Sie die ID und den Namen in diesem bestimmten Link (über data-id und data-name Attribute) erhalten und die modalen Felder mit ihnen füllen. Also:

Ich denke, das sollte den Trick tun.