Hejsan alla.
jag håller på med en liten php sida som ska visa filnamn som kommer in i en mapp.
filerna heter delvis samma så det jag vill är att jag vill kunna sortera/filtrera tabellen så att det bara kommer upp filnamn som börjar på tex SKI.
jag har testat att köra en massa som sägs filtrera men jag får syntax error på detta.
Det jag har testat är
SELECT * FROM databas WHERE filnamn LIKE SKI
Detta har jag testat med både ´SKI´ och ´SKI%´ vad är det jag inte fatta
Är det någon som kan få mig på rätt väg.
Tack på förhand
Min fungerade kod utan filtrering:
<html>
<head>
<title>Table</title>
<style type="text/css">
th, td{
font: 11px Verdana;
}
.r0{
background-color: #eee;
}
.r1{
background-color: #ccc;
}
th{
background-color: #555;
color: #fff;
}
</style>
</head>
<body>
<?php
// Details, details, details
$server = 'localhost';
$username = 'root';
$pass = '';
$database = 'indata';
$table_name = 'Sid_log';
// No mans land
// Connect, select DB
$db = mysql_connect($server, $username, $pass); mysql_query("use $database");
// Template
$table = "<table><thead>%s</thead><tbody>%s</tbody></table>";
$tbody = '';
$thead = '<tr>';
// Fetch a list of fields from the table
$resource = mysql_query("SHOW COLUMNS FROM `$table_name`");
// Create a CONCAT_WS query from the list of fields
// CONCAT_WS works like implode in a way, the first argument is the glue that holds the rest of the arguments together.
$concat = 'CONCAT_WS("</td><td>"';
while($details = mysql_fetch_assoc($resource))
{
$thead .= '<th>' . $details['Field'] . '</th>'; // Build the table header while we're here
$concat .= ',' . $details['Field']; // Add an argument to CONCAT_WS
}
$thead .= '</tr>'; // Close the table header
$concat .= ')'; // Close the CONCAT_WS query
// Get the results of the CONCAT_WS query
$sql = "SELECT $concat FROM `$table_name`";
$resource = mysql_query($sql);
if(! $resource){
die(mysql_error());
}
// Now it's a matter of appending the pre-formatted rows returned from the query to a string &
// then using sprintf to put that all together.
$i = 0;
while($row = mysql_fetch_row($resource))
{
$tbody .= '<tr class="r' . ($i%2) . '"><td>' . implode('', $row) . '</td></tr>';
$i++;
}
echo sprintf($table, $thead, $tbody);
// Now, if we could only get people to arrange their database columns in certain ways...
?>
</body>
</html>