2017-06-23 3 views
0

Also ich versuche herauszufinden, wie die Daten in der Tabelle von einem Array angezeigt werden, die ich von der vorherigen Seite bekomme. Unten wird der Code verwendet, um den barang_id-Wert zu erhalten, der Code unten funktioniert gut, ich benutze es, um "barang_id" anzuzeigen, die ich von der vorherigen Seite bekomme;Array-Wert von der vorherigen Seite holen und in einer Tabelle anzeigen

<?php 
if(isset($_POST['barang_id'])){ 
    if (is_array($_POST['barang_id'])) { 
    foreach($_POST['barang_id'] as $value){ 
     echo $value . " "; 
    } 
    } else { 
    $value = $_POST['barang_id']; 
    echo $value; 
    } 
} 

?> 

unten ist der Screenshot, wo es zwei Werte von barang_id sind die 15 und 16 ist,

enter image description here

meine Frage ist, wie zu tun ist, ich select-Anweisung ausführen es dann in Bezug auf Tabelle anzeigen zu der ID, die ich abgerufen habe, unten ist der Code, den ich ausprobiert habe, es funktioniert nicht, also bin ich fest. Ich habe versucht zu googeln, aber mein Verständnis ist zu schwach, als ich nicht in der Lage bin mir selbst zu helfen.

<table class="table table-striped table-bordered"> 
    <tr> 
    <th>ID</th> 
    <th>Name</th> 
    <th>Description</th> 

    </tr> 
    <?php 
    $sql2 = "SELECT * FROM `tbl_barang` WHERE `barang_id` IN (' . implode(',', array_map('intval', $value)) . ')"; 
    $result = $mydb->query($sql2); 

    while ($detailrow = $result->fetch_array()) { 
    ?> 
    <tr> 
    <td><?php echo $detailrow['barang_id']; ?></td> 
    <td><?php echo $detailrow['name']; ?></td> 
    <td><?php echo $detailrow['description']; ?></td> 

    </tr> 
    <?php } ?> 
    </table> 

jede Hilfe wird geschätzt. Vielen Dank im Voraus

+0

Was ist der Zweck von '' 'array_map ('intval', $ value)' ''? Warum anders als bei Ihrem Beispielcode oben? –

+1

Echo die SQL-Anweisung und bearbeiten Sie Ihre Frage. –

Antwort

1

Ersetzen Sie Ihre Abfrage

$sql2 = "SELECT * FROM `tbl_barang` WHERE `barang_id` IN (' . implode(',',$value)) . ')"; 

mit dem folgenden Code

$sql2 = "SELECT barang_id, name, description FROM tbl_barang WHERE barang_id IN (" . implode(',', $_POST['barang_id']) . ")"; 

davor sicher $ _POST [ 'barang_id'] machen nicht leer sein sollte.

+0

danke für die Hilfe, hilft mir, mehr zu verstehen – abcd

+0

Das Problem, das Sie in der Verkettung und Verwendung von Zitaten gemacht haben – Mukesh

Verwandte Themen