2017-10-03 6 views
0

ich eine Abfrage, die Daten aus der Datenbank wie folgt extrahiert:einen Hyperlink hinzufügen nur eine Spalte einer Tabelle

|17DATE00 |concat(filename, fileextension) | 
    |-----------|--------------------------------| 
    |2017-05-30 |filename00000.pdf    | 
    |2017-03-29 |filename00002.doc    | 

nun für die zweite Spalte, ich den Link des doc bestanden haben, so dass Sie kann es anklicken und herunterladen.

Dies ist die Art, wie ich

$header = array("17DATE00", "concat(filename, fileextension)"); 

echo "<thead><tr>"; 
foreach ($header as $list) { 
    echo '<th >' . $list . '</th>'; 
} 

echo "</thead></tr>"; 
foreach ($query as $key => $value) { 
    foreach ($value as $a) { 
     $url = get_template_directory_uri(); 
     echo '<td><a href="'.$url.'/folder/' . $a . '">'. htmlspecialchars($a) .' </a></td>'; 
    } 
    echo '</tr>'; 
} 

dies tun um die Daten zu extrahieren, erhalten beide Spalten mittels Hyperlink verwiesen, während ich brauche nur die zweite. Wie auch immer, um das zu beheben?

+0

können Sie die Daten in $ query zeigen. print_r ($ query) –

Antwort

0

einen Zähler Sie inneren Schleife hinzufügen:

$counter = 0; 
foreach ($value as $a) 
{ 
    $url = get_template_directory_uri(); 

    if ($counter == 1) 
    { 
     echo '<td><a href="'.$url.'/folder/' . $a . '">'. htmlspecialchars($a) .' </a></td>'; 
    } 
    else 
    { 
     echo '<td>'. htmlspecialchars($a) .'</td>'; 
    } 

    $counter++; 
} 
+0

Das funktioniert nur, wenn ich eine Zeile habe. Aber wenn ich einen zweiten hinzufüge, funktioniert es nicht – R1ddler

+0

Sie müssen den Zähler zurücksetzen, bevor Sie mit dem Generieren der nächsten Zeile beginnen: '$ counter = 0;' – arminb

+0

Durch Festlegen von '$ counter' auf' 0': '$ counter = 0; 'Dies muss jedes Mal geschehen, ** bevor ** Sie beginnen, die nächste Zeile zu generieren. Also vor der Ausgabe von ' ...'. – arminb

0

Sie den Link nur gedruckt werden soll, wenn $key == "concat(filename, fileextension)"

Verwandte Themen