назначенный $ вывод из формы поиска не распечатывается - PullRequest
0 голосов
/ 26 июня 2018

Я пытаюсь создать форму поиска, но с $output .= что-то не так, не могу понять.Я следовал учебному пособию, и функция работает, но поскольку $output не назначен правильно, он ничего не печатает или только.,

Вот код:

<?php 
 $output= "";

 if(isset($_POST['fornamn'])) {
 $searchq = $_POST['fornamn'];

 $resultat = mysqli_query($conn, "SELECT * FROM Garanti_tekniker91 WHERE fornamn      LIKE '%searchq%' OR efternamn LIKE '%$searchq%'") OR die(mysqli_error());
 $rader = mysqli_num_rows($resultat);

 if($rader == 0) {
 $output = 'Finns inga resultat för: "' . $searchq . '"';

 }
 else
 {
 while ($row = mysqli_fetch_array($resultat)) {
 $garantinummer = $row['garantinummer'];
 $fornamn = $row['fornamn'];
 $efternamn = $row['efternamn'];
 $telefon = $row['telefon'];

 $output .= '<p>'. $fornamn . '</p>';
 }
 }
 }
 else {
 header("location: ./");
}

print("$output");
mysqli_close($conn);

?>

Ответы [ 2 ]

0 голосов
/ 26 июня 2018

Этот код доступен на support.mewebbdesign.se, если вы, ребята, хотите его протестировать.

Обновленный код:

<?php $servername = "entered"; 
$username = "entered";
$password = "entered";
$dbname = "entered";
// Create connection
$conn = mysqli_connect($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
die("Kunde inte koppla upp.: " . $conn->connect_error);
}
else {
echo "Uppkopplad <br/><br/>";
}
?>
<?php 
$output= "";
if(isset($_POST['fornamn'])) {
$searchq = filter_var($_POST['fornamn'], FILTER_SANITIZE_STRING);   
$resultat = mysqli_query($conn, "SELECT * FROM Garanti_tekniker91 WHERE fornamn LIKE
'%{$searchq}%' OR efternamn LIKE '%{$searchq}%'") OR die(mysqli_error($conn));
$rader = mysqli_num_rows($resultat);
if($rader == 0) {
$output = 'Finns inga resultat för: "' . $searchq . '"';
}
else
{
while ($row = mysqli_fetch_array($resultat)) {
$garantinummer = $row['garantinummer'];
$fornamn = $row['fornamn'];
$efternamn = $row['efternamn'];
$telefon = $row['telefon'];
$output .= '<p>'. $fornamn . '</p>';
}
}
}
else {
header("location: ./");
}
print("$output");
mysqli_close($conn);
?>
0 голосов
/ 26 июня 2018

Прежде всего, вы должны подготовить вашу переменную:

$searchq = filter_var($_POST['fornamn'], FILTER_SANITIZE_STRING);   

затем, пожалуйста, используйте {...}, если вы помещаете переменные в строку в кавычках:

$resultat = mysqli_query($conn, "SELECT * FROM Garanti_tekniker91 WHERE fornamn LIKE '%{$searchq}%' OR efternamn LIKE '%{$searchq}%'") OR die(mysqli_error($conn));

икак сказал комментатор выше - вы пропустили $ в своем запросе.

...