2016-03-19 4 views
1

Ich arbeite an meinem letzten Projekt und entwickle eine Web-App mit PHP, HTML und Jquery. Ich habe einige Datensätze in meiner Datenbank, zuerst zeige ich eine Zusammenfassung jedes Datensatzes in Divs auf der Hauptseite. Zweitens, wenn der Benutzer auf der Hauptseite auf die Schaltfläche Detail klickt, möchte ich Popups mit der Hauptseite als Hintergrund erstellen. Ich könnte Popups mit Javascript und Jquery erstellen, aber ich konnte die ID jedes Datensatzes nicht an die Schaltfläche Details oder Popup-divs übergeben. Hier ist ein Teil meines Code:Wie übergeben Wert von Datenbank zu Popup in PHP?

<?php $count = 0; ?> 
    <div class="container"> 
     <div class="col-md-9 join-info"> 
      <div id="timeline"> 
<?php 
$campaigns = $campaign_arr; 
for($i=0;$i<count($campaigns);$i++){ 
$aid1 = $campaigns[$i]; 
?>    <a name="camps"></a> 
       <div class="timeline-item" > 


        <div> 
         <div class="baslik"> 
           <h2> <?php echo $aid1["aid_name"]; ?> </h2> 
           <section class="fave"></section> 
          </div> 

         <div class="aid_details"> 
          <p> 
           <?php echo $aid1["aid_comment"]; ?> 
          </p> 
         </div> 
               <div class="bottom"> 
         </div> 
<?php 
$item = new Items(); 
$item->openDB(); 
$items = $item->getItemsByAidID($aid1["id"]); 
for($j=0;$j<count($items);$j++){ 
    $it = $items[$j]; 
?> 
<div class="rates"> 
          <p> <?php echo $it["item_name"]; ?> </p> 
          <div class="progress"> 
           <div class="progress-bar progress-bar-danger" style=<?php echo "width:" . $it["fill_rate"] . "%"; ?> ></div> 
          </div><p> eksik: <?php echo $it["needed"]; echo "\n"; ?> &nbsp karşılanan: <?php echo $it["provided"]; ?> </p> 
         </div> 
         <?php } $item->closeDB(); ?> 

         <div class="col-md-3 join-link"> 
          <a data-js="open" class="btn">Show Details >></a> 

         </div> 

        </div> 
       </div> 
       <?php $count++; } ?> 
      </div> 

     </div> 
    </div> 
<!-- end of embedding campaigns--> 
</main> <!-- cd-main-content --> <!-- in filter.php page --> 
      </div> 

     </div> 
</div> 
<div class="container"> 
     <div class="col-md-9 join-info"> 
      <div id="timeline"> 
<div class="popup"> 

    <div class="timeline-item"> 
    <div class="timeline-content"> 

         <div class="aid_details"> 

          <!-- I have failed this point --> 
         </div> 

<button name="close">Back</button> 
<button name="Katıl">Close!</button> 
        </div> 
       </div> 
       </div><!--popup --> 
<!----></div></div></div> 

ich jeden Datensatz in der Datenbank angezeigt wird in verschiedenen divs auf der Hauptseite und diese divs haben eine Schaltfläche Details anzeigen. Das Problem ist, dass ich den aid_id-Wert eines jeden Datensatzes nicht an popup weitergeben konnte. Gibt es jemanden, der helfen kann? Entschuldigung für mein Englisch und ich bin ein bisschen Anfänger in PHP. Es ist der Javascript-Teil Popups zu erstellen:

function popupOpenClose(popup) { 

    /* Add div inside popup for layout if one doesn't exist */ 
    if ($(".wrapper").length == 0){ 
     $(popup).wrapInner("<div class='wrapper' ></div>"); 

    } 

    /* Open popup */ 
    $(popup).show(); 


    /* Close popup if user clicks on background */ 
    $(popup).click(function(e) { 
     if (e.target == this) { 
      if ($(popup).is(':visible')) { 
       $(popup).hide(); 
      } 
     } 
    }); 

    /* Close popup and remove errors if user clicks on cancel or close buttons */ 
    $(popup).find("button[name=close]").on("click", function() { 
     if ($(".formElementError").is(':visible')) { 
      $(".formElementError").remove(); 
     } 
     $(popup).hide(); 
    }); 
} 

$(document).ready(function() { 
    $("[data-js=open]").on("click", function() { 
     popupOpenClose($(".popup")); 
    }); 
}); 
+0

Ich kann sehen, wo Sie die Kampagnendetails aussprechen, aber ich kann nicht sehen, was Sie mit dem $ it-Array machen, ist das das Bit, das Sie im Popup wollen? – Billy

+1

Nur ein Kommentar zu Ihrem PHP ... Ich würde versuchen, Ihr PHP zu gruppieren, es ist sehr verstreut. – Miles

+0

Ich habe meinen Code bearbeitet. @Miles, ich habe meinen Code gekürzt, um es verständlich zu machen. Entschuldigung, es endete auf diese Weise –

Antwort

0

Ein einfacher Weg, dies zu tun wäre, um eine versteckte div in Ihrer Anfrage gefunden für jedes Element zu erstellen und eine eindeutige ID auf der Artikel-ID basierte geben.

Ich würde dann jQuery verwenden, um jedes der versteckten divs zu öffnen, wenn auf die Schaltfläche für bestimmte Details geklickt wurde.

Beachten Sie, dass dies nur eine effektive Last wäre, wenn Sie nicht viele Artikel haben. Wenn Sie mehr als 10 oder 20 Elemente haben (nur eine Schätzung), würde ich nach einer anderen Lösung suchen, um eine große Seitenbelastung zu vermeiden.

Verwandte Themen