2017-04-25 2 views
1

Zuerst werde ich sagen, was ich erreichen will, und dann werde ich erklären, wie ich es versuchte. Ich habe zwei Tabellen, eine speichert Art von Schiffen mit einer Beschreibung und einer eigenen ID. Dann habe ich einen anderen Tisch, in dem der Schiffstyp als Text gespeichert wurde. Mein Ziel ist es, jedes (beide Datensätze in beiden Tabellen) mit einem Kontrollkästchen in beiden auszuwählen und in der Tabelle 2 die ID aus der Tabelle 1 zu speichern. Ich werde Daten einführen, um zu helfen. Tabelle 1
1|Balandra|Some description 2|Bergantin|Some description 3|Whatever |Whatever.....Get php Kontrollkästchen Daten aus mehreren Tabellen

Table2 Balandra Bergantin Whatever

Dann habe ich eine PHP-Seite erstellt, die beiden Tabellen mit der Checkbox zeigen die ich oben erwähnt. Checkboxen speichern die Tabelle1 Id und Table2 Vessel TypeName.

Also, ich möchte beide Tabelle Datensätze überprüfen und speichern Sie die Tabelle1 ID in der Tabelle2 IDtypeVessel Feld. Ich dachte, dass eine PHP-Datei beide Elemente speichern kann und die Update-Funktion mit den Parametern aufrufen, wie folgt aus:

<?php 
require './modelo.php'; 
$idnavio = $_GET['agruparid']; 
$vessel = $_GET['agruparvessel']; 

Irgendwelche Vorschläge, weil ich denke, ich habe eine Schaltfläche, dies zu tun Parameter einreichen, aber es muss an beiden Tabellen arbeiten, und ich weiß nicht, wie auf beide foreach Schleife gleichzeitig zugreifen. Vielen Dank im Voraus.

+0

bitte entfernen postgres tag –

+0

Fertig! Ich dachte, es könnte nützlich sein, weil ich mich mit einer PostgreSQL-Datenbank verbinde, aber eigentlich nicht nötig ist. Vielen Dank! –

Antwort

1

E. Salas

Überprüfung unten Referenzcode Multi ausgewählte Checkbox einreichen Werte für Multi ausgewählten Kontrollkästchen Vorlage Sie Operator [] nach Namen Attribute in html

index.php verwenden müssen

<form action="/checkbox.php" method="post"> 
    <strong>Cars:</strong><br> 
    <?php 
    $cars = array("Volvo", "BMW", "Toyota"); 
    $colors = array("Red", "Green", "Black"); 
    foreach($cars as $single){ 
     ?> 
     <input type="checkbox" name="cars[]" value="<?php echo $single; ?>"> 
     <?php 
    } 
    <br> 
    <strong>colors:</strong><br> 
    foreach($colors as $single){ 
     ?> 
     <input type="checkbox" name="colors[]" value="<?php echo $single; ?>"> 
     <?php 
    } 
    ?> 
    <br> 
    <input type="submit" value="Submit!"> 
</form> 

checkbox.php

<?php 
echo "<pre>"; 
var_dump($_POST); 
exit; 

In Ihrem Fall:

<form action="/checkbox.php" method="post"> 
    <div class="col-md-6"> 
     <div class="panel-body"> 
      <table class="table table-striped table-bordered table-list"> 
       <thead> 
        <tr> 
         <th><em class="fa fa-cog"></em></th> 
         <th class="hidden-xs">idtiponavio</th> 
         <th>Tipo de Navío</th> 
         <th>Descripción</th> 
         <th>Agrupar</th> 
        </tr> 
       </thead> 
       <tbody> 
       <?php foreach ($naviosdyncoop as $key => $navio) { ?> 
        <tr> 
         <td align="center"> 
          <a href=<?php echo '../vista/modificar.php?id=' . $navio['idtiponavio']; ?> class="btn btn-default"><em class="fa fa-pencil"></em></a> 
          <a href=<?php echo '../datos/borrar.php?id=' . $navio['idtiponavio']; ?> class="btn btn-default"><em class="fa fa-trash"></em></a> 
         </td> 
         <td class="hidden-xs"><?php echo $navio['idtiponavio']; ?></td> 
         <td><?php echo $navio['tiponavio']; ?></td> 
         <td><?php echo $navio['descripcion']; ?></td> 
         <td><input type="checkbox" name="agruparid[]" value=<?php echo $navio['idtiponavio']; ?> /></td> 
        </tr> 
       <?php } ?> 
       </tbody> 
      </table> 
     </div> 
    </div> 
    <div class="col-md-6"> 
     <div class="panel-body"> 
      <table class="table table-striped table-bordered table-list"> 
       <thead> 
        <tr> 
         <th><em class="fa fa-cog"></em></th> 
         <th>Tipo de Navío</th> 
         <th>Agrupar</th> 
        </tr> 
       </thead> 
       <tbody> 
       <?php foreach ($naviosforsea as $key => $navio) { ?> 
        <tr> 
         <td align="center"> 
         <a href=<?php echo $navio['typevessel']; ?> class="btn btn-default"><em class="fa fa-arrow-circle-o-left"></em></a> 
         </td> 
         <td><?php echo $navio['typevessel']; ?></td> 
         <td><input type="checkbox" name="agruparvessel[]" value=<?php echo $navio['typevessel']; ?> /></td> 
        </tr> 
       <?php } ?> 

       </tbody> 
      </table> 
     </div> 
    </div> 
    <input type="submit" value="Submit!"> 
</form> 
+0

Danke! Aber mein Problem ist, dass ich beide Tabellenkästchen speichern muss, und ich weiß nicht, wie man es für beide foreachloops macht. Weil Ihre Lösung nur für eine der Schleifen gilt, oder fehlt mir etwas? –

+0

noworries können Sie mehrere foreach-Schleife verwenden, aber stellen Sie sicher, dass Sie Array-Operation nach Name Attribut wie ** name = "Autos []" übergeben ** –

+0

Vielen Dank! @ hendendrasinh-s-rathod, ich bin ein bisschen dumm. Wie verwende ich die multiple foreach-Schleife? Weil ich separate Tabellen in meinem HTML habe, wie ich oben sagte, wie greife ich auf beide Kästchen von der Absenden-Schaltfläche zu? Weil ich beide Werte gleichzeitig brauche. Ich weiß eigentlich nicht, ob Sie bereits meine Frage beantwortet haben :( –

0

Schließlich löste ich dies mit Javascript. Einer meiner Partner hat mir geholfen, ich poste dies, um Menschen in meiner Situation zu helfen. ich ein Skript erstellt, hier ist der Code:

<script type="text/javascript"> 

function cogeNavioDyncoopnet(){ 
var checkedValueNavioD = null; 
var inputElements = document.getElementsByClassName('checknaviod'); 
for(var i=0; inputElements[i]; ++i){ 
     if(inputElements[i].checked){ 
      checkedValueNavioD = inputElements[i].value; 
      break; 
     } 
    }//return checkedValueNavioD; 
    var input_nav_dyn = document.getElementById("nav_dyn"); 
     input_nav_dyn.value = checkedValueNavioD; 
} 
function cogeNavioForSea(){ 
var checkedValueNavioFs = null; 
var inputElements = document.getElementsByClassName('checknaviofs'); 
for(var i=0; inputElements[i]; ++i){ 
     if(inputElements[i].checked){ 
      checkedValueNavioFs = inputElements[i].value; 
      break; 
     } 
    }//return checkedValueNavioFs; 
    var input_nav_fs = document.getElementById("nav_fs"); 
     input_nav_fs.value = checkedValueNavioFs; 
} 
</script> 

Dann habe ich ein Formular unten, die Werte und sendet sie an meine .php Steuerdatei speichert.

<div class="hidden-xs"> 
<form class="hidden-xs" method="POST" 
action="../datos/actualizarnavios.php"> 
    <input id="nav_dyn" type="text" name="idnaviodyncoop"> 
    <input id="nav_fs" type="text" name="navioforsea" > 
    <input id="botonasignar" type="submit" name="enviardatosdynfs"> 
</form> 
</div> 

Ich hoffe, das hilft. Danke für die Rückmeldung, wie immer.

Verwandte Themen