Also kurzer Tippp wie man das angehen könnte bzw wie du dein dokument aufbauen solltest..
Ich bin hier mal von ner neuen PHP Version ausgegangen, ansonnsten musst du die Array schreibweise von meiner Kurzschreibweise noch auf 'normal' ändern.
Da du PDO noch nie gesehen hast und ich im Krankenhaus unheimlich langeweile habe bekommst du sogar mal fertigen code .. dann tut sich der einstieg leicher mit PDO
<?php
//hier holst du deine daten aus der datenbank und speicherst das Ergebniss von pdo fetch object
$CFG['db']['dsn'] = 'mysql:dbname=DATABSE;host=localhost';//hier könnte man auch einen port usw eintragen
$CFG['db']['username'] = 'USER';
$CFG['db']['password'] = 'PASSWORD';
$CFG['db']['options'] = [
PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES 'utf8'"
];
//CONNECTION
try {
$DB = new PDO($CFG['db']['dsn'], $CFG['db']['username'], $CFG['db']['password'], $CFG['db']['options']);
}
catch(PDOException $e) {
exit('Could not connect to the database:<br/>' . $e);
}
//DATA
$lm_search = trim($_GET['q']);//hier eben das, womnit du $anfrage befüllt hast
$lo_stmt = $DB->prepare('SELECT * FROM `tablename` WHERE CONCAT(one, two, three) Like :search ORDER BY `id`;');
if(!$lo_stmt->execute([//niemals varibalen in das SQL, immer über die Platzhaltermethode
':search' => $lm_search
])){
exit('Error with your SQL or someting while retriving data');
}
else{
$la_data = [];
$la_data_ids = [];//wenn du an einer stelle nur alle ID's ausgeben willst (kannst du für alle Spalten so machen wenn du die Werte aller Zilen an einer stelle brauchst (ist minimal schneller als immer das komplette array durchzukauen -> implode() benutzen))
$la_data_names = [];
while($lo_row = $stmt->fetch(PDO::FETCH_OBJ)) {
//ich gehe davon aus das es eine Spalte `id` gibt (das nach dem -> ist der spaltenname)
//ansonnsten einfach so schreiben $la_data[] = $lo_row; (unten dann auch)
$la_data[$lo_row->id] = $lo_row;//ad this row to data
$la_data_ids[$lo_row->id] = $lo_row->id;
$la_data_names[$lo_row->id] = $lo_row->name;//gleiches spielchen wie bei der id
}
//just for the test
echo '<pre>'. print_r($la_data, TRUE) .'</pre>';
}
//other code right here
?>
<!DOCTYPE html>
<html>
<head>
<title>Meine geglidererte Ausgabe</title>
<meta charset="utf-8">
<style>
*{
margin: 0;
padding: 0;
box-sizing: border-box;
}
body{
font-family: sans-serif;
background-color: rgb(220,220,220);
color: rgb(0,0,0);
}
/* Row Framework */
.Row{
width: 50%;
}
.Row:after{
float: none;
}
.Row > *{
float: left;
margin-left: 2%;
}
.Row > *:first-child{
margin-left: 0;
}
.Row .Column-100{ width: 100% }
.Row .Column-50{ width: 49% }
</style>
</head>
<body>
<div class="Row">
<div id="Complete" class="Column-100">
<table>
<tr>
<th>ID</th>
<th>Name</th>
<th>Irgandwas</th>
</tr>
<?php
foreach ($la_data as $li_row_id => $lo_row) {
echo '<tr>';
echo '<td>'. $lo_row->id .'</td>'.
'<td>'. $lo_row->name .'</td>'.
'<td>'. $lo_row->something .'</td>';
echo '</tr>';
}
?>
</table>
</div>
</div>
<div class="Row">
<div id="IdList" class="Column-50">
<?php
echo implode('<br>', $la_data_ids);
?>
</div>
<div id="NameList" class="Column-50">
<?php
echo implode('<br>', $la_data_names);
?>
</div>
</div>
</body>
</html>
Alles anzeigen