Hej, napisałam krótki kod PHP, który ma mi zwracać z bazy danych informacje o firmie - wpisuję nazwę, wysyłam POST i wyświetla mi informacje jakie dane na jej temat znajdują się w bazie. Nie wiem jak rozwiązać kwestię wyświetlania danych, jeżeli są dwie i więcej firm o tej samej nazwie.
Wrzucam fragment kodu, który zwraca mi prawidłowo jeden rezultat:
<?php
require_once 'config/obsluga_sesji.php';
include_once 'config/menu.php';
require_once 'config/settings.php';
$AKTYWNY = "index.php";
$TRESC = "";
$WYNIKNAZWA ="";
if(isset($_POST['nazwa']))
{
//połaczenie z bazą danych
$db_conn = new PDO("$DBEngine:host=$DBServer;dbname=$DBName;port=$DBPort", $DBUser, $DBPass);
$db_conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$sql = "SELECT * FROM zgody2020 WHERE nazwa = :nazwa";
$stmt = $db_conn->prepare($sql);
$stmt->bindValue(':nazwa', $_POST['nazwa']);
$result = $stmt -> execute();
if ($stmt->rowCount()==0)
{
$WYNIKNAZWA = "Brak zgody na kontakt";
$TRESC = array(); //zmienna łańcuchowa zmieniana na zmienną tablicową
$TRESC[0] = "szablony/logowanie.php";
}
else
{
$row = $stmt->fetch(PDO::FETCH_ASSOC);
if ($row['nazwa']==$_POST['nazwa']);
$WYNIKNAZWA = $row['nazwa']." Nip: ".$row['NIP']." Zgoda: ".$row['zgoda']." Mail: ".$row['mail'];
$TRESC = array(); //zmienna łańcuchowa zmieniana na zmienną tablicową
$TRESC[0] = "szablony/logowanie.php";}
}
Próbowałam stosować fetchALL i foreach, do print_r zwracają mi dwa rezultaty, ale nie wiem jak uzyskać ten efekt w zmiennej $WYNIKNAZWA. Nie znalazłam przypadku podobnego w internetach.
Kod HTML:
<div">
<h3>Szukaj po nazwie firmy:</h3>
<p>wpisz NAZWĘ dokładnie taką, jaka znajduję się w ....</p>
<form action="index.php" method="post">
<input type='text' name="nazwa" title="Nazwa" placeholder="nazwa">
<input type="submit" name="szukaj" value="Szukaj po Nazwie">
</form>
<h3><b><?=$WYNIKNAZWA?></b></h3>
</div>
Bardzo proszę o pomoc, bo jestem świeżakiem i liczę na Waszą wielką pomoc.
Fragment z bazy danych:
Baza danych: `baza23215_mailing`
CREATE TABLE `zgody2020` (
`lp` int(11) NOT NULL,
`nazwa` varchar(40) COLLATE utf8_polish_ci NOT NULL,
`NIP` varchar(12) COLLATE utf8_polish_ci NOT NULL,
`zgoda` date NOT NULL,
`mail` varchar(40) COLLATE utf8_polish_ci NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_polish_ci;
INSERT INTO `zgody2020` (`lp`, `nazwa`, `NIP`, `zgoda`, `mail`) VALUES
(1, 'Alko', '9080434569', '2020-05-21', ''),
(2, 'FirmaTest', '9080704567', '2020-05-21', 'kolok@fikcja.pl'),
(3, 'FirmaTest', '9080704647', '2020-05-21', 'krol@test.pl'),
(4, 'FirmaFikcja', '9080706099', '2020-05-21', '');