PHP Forum

PHP Forum (http://www.selfphp.de/forum/index.php)
-   PHP Grundlagen (http://www.selfphp.de/forum/forumdisplay.php?f=12)
-   -   MySQLi Abfrage in Spalten ausgeben (http://www.selfphp.de/forum/showthread.php?t=26039)

cokee 08.08.2017 14:19:11

MySQLi Abfrage in Spalten ausgeben
 
Hallo zusammen,

ich möchte eine Abfrage mittels MySQLi als Tabelle ausgeben.
Jedoch nicht 1:1 Zeile für Zeile sondern Spalte für Zeile.

Mein Array ist so aufgebaut:
Code:

Array
(
    [ID] => Array
        (
            [0] => 4
            [1] => 4
            [2] => 1
            [3] => 2
            [4] => 2
        )

    [Hersteller] => Array
        (
            [0] => Dell
            [1] => Dell
            [2] => Dell
            [3] => Dell
            [4] => Dell
        )

    [Bezeichnung] => Array
        (
            [0] => PowerEdge R630
            [1] => PowerEdge R630
            [2] => PowerEdge R730
            [3] => Embedded Box PC 5000
            [4] => Embedded Box PC 5000
        )
)

Mein PHP-Code bisher so:

PHP-Code:

if($_GET){
$sql "SELECT * FROM hardware_maschines WHERE Project_ID =" $_GET['projectid'] . " ORDER BY ID asc";

// SQL-Abfrage

$db_erg mysqli_query$db_link$sql );
if ( ! 
$db_erg )
{
  die(
'Ungültige Abfrage: ' mysqli_error());
}
else {
}
}
else
{
    echo 
"Kein Projekt ausgewählt !!!<br>Liste alle Server geordnet nach Projektname auf.<br>";

$sql "SELECT * FROM hardware_maschines LEFT JOIN project_list ON hardware_maschines.Project_ID = project_list.ID ORDER BY project_list.Project_Name asc";
$db_erg mysqli_query$db_link$sql );

if ( ! 
$db_erg )
{
  die(
'Ungültige Abfrage: ' mysqli_error());
}
else {}

}

////////
/* Tabelleninhalt */

$table = array();
while(
$item mysqli_fetch_assoc($db_erg)){
    foreach(
$item as $field => $value){      
        
$table[$field][] = $value;    
    }
}

// var_dump ($table);

//Ausgeben des ganzen
echo '<table>';
foreach(
$table as $field => $row){
    echo 
'<tr>';
    echo 
"<th>" $field "</th>";
    if (
$field == $Felder) {
    foreach(
$row as $value){
        echo 
"<td>" $value "</td>";
    }
    }
    
    echo 
'</tr>';
}
echo 
'</table>'

Wie kann ich die Ausgabe so gestalten das ich auswählen kann welche Elemente des Arrays ausgegeben werden wenn ich z.B. nur ID, Hersteller und Bezeichnung ausgeben möchte?

Hab den Rest bis hierher so einigermaßen mit Google und seinen Ergebnissen hinbekommen aber als ungelernter komme ich hier einfach nicht weiter.

Wäre nett wenn mir jemand einen Tip geben kann.

chorn 08.08.2017 14:55:00

AW: MySQLi Abfrage in Spalten ausgeben
 
WAAAAH!! SQL-Injection. Das Tutorial, aus dem du den Code hast, solltest du gleich wegschmiessen, wenn du nicht willst, dass dir jemand deine Datenbank löscht. Mach dich über Prepared Statements schlau.

Dein Code ist mindestens unvollständig, wenn nicht sogar ungültig - $Felder ist nicht definiert.

Du kannst spätestens da ansetzen, wo du $table definierst.

PHP-Code:

$table = [];
$columns = ['ID''Hersteller'];
while ...
if(
in_array($field$columns)){} 



Alle Zeitangaben in WEZ +2. Es ist jetzt 14:12:31 Uhr.

Powered by vBulletin® Version 3.8.3 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.