Так что я уже некоторое время набрасываюсь на эту проблему, и я просто не могу найти пример, чтобы заставить его работать над моей собственной частью кода. Теперь я надеюсь, что у некоторых из вас есть решение для меня или, по крайней мере, указать мне в правильном направлении. Таким образом, проблема заключается в следующем:Присвоение (загрузка) ссылок на мои запрошенные результаты
Пользователь может загрузить определенные файлы и информацию в базу данных. Загрузка файлов, так что имя файла находится в той же строке базы данных, что и ее имя, местоположение и т. Д. Например, у человека есть несколько обязательных полей, таких как имя, местоположение и файл загрузки, которые вместе образуют одну строку в базе данных , Это прекрасно работает, и файлы загружаются в папку с именем: uploads/member-database (полное имя: mytestsite.nl:2222/CMD_FILE_MANAGER/domains/mytestsite.nl/public_html/Recap/wp-content/uploads/participants -база данных).
Однако проблема заключается в том, что человек также может искать данные базы данных (и извлекать их) с помощью системы поиска по меток. На основе указанных параметров флажка отображаются определенные данные (которые соответствуют выбору). Однако возникает вопрос: как я могу назначить ссылки downlaod на правильные значения базы данных? Ill сделать это немного яснее с некоторыми изображениями ниже:
Picture with the displaying/retrieving of the database information
код, который извлекает информацию базы данных выглядит следующим образом (я просто взял 1 фильтр, чтобы дать представление запроса, потому что иначе это было бы в большой кусок кода):
if(!empty($_POST['columns_location']) && !empty($_POST['columns_theme'])) { // empty() checks if the value is set before checking if it's empty.
// Runs mysql_real_escape_string() on every value encountered.
$clean_criteria_location = array_map('mysql_real_escape_string', $_REQUEST['columns_location']);
// Convert the array into a string.
$criteria_location = implode("|",$clean_criteria_location);
// Runs mysql_real_escape_string() on every value encountered.
$clean_criteria_theme = array_map('mysql_real_escape_string', $_REQUEST['columns_theme']);
// Convert the array into a string.
$criteria_theme = implode("|",$clean_criteria_theme);
$tmp = $wpdb->get_results("
SELECT
name_of_living_lab, location_of_living_lab, type_of_living_lab, theme_of_living_lab, stage_of_living_lab, living_lab_document
FROM
wp_participants_database
WHERE
location_of_living_lab REGEXP ('$criteria_location') AND theme_of_living_lab REGEXP ('$criteria_theme')
ORDER BY
name_of_living_lab ASC
");
}
код, который отображает результаты следующим образом:
echo "<table>
<tr>";
echo "<th>Name of Living Lab</th>";
echo "<th>Location of Living Lab</th>";
echo "<th>Type of Living Lab</th>";
echo "<th>Theme of Living Lab</th>";
echo "<th>Stage of Living Lab</th>";
echo "<th>Living Lab document</th>";
echo "</tr>";
if(count($tmp)>0){
for($i=0;$i<count($tmp);$i++){
echo "<tr>";
foreach($tmp[$i] as $key=>$value){
echo "<td>";
$b=unserialize($value);
if(is_array($b)){
array_filter($b);
$counttwo = 0;
foreach($b as $y){
if ($counttwo++ > 1) echo ", ";
echo $y;
}
}
else{
echo $value;
}
echo "</td>";
}
echo "</tr>";
}
}
echo '</table>';
Теперь вопрос, как же я осел закрепить правильные ссылки на запрошенные результаты? Таким образом, в примере изображения вы можете увидеть таблицу документов (которая является результатом запроса), и этот текст в ней должен быть доступен для скачивания и загружаться с помощью сохраненного документа THAT. Поэтому я думаю, что значение результата $ tmp должно быть проверено только для столбца базы данных: документы, а затем должна быть создана ссылка, которая связывает значение базы данных с правильным документом. Хотя, я совершенно не знаю, как это сделать (даже после довольно некоторых исследований).
Надеюсь, вы, ребята, можете мне помочь или можете дать мне несколько указателей! Заранее спасибо!
*** UPDATE *** Новый код дисплей (который не работает, так как он выводит тексту 2 раза) с дополнительными предложениями @dHaRa uMaraniYa:
if(count($tmp)>0){
for($i=0;$i<count($tmp);$i++){
echo "<tr>";
foreach($tmp[$i] as $key=>$value){
echo "<td>";
if($key =='DOC'){
echo '<a href="'.$value.'">'.$value.'</a>';
}
$b=unserialize($value);
if(is_array($b)){
array_filter($b);
$counttwo = 0;
foreach($b as $y){
if ($counttwo++ > 1) echo ", ";
echo $y;
}
}
else{
echo $value;
}
echo "</td>";
}
echo "</tr>";
}
}
echo '</table>';
Мое предположение: если вы var_dump ($ tmp [$ i]), вы увидите ключи и значения, вы можете добавить if с ключом $ key = 'living_lab_document' и создать a-tag? – Naruto